通过读取BIOS中的信息来确定网卡的物理位置,然后借此生成设备名称。这种方式并不一定能够准确对应网卡的物理顺序。
使用需安装 yum -y install biosdevname 软件包
eth0、eth1、eth2...
使用设备的类型、位置、数字来生成设备名称。
守护进程 systemd-udevd.service ,默认开机自启
| en | 以太网(Ethernet) |
| ib | 无限带宽(InfiniBand) |
| sl | 串列线路互联网协议(slip:Serial line IP) |
| wl | 无线局域网(WLAN,Wireless local area network) |
| ww | 无线广域网(WWAN,Wireless wide area network) |
| o | 板载设备索引号 |
| s | 热插拔插槽索引号 |
| x | MAC 地址 |
| p | PCI 地理位置 |
| p | USB 端口链 |
Scheme 1(方案 1):如果从BIOS中能够取到可用的,板载网卡的索引号,则使用这个索引号命名,例如: eno1,如不能则尝试Scheme 2
Scheme 2(方案 2):如果从BIOS中能够取到可以用的,网卡所在的PCI-E热插拔插槽的索引号,则使用这个索引号命名,例如: ens1,如不能则尝试Scheme 3
Scheme 3(方案 3):如果能拿到设备所连接的物理位置信息,则使用这个信息命名,例如:enp2s0,如不能则尝试Scheme 5
Scheme 4(方案 4):使用网卡的MAC地址来命名,这个方法一般不使用。
Scheme 5(方案 5):传统的kernel命名方法,例如: eth0,这种命名方法的结果不可预知的,即可能第二块网卡对应eth0,第一块网卡对应eth1。
network.service是系统提供的服务之一,以兼容遗留的网络功能。该服务的运行也被纳入SystemD的管理。
service network start 和 chkconfig network on 系列命令
systemctl start network 系列命令
它是守护进程NetworkManager提供的服务。centos7及之后版本默认的网络管理工具
systemctl status NetworkManager.service 系列命令
常见的 eth0、eth1、eth2...
network.service
启动网络服务:service network start
关闭网络服务:service network stop
查看网络服务状态:service network status
设为开机自启:chkconfig network on
取消开机自启:chkconfig network off
修改完网卡配置文件后重启网络服务。
- [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
- DEVICE="eth0"
- HWADDR="00:0C:29:E5:8D:44"
- TYPE="Ethernet"
- UUID="8d0680d1-36ff-4a3f-ac93-5ca2b335094d"
- ONBOOT="yes"
- BOOTPROTO="static"
- IPADDR=192.168.28.163
- PREFIX=24
- GATEWAY=192.168.28.2
- DNS1=223.5.5.5
- DNS2=119.29.29.29
-
- [root@localhost ~]# service network restart
常见的 ens33
network.service 和 NetworkManager(默认) 同时存在,但不能同时启用。
系统启动时,/etc/init.d/network会读取ifcfg文件,并检测NetworkManager是否已启动该设备。如果NetworkManager已经启动该设备,则/etc/init.d/network不生效,NetworkManager.service管理网络;否则/etc/init.d/network会启动该设备,network.service管理网络。
启动网络服务:systemctl start network.service 或 systemctl start NetworkManager.service
关闭网络服务:systemctl stop network.service 或 systemctl stop NetworkManager.service
查看网络服务状态:systemctl status network.service 或 systemctl status NetworkManager.service
设为开机自启:systemctl enable network.service 或 systemctl enable NetworkManager.service
取消开机自启:systemctl disable network.service 或 systemctl disable NetworkManager.service
修改完网卡配置文件后重启网络服务。
- 将 NetworkManager 停止并取消开机自启
- [root@wenzi ~]# systemctl stop NetworkManager.service
- [root@wenzi ~]# systemctl disable NetworkManager.service
- Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
- Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
- Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
-
- 启动network.service并设置为开机自启
- [root@wenzi ~]# systemctl start network.service
- 会出现提示,应使用 chkconfig network on
- [root@wenzi ~]# systemctl enable network.service
- network.service is not a native service, redirecting to /sbin/chkconfig.
- Executing /sbin/chkconfig network on
- [root@wenzi ~]# chkconfig network on
-
- [root@wenzi ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 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
- IPV6_ADDR_GEN_MODE=stable-privacy
- NAME=ens33
- UUID="039c247d-11cc-4cee-8562-01f309f0332a"
- DEVICE=ens33
- ONBOOT=yes
- IPADDR=192.168.28.162
- PREFIX=24
- GATEWAY=192.168.28.2
- DNS1=223.5.5.5
- DNS2=119.29.29.29
-
- [root@wenzi ~]# systemctl restart network.service
见下方CentOS8
常见的 ens160
NetworkManager
启动网络服务:systemctl start NetworkManager.service
关闭网络服务:systemctl stop NetworkManager.service
查看网络服务状态:systemctl status NetworkManager.service
设为开机自启:systemctl enable NetworkManager.service
取消开机自启:systemctl disable NetworkManager.service
是一个命令行工具,用于控制NetworkManager,它是CentOS 7和Red Hat Enterprise Linux 7等系统中默认的网络管理工具。
nmcli [options] object {command | help}
object 常用的是 connection 和 device。
Device(设备)是指网络接口,是物理设备,例如网卡、无线网卡等。NetworkManager可以自动检测和配置这些设备。
Connection(连接)是逻辑设置,用于描述如何配置Device(设备)。一个Connection可以应用到多个Device上,但同一时间只能启用其中一个Connection。Connection包含了诸如IP地址、子网掩码、网关等网络参数的配置。
- 查看所有网络连接
- [root@wenzi ~]# nmcli con show
- NAME UUID TYPE DEVICE
- System ens160 96649f5b-1c86-4cea-aa1e-366223abaea8 ethernet ens160
-
- 查看活跃的网络连接
- [root@wenzi ~]# nmcli con show --active
- NAME UUID TYPE DEVICE
- System ens160 96649f5b-1c86-4cea-aa1e-366223abaea8 ethernet ens160
-
- 查看指定网络连接的详细信息
- [root@wenzi ~]# nmcli con show "System ens160"
- connection.id: System ens160
- connection.uuid: 96649f5b-1c86-4cea-aa1e-366223abaea8
- connection.stable-id: --
- connection.type: 802-3-etherne
- ...
-
- 查看所有网络设备
- [root@wenzi ~]# nmcli dev show
- GENERAL.DEVICE: ens160
- GENERAL.TYPE: ethernet
- GENERAL.HWADDR: 00:0C:29:1B:12:DA
- ...
-
- GENERAL.DEVICE: lo
- GENERAL.TYPE: loopback
- GENERAL.HWADDR: 00:00:00:00:00:00
- GENERAL.MTU: 65536
-
- 查看指定网络设备的详细信息
- [root@wenzi ~]# nmcli dev show ens160
- GENERAL.DEVICE: ens160
- GENERAL.TYPE: ethernet
- GENERAL.HWADDR: 00:0C:29:1B:12:DA
- GENERAL.MTU: 1500
- ...
- 停用指定的网络连接
- [root@wenzi ~]# nmcli con down "System ens160"
-
- 启用指定的网络连接
- [root@wenzi ~]# nmcli con up "System ens160"
-
- 删除指定的网络连接
- [root@wenzi ~]# nmcli con delete "System ens160"
-
- 停用指定网络设备
- [root@wenzi ~]# nmcli device disconnect ens160
-
- 启用指定网络设备
- [root@wenzi ~]# nmcli device connect ens160
-
- 删除指定的网络设备
- [root@wenzi ~]# nmcli device delete ens160
-
-
- 重新加载网络配置
- [root@wenzi ~]# nmcli con reload
nmcli con add ...会自动生成新的网卡配置文件,名字为ifcfg-[con-name],即下面的ifcfg-ens00
- [root@wenzi ~]# nmcli con add type ethernet con-name ens00 ifname ens00 ipv4.method manual connection.autoconnect yes ipv4.addresses 192.168.28.165/24 ipv4.gateway 192.168.28.2 ipv4.dns 223.5.5.5 +ipv4.dns 119.29.29.29
-
- [root@wenzi ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens00
- TYPE=Ethernet
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=none
- IPADDR=192.168.28.165
- PREFIX=24
- GATEWAY=192.168.28.2
- DNS1=223.5.5.5
- DNS2=119.29.29.29
- DEFROUTE=yes
- IPV4_FAILURE_FATAL=no
- IPV6INIT=yes
- IPV6_AUTOCONF=yes
- IPV6_DEFROUTE=yes
- IPV6_FAILURE_FATAL=no
- IPV6_ADDR_GEN_MODE=stable-privacy
- NAME=ens00
- UUID=e4b5bd14-e321-4a9a-a8a9-13226a209c5e
- DEVICE=ens00
- ONBOOT=yes
| type ethernet | TYPE=Ethernet |
| con-name ens00 | NAME=ens00 |
| ifname ens00 | DEVICE=ens00 |
| ipv4.method manual 或 auto | BOOTPROTO=none 或 dhcp |
| connection.autoconnect yes | ONBOOT=yes |
| ipv4.addresses 192.168.28.165/24 | IPADDR=192.168.28.165 |
| ipv4.gateway 192.168.28.2 | GATEWAY=192.168.28.2 |
| ipv4.dns 223.5.5.5 | DNS1=223.5.5.5 |
| +ipv4.dns 119.29.29.29 | DNS2=119.29.29.29 |
三、修改网卡配置文件
一、通过nmcli命令 nmcli con mod ens00 .... ,修改后需要执行 nmcli con up ens00 使配置生效。
二、手动修改ifcfg-ens00配置文件,修改后需要执行 nmcli con reload && nmcli con up ens00 使配置生效
- 添加第二个IP
- [root@wenzi ~]# nmcli con mod ens00 +ipv4.addresses 192.168.28.166/24
-
- 删除第二个IP
- [root@wenzi ~]# nmcli con mod ens00 -ipv4.addresses 192.168.28.166/24
-
- 添加第二个DNS
- [root@wenzi ~]# nmcli con mod ens00 +ipv4.dns 223.5.5.5
-
- 删除第二个DNS
- [root@wenzi ~]# nmcli con mod ens00 -ipv4.dns 223.5.5.5
其余的选项同上方表格。