网络配置

网卡命名

两种命名规范

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

其余的选项同上方表格。

相关推荐
挥剑决浮云 -12 分钟前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学1 小时前
CentOS 7文件系统
linux·运维·centos
哲伦贼稳妥2 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他
john_hjy2 小时前
11. 异步编程
运维·服务器·javascript
x晕x2 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器
活跃的煤矿打工人2 小时前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
tangdou3690986553 小时前
两种方案手把手教你多种服务器使用tinyproxy搭建http代理
运维·后端·自动化运维
北京智和信通3 小时前
云平台和虚拟化智慧运维监控,全面提升故障感知与处置能力
运维·虚拟化·云平台·虚拟机监控
fasewer3 小时前
第五章 linux实战-挖矿 二
linux·运维·服务器
楚灵魈4 小时前
[Linux]从零开始的网站搭建教程
linux·运维·服务器