网络配置

网卡命名

两种命名规范

biosdevname(过时)

通过读取BIOS中的信息来确定网卡的物理位置,然后借此生成设备名称。这种方式并不一定能够准确对应网卡的物理顺序。

使用需安装 yum -y install biosdevname 软件包

命名规律

eth0、eth1、eth2...

systemd(主流)

使用设备的类型、位置、数字来生成设备名称。

守护进程 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<index> | 板载设备索引号 |
| s<slot> | 热插拔插槽索引号 |
| x<MAC> | MAC 地址 |
| p<bus>s<slot>[f<function>][d<dev_id>] | PCI 地理位置 |
| p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>] | 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

network.service是系统提供的服务之一,以兼容遗留的网络功能。该服务的运行也被纳入SystemD的管理。

相关命令

service network start 和 chkconfig network on 系列命令

systemctl start network 系列命令

NetworkManager.service

它是守护进程NetworkManager提供的服务。centos7及之后版本默认的网络管理工具

相关命令

systemctl status NetworkManager.service 系列命令

两者不能同时使用

CentOS6

网卡名字

常见的 eth0、eth1、eth2...

管理方式

network.service

相关命令

启动网络服务:service network start

关闭网络服务:service network stop

查看网络服务状态:service network status

设为开机自启:chkconfig network on

取消开机自启:chkconfig network off

配置网络

修改完网卡配置文件后重启网络服务。

bash 复制代码
[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

CentOS7

网卡名字

常见的 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

配置网络

network.service方式

修改完网卡配置文件后重启网络服务。

bash 复制代码
将 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
NetworkManager方式

见下方CentOS8

CentOS8

网卡名字

常见的 ens160

管理方式

NetworkManager

相关命令

启动网络服务:systemctl start NetworkManager.service

关闭网络服务:systemctl stop NetworkManager.service

查看网络服务状态:systemctl status NetworkManager.service

设为开机自启:systemctl enable NetworkManager.service

取消开机自启:systemctl disable NetworkManager.service

配置网络

nmcli

是一个命令行工具,用于控制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地址、子网掩码、网关等网络参数的配置。

一、查看网卡信息
bash 复制代码
查看所有网络连接
[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
...
二、改变网卡状态
bash 复制代码
停用指定的网络连接
[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

bash 复制代码
[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 PREFIX=24 |
| 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 使配置生效

bash 复制代码
添加第二个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

其余的选项同上方表格。

相关推荐
Lovyk12 分钟前
Linux 正则表达式
linux·运维
Fireworkitte1 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9002 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char2 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
中科米堆3 小时前
中科米堆CASAIM自动化三维测量设备测量汽车壳体直径尺寸
运维·自动化·汽车·视觉检测
淮北也生橘123 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
缘华工业智维4 小时前
CNN 在故障诊断中的应用:原理、案例与优势
大数据·运维·cnn
开航母的李大5 小时前
软件系统运维常见问题
运维·服务器·系统架构·运维开发
华强笔记6 小时前
Linux内存管理系统性总结
linux·运维·网络
十五年专注C++开发7 小时前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建