Linux配置网络

Linux配置网络

1.Centos配置网络

bash 复制代码
[root@centos8 ~]#vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=ed245c0e-01ab-4d8e-871f-cf52ac79347f
DEVICE=ens160
ONBOOT=yes
IPADDR=10.0.0.10
GATEWAY=10.0.0.2
NETMASK=255.255.255.0
DNS1=114.114.114.114

关于网卡的配置文件,各个参数的含义如下:
TYPE:网卡类型。
PROXY_METHOD:代理方法。
BROWSER_ONLY:是否仅用于浏览器。
BOOTPROTO:网卡的 IP 地址获取方式。static 表示手动配置,而 dhcp 表示使用 DHCP 协议自动获取。
DEFROUTE:是否将此网卡设为默认路由。
IPV4_FAILURE_FATAL:IPv4 连接失败是否视为致命错误。
IPV6INIT:是否初始化 IPv6。
IPV6_AUTOCONF:是否使用自动配置获取 IPv6 地址。
IPV6_DEFROUTE:是否将此网卡设为默认 IPv6 路由。
IPV6_FAILURE_FATAL:IPv6 连接失败是否视为致命错误。
NAME:网卡名称。
UUID:网卡的唯一标识符。
DEVICE:网卡设备名称。
ONBOOT:是否在启动时启用此网卡。
IPADDR:静态 IP 地址。
GATEWAY:默认网关。
NETMASK:子网掩码。
DNS1:首选 DNS 服务器。

#重新加载配置文件
#使用nmcli查看网络连接,这个命令会显示系统中所有的网络连接,包括活动的和非活动的连接
[root@centos8 network-scripts]#nmcli connection show
NAME                UUID                                  TYPE      DEVICE
eth0                5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
Wired connection 1  bd3d361f-bd4d-3778-ad0b-2a5a957bfcc4  ethernet  eth1
[root@centos8 network-scripts]

#重新加载网卡配置文件
[root@centos8 network-scripts]#nmcli connection reload
[root@centos8 network-scripts]#nmcli connection
NAME                UUID                                  TYPE      DEVICE
eth0                5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
Wired connection 1  bd3d361f-bd4d-3778-ad0b-2a5a957bfcc4  ethernet  eth1
eth1                9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  --
[root@centos8 network-scripts]#

#激活连接
[root@centos8 network-scripts]#nmcli connection up eth1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@centos8 network-scripts]#

#使用ifdown和ifup命令
[root@centos8 ~]#ifdown ens160 
[root@centos8 ~]#ifup ens160 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

2.Ubuntu配置网络

2.1 Ubuntu 16配置网络

bash 复制代码
#Ubuntu 16.04 和 Ubuntu 18.04/20.04/22.04 在配置网络的方式上有所不同。Ubuntu 16.04 使用了一个名为 ifupdown 的传统工具,通过 /etc/network/interfaces 文件来配置网络接口。而在 Ubuntu 18.04 及更高版本中,默认使用了 Netplan 来进行网络配置。
#[root@ubuntu1604 ~]#vim /etc/network/interfaces
# /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 10.0.0.101
    netmask 255.255.255.0
    gateway 10.0.0.2
    dns-nameservers 114.114.114.114
#虽然 Ubuntu 16.04 默认使用 ifupdown,但您仍然可以手动安装并使用 Netplan。如果您希望在 Ubuntu 16.04 中使用 Netplan,您需要先安装它,然后像在 Ubuntu 18.04 及更高版本中一样使用 YAML 文件进行网络配置。

#停止eth0接口
[root@ubuntu1604 ~]#sudo ifdown eth0

#重新启动eth0接口
[root@ubuntu1604 ~]#sudo ifup eth0

#还可以通过重新启动整个网络服务来应用更改,但这可能会导致所有网络连接暂时中断。要重新启动网络服务,请执行以下命令:
[root@ubuntu1604 ~]sudo systemctl restart networking

2.2 Ubunt18、20、22配置网络

Netplan 是一个用于配置网络连接的实用工具,它是 Ubuntu 17.10 及更高版本的默认网络配置工具。Netplan 使用 YAML 描述网络配置,并使用 NetworkManager 或 Systemd-networkd 来应用这些配置。

bash 复制代码
#进入/etc/netplan目录
[root@ubuntu1804 netplan]#pwd
/etc/netplan
[root@ubuntu1804 netplan]#

#找到或创建一个后缀名以.yaml结尾的文件,如果后缀名不是.yaml结尾的不起作用,并且yaml文件中对缩进有严格要求,一般同一级别是缩进两个空格
[root@ubuntu1804 netplan]#vim eth0.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
#方法一:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false	#如果是静态的话,可以将这一行删掉
      addresses: [10.0.0.101/24,10.0.0.103/24]	#冒号后面一定要有空格,可以配多个地址
      - 10.0.0.102/24
      gateway4: 10.0.0.2
      nameservers:
      	  search: [baidu.com,xingyuyu.com] #ping www 会自动补全域名,可以通过/etc/resolv.conf查看域名
          addresses: [114.114.114.114]
    eth1:
      dhcp4: false
      addresses: [10.0.0.100/24]
      gateway4: 10.0.0.2
      routes:
      - to: 10.20.0.0/16
      	via: 10.0.0.222
  bridges: #这个是加网桥,和ethernets平级,也可以给桥接单独配置一个文件
    br0:
      dhcp4: no
      dhcp6: no
      addresses: [10.0.0.101/24]
      gateway4: 10.0.0.2
      nameservers:
        addresses: [114.114.114.114,8.8.8.8,10.0.0.2]
      interfaces:
      - eth0
      - eth1
  
#方法二:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false	#如果是静态的话,可以将这一行删掉
      addresses:
      - 10.0.0.102/24	#可以缩进也可以不缩进,横线后面要有空格
      - 10.0.0.103/24
      gateway4: 10.0.0.2
      nameservers:
          addresses: [114.114.114.114]
[root@ubuntu1804 netplan]#
#以下是配置文件中各个部分的简要解释:
#network: 这是文件的根元素,表示我们正在定义一个网络配置。
#version: 表示 YAML 文件中使用的 Netplan 版本,当前设置为 2。
#renderer: 指定应用网络配置的后端,可以是 NetworkManager 或 networkd。这里选择了 networkd 作为后端。
#ethernets: 这是一个子元素,表示我们将配置以太网接口。接下来,我们将定义一个名为 eth0 的以太网接口。
#eth0: 这是我们要配置的以太网接口的名称。
#dhcp4: 设置为 false,表示我们将使用静态 IP 地址配置而非 DHCP。
#addresses: 包含一个静态 IP 地址(10.0.0.101)和相应的子网掩码(/24)。
#gateway4: 指定默认网关的 IPv4 地址(10.0.0.2)。
#nameservers: 配置 DNS 服务器。
#addresses: 包含一个 DNS 服务器地址(114.114.114.114)。

#配置文件生效
[root@ubuntu1804 netplan]#sudo netplan apply

#查看dns,在/etc/resolv.conf文件已经无法看到了
[root@ubuntu1804 netplan]#systemd-resolve --status
Global
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 114.114.114.114	#DNS
[root@ubuntu1804 netplan]#

3.Ubuntu使用Root连接

bash 复制代码
#编辑配置文件,大约在32行附近找到 #PermitRootLogin prohibit-password在下面添加一行,改成yes
[root@ubuntu1804 netplan]$vim /etc/ssh/sshd_config
PermitRootLogin yes

#刚装好的ubuntu的root是没有密码的
#切换root用户
[root@ubuntu1804 netplan]$sudo -i
#设置root密码
[root@ubuntu1804 netplan]$passwd 或者echo "root:root" | chpasswd

#重启ssh服务
[root@ubuntu1804 netplan]$sudo systemctl restart sshd

4.Rocky Linux

bash 复制代码
# 配置网络
# Rocky Linux 改变了传统的网络配置,在/etc/sysconfig/network-scripts/下已经没有配置文件了,新的配置文件生成在了/etc/NetworkManager/system-connections/目录下,但是在之前的目录下创建配置文件也是可以的

# 使用nmcli添加新的以太网连接
[root@Rocky9 system-connections]# nmcli connection add type ethernet con-name eth0
# 修改已存在的连接设置
[root@Rocky9 system-connections]# nmcli connection modify eth0 ipv4.addresses "10.0.0.107/24" ipv4.gateway "10.0.0.2" ipv4.dns "10.0.0.2" ipv4.method manual
# 启动/停止连接
[root@Rocky9 system-connections]# nmcli connection up eth0
[root@Rocky9 system-connections]# nmcli connection down eth0
[root@Rocky9 system-connections]#

#使用 nmtui 配置网络:
运行 nmtui 命令,这将打开一个字符界面的网络配置工具,你可以使用键盘上下左右键来选择和修改网络配置。
如果你确实需要使用 /etc/sysconfig/network-scripts/ 目录并希望在那里看到 ifcfg- 文件,你可以手动创建文件,或者使用 network-scripts 包(如果可用)并禁用 NetworkManager。

Rocky linux8.5多了一个virbr0的网卡

virbr0 是由 libvirt 创建的虚拟网络桥,通常用于支持 KVM/QEMU 虚拟机。这个网络桥使得虚拟机可以与外部网络通信。当你安装并启动 libvirt 守护程序或相关的工具(如 virt-manager)时,virbr0 通常会自动创建。默认情况下,它配置为一个 NAT 模式的桥接器,这允许虚拟机与主机共享 IP 地址进行网络通信。

bash 复制代码
# 停用和删除虚拟网络:
virsh net-destroy default
virsh net-undefine default
# 上述命令首先会停用名为 default 的虚拟网络,然后从 libvirt 配置中删除它。

# 2.禁用 libvirt 守护程序:
systemctl stop libvirtd-admin.socket
systemctl stop libvirtd.socket
systemctl stop libvirtd-ro.socket
systemctl stop libvirtd
systemctl disable libvirtd

# 删除相关的软件包:
# 如果你确信你不再需要虚拟化支持,可以使用包管理器删除相关的软件包。
yum remove libvirt qemu-kvm
相关推荐
咖喱鱼蛋9 分钟前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char13 分钟前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm
肖永威18 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
tian2kong21 分钟前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
布鲁格若门25 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student30 分钟前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
网络安全-杰克30 分钟前
网络安全概论
网络·web安全·php
C-cat.32 分钟前
Linux|进程程序替换
linux·服务器·microsoft
dessler33 分钟前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
怀澈12234 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++