RHEL8配置网卡的4种方式


1. ifcfg网卡配置文件

https://blog.csdn.net/omaidb/article/details/120028742


2. nm-connection-editor图形化配置工具

nm-connection-editor需要安装图形化才能使用.

为什么生产服务器不安装图形界面?
减少软件包数量能减少攻击面


3. nmtui伪图形配置工具

参考: https://tekintian.github.io/Linux/201801/16-centos7-nmcli.html

# 使用伪图形化配置网卡
nmtui

在这里插入图片描述

4. nmcli–本文重点讲述

RHEL8默认网络服务NetworkManager,不再需要VIM编辑网卡配置文件,默认网络配置工具是nmcli

参考:https://blog.csdn.net/ymz641/article/details/111465599


RHEL7和RHEL8的网络服务变化

RHEL7开始,网络管理服务从network变成了NetworkManager
RHEL8network服务已经被移除了,只能使用NetworkManager对网卡配置文件进行修改;
Ubuntu18.04开始支持NetworkManager对网卡配置文件进行修改.

参考地址: https://www.cnblogs.com/nulige/p/7439948.html


RHEL8使用network服务

如果RHEL8非要使用network服务,安装方法如下:
RHEL8安装旧版网络服务
在这里插入图片描述

# RHEL8安装network服务
dnf install -y network-script*

# 启用network服务
systemctl enable --now network

# 禁用NetworkManager服务
systemctl disable --now NetworkManager

NetworkManager的所有配置文件

# 查看NetworkManager的全部配置
NetworkManager --print-config

在这里插入图片描述
NetworkManager配置文件如下:

  • /etc/NetworkManager/NetworkManager.conf – 主配置文件
  • /etc/NetworkManager/conf.d – 包含配置文件的目录
  • /usr/lib/NetworkManager/conf.d – 包含配置文件的系统目录(例如:文件 /usr/lib/NetworkManager/conf.d/20-connectivity.conf )
  • /var/lib/NetworkManager/NetworkManager-intern.conf – 内部配置文件。该文件由 NetworkManager 写入和读取,其配置值与 NetworkManager.conf 中的配置合并。对此文件所做的更改将被覆盖
  • /var/lib/NetworkManager/NetworkManager.state – 包含一组状态的文件
  • /etc/NetworkManager/system-connections/存储有线无线连接的目录
  • /var/run/NetworkManager/system-connections/ – 包含某些连接类型的目录,例如:通过蓝牙调制解调器连接互联网
  • /var/lib/NetworkManager/
  • /etc/NetworkManager/dispatcher.d/
  • /etc/NetworkManager/dnsmasq.d/
  • /etc/NetworkManager/dnsmasq-shared.d/

禁用NetworkManager自动配置DNS

编辑NetworkManager配置文件

# 编辑NetworkManager配置文件
vim /etc/NetworkManager/NetworkManager.conf

[main]部分中添加以下行来禁用NetworkManager自动配置 DNS:

# 禁用NetworkManager自动配置 DNS
dns=none

重启NetworkManager 服务

# 重启NetworkManager服务
systemctl restart NetworkManager

查看/开启/关闭nmcli服务

# 显示NetworkManager状态: 
nmcli general status

在这里插入图片描述

# 显示由NetworkManager识别到设备及其状态: 
nmcli device status

# 查看nmcli状态
[rhel8 root ~]# nmcli n
enabled
 ​
# 开启nmcli
nmcli n on
​
# 关闭nmcli(谨慎执行,会断网)
## 相当于关闭Network Manager服务
## 关闭后只能去实体机上开启nmcli了
nmcli n off

使用nmcli管理网卡

如果不启动NetworkManager服务,无法使用nmcli命令
在这里插入图片描述

# 现在停止并禁用network服务开机自启
systemctl disable --now network

# 开机自启并现在启用NetworkManager服务
systemctl enable --now NetworkManager

nmcli快速配置静态ip地址

# 查看当前网卡配置文件列表
## -p, --pretty 选项在输出结果中添加标题和分段
nmcli -p c show

# 修改当前网卡配置文件“Wired connection 1”为静态配置,开机自动连接
## ipv4.method manual 指定网络为静态IP配置
## ip4 配置ipv4
## gw4 配置ipv4网关
## ipv4.dns 配置ipv4 DNS
## autoconnect yes 自动连接
nmcli c mod "Wired connection 1" ipv4.method manual ip4 172.24.10.150/24 gw4 172.24.10.100 ipv4.dns 172.24.10.254  autoconnect yes

# 激活"Wired connection 1"网卡配置
nmcli c up "Wired connection 1"

nmcli修改静态ip的脚本

网段根据自己需要修改

#!/bin/bash

# 该脚本只适用于nmcli,
# 改脚本只能实现单网卡修改ip地址


# 获取活动状态的ncmli配置名
## 有bug,如果配置名是默认的`Wired connection 1` 或者有空格会无法显示全
# CON_NAME=$(nmcli con show --active | awk 'END{print $1F}')
# 删除旧的con-name
# nmcli c delete "$CON_NAME"

# 删除statc这个配置
nmcli c delete static

# 获取活动的网卡名
## 打印输出的最后一列最后一行
IFACE=$(nmcli con show --active | awk 'END{print $NF}')

# 打印活动的网卡名
echo "网卡名是$IFACE"

# 打印设置的ip
echo  "设置为ip为:$1"


# 配置静态ip,配置名为static
# nmcli c mod "$CON_NAME" ip4 "192.168.123.$1/24"
# nmcli c add con-name "$CON_NAME" ifname "$IFACE" type ethernet ip4 "192.168.123.$1/24" gw4 192.168.123.2 ipv4.dns 192.168.123.2 ipv4.method manual autoconnect yes
nmcli c add con-name static ifname "$IFACE" type ethernet ip4 "192.168.123.$1/24" gw4 192.168.123.2 ipv4.dns 192.168.123.2 ipv4.method manual autoconnect yes

# 重新读取配置
nmcli c reload

# 关闭配置&&激活配置
nmcli c down "$CON_NAME"

# 启用static配置
nmcli c up static

# 显示IP地址
ip a show "$IFACE"

nmcli常用参数

RHEL8的默认网络服务NetworkManager,不再需要编辑网卡配置文件.
nmcli命令 是 NetworkManager client 网络管理客户端。

参考:https://blog.csdn.net/ymz641/article/details/111465599

参数简写解释
connectionc连接
shows显示
add添加
deletedel删除配置
modifymod修改
monitormon监视器
con-namename连接名;
devicedev 或 d网卡名
upon激活配置
downoff关闭配置
ifnamei网络接口名;
type一般就是ethernet;
ipv4.addressip4ip地址/24;
ipv4.gatewaygw4网关;
ipv4.dnsdns服务器;
autoconnect yesautocon yes对应配置文件中的 ONBOOT =yes,默认为yes
autoconnect noautocon no对应配置文件中的 ONBOOT =no
ipv4.method auto对应配置文件中的 BOOTPROTO=dhcp,默认为auto
ipv4.method manual对应配置文件中的 BOOTPROTO=none,表示静态IP
nmcli c show 		# 查看网卡列表和网卡uuid
nmcli con add			# 添加一个网卡配置文件
nmcli con delete			# 删除一个网卡配置文件
nmcli con down <interface> #关闭指定接口。
nmcli con up <interface> #打开指定接口。
nmcli con reload         # 重新加载网卡配置文件
nmcli con show -active   # 显示活动的连接
nmcli -p con show "lan_eth0" # 显示指定一个网络连接配置
nmcli con 				#检查设备的连接情况。
nmcli -p dev status             # 显示设备状态
nmcli -p dev show eno16777736   # 显示指定接口属性
nmcli -p dev show               # 显示全部接口属性
nmcli con up static             # 启用名为static连接配置
nmcli con up default            # 启用default连接配置 
nmcli c reload                  # 重新读取配置
nmcli con add help              # 查看帮助

# 在特定的接口上使用指定的 VLAN 号添加一个虚拟局域网(VLAN)接口、IP 地址、和网关。
nmcli c add type vlan con-name <connection-name> dev <interface> id <vlan-number> ipv4 <ip/cidr> gw4 <gateway-ip> 

nmcli查看网卡信息

查看类的命令可以添加-p参数,在输出结果中添加标题和分段.
在这里插入图片描述

nmcli查看网卡列表和网卡uuid

# 查看网卡列表
nmcli c show  #或 
nmcli con show

[root@rhel8 ~]# nmcli c show
NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0

# name是网卡配置文件名字,可以重复但不建议重复
# uuid是网卡UUID,UUID一定不会重复
# type一般都是ethernet,也可能会是brige和tun
# device是网卡名称
网卡配置文件名网卡UUID网卡类型(ethernet/brige/tun)网卡名称
NAMEUUIDTYPEDEVICE
System eth05fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03etherneteth0

nmcli查看网卡配置文件的所在路径

# 查看配置文件的所在路径
## 查看配置的指定字段
nmcli -f NAME,DEVICE,FILENAME con show

在这里插入图片描述


nmcli查看网卡状态

查看网卡的概述信息

[root@rhel8 ~]# nmcli device status
DEVICE  TYPE      STATE   CONNECTION
eth0    ethernet  已连接  System eth0
lo      loopback  未托管  --

#4列信息
# device:网卡设备名称
# type: 网卡类型
# state: 网卡状态,指的是NetworkManager服务是否接管了这块网卡 
## 如果state 状态是unmanaged,就无法使用NetworkManager管理该网卡
## 如果状态是已连接(connected),意味这该网卡正在使用某个配置文件
## 如果状态是未连接(disconnect),意味着该网卡没有使用配置文件
## 如果状态时connecting,意味着该网卡正在获取IP地址
# CONNECTTION(连接使用的配置文件),意味着该网卡正在使用这个配置文件

nmcli查看网卡物理参数

# nmcli查看网卡物理参数
nmcli d show eth0

# 更新设备信息
nmcli d reapply ens33  
# 或
nmcli d r ens33 

在这里插入图片描述

# nmcli c show 配置文件绝对路径
nmcli c show /etc/sysconfig/network-scripts/ifcfg-ens3

在这里插入图片描述


根据uuid查看网卡配置

# 查看网卡会话配置
nmcli c show

# 根据uuid查看网卡配置
nmcli c show uuid 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

在这里插入图片描述


nmcli查看会话

# 查看ens3网卡配置文件详情
nmcli c s ens3
## autoconnect: no 表示该配置重启后不会自动连接网络

在这里插入图片描述

# 查看ens3网卡配置文件详情
## -p, --pretty 选项在输出结果中添加标题和分段
nmcli -p c s "网卡配置名称"

在这里插入图片描述


重新读取配置

# 重新读取配置
nmcli c reload

nmcli配置网络会话

会话可以理解为网络模板,就是提前配置好网卡配置,到指定的环境时切换为对应的网卡配置
比如到了公司需要使用静态内网IP,就切换为公司会话配置;
回家后,使用dhcp获取ip,就切换为家庭会话配置。
会话功能可以根据使用场景快速切换网络配置。


nmcli的网卡配置文件所在目录

使用nmcli新建的非以太网配置文件在/etc/NetworkManager/system-connections目录中;

# 新建一个ip-tun连接
nmcli c add type ip-tunnel ip-tunnel.mode ipip con-name tun0 ifname tun0 remote 172.20.235.124 local 172.20.235.121

在这里插入图片描述


nmcli查看网卡配置文件的所在路径
# 查看配置文件的所在路径
## 查看配置的指定字段
nmcli -f NAME,DEVICE,FILENAME con show

在这里插入图片描述

兼容ifcfg配置文件:/etc/sysconfig/network-scripts/
配置文件都是以ifcfg开头,后面的是网卡配置文件的名字.

# nmcli网卡配置文件所在目录
ls /etc/sysconfig/network-scripts/

在这里插入图片描述

查看配置示例
在这里插入图片描述

# 连接类型为以太网
TYPE=Ethernet
# 不使用代理                  
PROXY_METHOD=none
# 不仅限于浏览器              
BROWSER_ONLY=no
# 连接方式,static为静态,dhcp为动态                
BOOTPROTO=static
# 默认路由                
DEFROUTE=yes
# IPv4 失败不致命                    
IPV4_FAILURE_FATAL=no
# 连接名称为 ens33           
NAME=ens33
# 设备名称为 ens33   
DEVICE=ens33
# 是否在开机时自动激活                    
ONBOOT=yes
# 指定系统启动时启用该网络接口的方式,这里是自动启用
STARTMODE=auto
# 是否接受NetworkManager控制
NM_CONTROLLED=yes
# 指定普通用户不能修改该网络接口的配置
USERCTL=no
# IP 地址               
IPADDR=192.168.70.2
# 子网掩码为 24,也可以将该选项替换为 NETMASK=255.255.255.0             
PREFIX=24
# 网关地址                 
GATEWAY=192.168.70.1
# 禁止从DHCP更新DNS
PEERDNS=no
# DNS地址
DNS1=114.114.114.114
DNS2=223.5.5.5

nmcli配置网络关注信息

  • ip method:DHCP/Static
  • ip地址
  • 子网掩码
  • 网关gateway
  • dns
  • 开机自启(ip autoconnect)

nmcli修改网络会话配置名称

https://blog.51cto.com/u_15060545/3366947

# 将默认的网络会话配置名修改为新的配置名
## connection.id后面跟新的配置名
nmcli c mod "Wired connection 1" connection.id enp1s0

# 重新读取配置
nmcli con reload
# 启动新配置
nmcli con up enp1s0
# 查看配置
nmcli con show

nmcli添加网络配置

nmcli con add添加网络配置时必须添加的三个参数:

  • con-name 配置文件名称
  • type 配置文件的类型
  • ifname 配置的网卡
  • 其他参数非必填项
# 添加网络配置
nmcli con add con-name 配置文件名	type 配置文件类型	ifname	配置的网卡

nmcli添加一个静态ip配置文件

# 给eth0配置静态ip,网关
## nmcli con add con-name 配置文件名 ifname 网卡名 type ethernet ip4 192.168.10.10/24 gw4 192.168.168.10.1 autoconnect no
## con-name static 表示配置文件名称叫 static
## ifname eth0 表示指定一个网络接口eth0
## type ethernet  表示网络类型是ethernet(以太网)
## ip4 192.168.10.10 表示配置IPV4 地址 192.168.10.10/24,24是子网掩码
## gw4 192.168.10.1  表示配置网关地址 192.168.10.1
## autoconnect no 表示不自动连接
nmcli con add con-name static ifname eth0 type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1  autoconnect no

# 给company网卡配置设置dns
nmcli con mod static ipv4.dns "8.8.8.8 8.8.4.4"

# 给company网卡配置增加dns
nmcli con mod static +ipv4.dns "1.1.1.1 114.114.114.114"

# 将网卡配置文件的ip获取方式修改为静态IP
nmcli c mod "Wired connection 1" ipv4.method manual 

# 启动网卡配置文件 
nmcli con up static

# 查看网卡配置
ip a show 网卡名

nmcli添加一个dhcp配置文件

# 添加dhcp网卡配置文件
nmcli con add con-name dhcp type ethernet ifname eth0

# 启动网卡配置文件 
nmcli con up dhcp

# 查看网卡配置
ip a show 网卡名

网络连接配置静态路由

# 为网络连接配置静态路由
nmcli connection modify enp3s0 +ipv4.routes "192.168.122.0/24 10.10.10.1"

nmcli modfy修改网卡配置

在这里插入图片描述

# 修改网卡配置文件
# 修改ipv4地址和ipv4网关
nmcli con mod 网卡配置文件名 ip4 3.3.3.23/24 gw4 3.3.3.1

# 启动网卡配置文件 
nmcli con up 网卡配置文件名

# 查看网卡配置
ip a show 网卡名

nmcli将网卡配置修改为开机自动连接

配置为自动连接,开机后会自动连接到网络.

# 修改nmcli网络配置为自动连接
nmcli c mod ens3 autoconnect yes

# 查看ip
ip a

nmcli切换会话配置

# 切换为dhcp配置
## 回家后,将网卡配置切换为dhcp配置,自动获取dhcp
nmcli connection up dhcp

# 切换为static配置
## 到公司后,将网卡配置切换为static配置,切换为内网静态ip
nmcli connection up static

# 根据uuid切换配置
nmcli c up uuid编号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


启动网卡的配置文件

会启动优先级最高的那个配置文件

# nmcli device connect 网卡名
nmcli dev con ens256

断开指定网卡连接

会取消网卡的配置文件

# nmcli dev disconnect 网卡名
nmcli device disconnect ens256

nmcli删除虚拟网卡

nmcli device delete可以删除虚拟网卡,但不能删除物理网卡

# 删除虚拟网卡
nmcli device delete 网卡名

使用nmcli edit配置网卡

# 使用nmcl edit配置网卡
nmcli con edit type ethernet con-name enp3s0

在这里插入图片描述


设置nmcli管理网卡

例如VMware的网卡默认是不受nmcli管理的

# 使用nmcli管理vmnet1网卡
nmcli device set vmnet1 managed yes 

# 查看网卡状态
nmcli device status

配置网络注意事项

配置网络之前先用IP命令配置临时ip,等配置通了再写配置文件.


服务器常见网卡数量

私有云一般4--8块网卡.

  • 2块用作管理网络
  • 2块用作traffic网络
  • 2块用作存储网卡
  • 2块用作高速虚拟化网卡转发(SR-IOV)

ethool查看网卡

# 查看网卡是否up
ethtool enp3s0 |grep detected

若回显为 Link detected: yes,如下所示,说明网卡状态UP,继续排查其他配置;
若回显为 Link detected: no,则有可能是网线没插好网线插错
在这里插入图片描述


ethool查看指定网卡信息

# 显示网卡当前速率和链接状态
ethtool 网卡名

在这里插入图片描述


查看网卡的固件(Fireware)版本

# 查看网卡的驱动和固件(Fireware)版本
ethtool  -i ens4

通过lshw查看网卡总线

# 查看网卡总线
lshw -c net -businfo

在这里插入图片描述


查看网桥

在这里插入图片描述

# 安装bridge-utils
yum install -y bridge-utils

# 查看网桥
brctl show

# 查看网卡桥接信息
bridge link

厂商网络扩展

路由器,交换机,防火墙等通用的网络设备
interface ge0/0/0
ip address 1.1.1.1/24


厂商网络的配置步骤

  1. 接口更改状态(二层接口, 三层接口, 接口的UP and DOwn)
  2. 配置vlan或看ip地址以及掩码
  3. 配置IGP
  4. 配置BGP
  5. zone
  6. 配置策略
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐