RHEL8网络配置



从RHEL7开始,网络管理服务从network变成了​


​NetworkManager​


RHEL8,network已经被​


​移除​​了,只能使用​


​NetworkManager​​对网卡配置文件进行修改.


Ubuntu18.04开始支持​


​NetworkManager​​对网卡配置文件进行修改.

参考地址 https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/sec-using_the_networkmanager_command_line_tool_nmcli

查看网卡


ethool查看指定网卡信息

# ethtool 网卡名
[root@c8 ~]# ethtool eth0
Settings for eth0:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Auto-negotiation: off
Port: Other
PHYAD: 0
Transceiver: internal
Link detected: yes


通过lshw查看网卡总线

[root@c8 ~]# lshw -c net -businfo
Bus info Device Class Description
=======================================================
pci@0000:00:06.0 network Virtio network device
virtio@3 eth0 network Ethernet interface


通过nmcli查看网卡信息


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

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

# name是网卡配置文件名字,可以重复但不建议重复
# uuid是网卡UUID,UUID一定不会重复
# type一般都是ethernet,也可能会是brige和tun
# device是网卡名称


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查看网卡物理参数

[root@rhel8 ~]# nmcli device show eth0
GENERAL.DEVICE: eth0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:16:3E:05:68:6A
GENERAL.MTU: 1500
GENERAL.STATE: 100(已连接)
GENERAL.CONNECTION: System eth0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: 开
IP4.ADDRESS[1]: 192.168.1.178/24
IP4.GATEWAY: 192.168.1.253
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.1.253, mt = 100
IP4.ROUTE[2]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]: 100.100.2.136
IP4.DNS[2]: 100.100.2.138
IP6.ADDRESS[1]: fe80::216:3eff:fe05:686a/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]: dst = fe80::/64, nh = ::, mt = 256


配置网卡的4种方式


1vim修改网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens160


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

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

为什么生产服务器不安装图形界面

  • 安全问题,减少软件包数量,减少攻击面

3nmtui伪图形配置工具

了解即可

nmtui

RHEL8使用nmcli配置网络_配置文件


4nmcli

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


厂商网络扩展

路由器,交换机,防火墙等通用的网络设备

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. 配置策略


配置网络注意事项

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


nmcli命令行配置工具

nmcli命令 是 NetworkManager client 网络管理客户端。


nmcli参数详解

OPTIONS
-t[erse] # terse output 简洁的输出
-p[retty] # pretty output 漂亮的输出
-m[ode] tabular|multiline # output mode 输出模式
-f[ields] <field1,field2,...>|all|common # specify fields to output 指定要输出的字段
-e[scape] yes|no # escape columns separators in values 在值中转义列分隔符
-n[ocheck] # 不要检查nmcli和NetworkManager版本
-a[sk] # 要求缺少参数
-w[ait] <seconds> # 设置超时等待整理操作
-v[ersion] # 显示程序版本
-h[elp] # 打印此帮助

OBJECT
g[eneral] NetworkManager的一般状态和操作
n[etworking] 整体组网控制
r[adio] NetworkManager切换开关
c[onnection] NetworkManager的连接
d[evice] 由NetworkManager管理的设备
a[gent] NetworkManager秘密代理或polkit代理


nmcli示例

nmcli connection add      # 添加一个网卡配置文件
nmcli connection delete # 删除一个网卡配置文件
nmcli connection up # 启动一个网卡配置文件
nmcli connection down # 关闭一个网卡配置文件
nmcli connection show # 查看当前连接状态
nmcli connection reload # 重新加载网卡配置文件
nmcli connection show -active # 显示活动的连接
nmcli connection show "lan_eth0" # 显示指定一个网络连接配置
nmcli device status # 显示设备状态
nmcli device show eno16777736 # 显示指定接口属性
nmcli device show # 显示全部接口属性
nmcli con up static # 启用名为static连接配置
nmcli con up default # 启用default连接配置
nmcli con add help # 查看帮助

nmcli删除虚拟网卡

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

nmcli device delete 网卡名


nmcli配置网络会话

会话可以理解为网络模板,就是提前配置好网卡配置,到指定的环境时切换为对应的网卡配置

比如到了公司需要使用静态内网IP,就切换为公司会话配置;
回家后,使用dhcp获取ip,就切换为家庭会话配置。
会话功能可以根据使用场景快速切换网络配置。


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

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

# 网卡配置文件所在目录

[root@rhel8 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-eth0 ifcfg-eth1 ifcfg-eth2 ifcfg-eth3 ifcfg-eth4


nmcli配置网络关注信息

私有云一般4–8块网卡.
2块用作管理网络
2块用作traffic网络
2块用作存储网卡
2块用作高速虚拟化网卡转发(SR-IOV)

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


nmcli添加网络配置

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

con-name 配置文件名称
type 配置文件的类型
ifname 配置的网卡
其他参数非必填项

nmcli con add con-name 配置文件名  type  配置文件类型  ifname  配置的网卡


nmcli配置一个叫做company的网卡配置–static

# 给eth0配置静态ip,网关
nmcli con add con-name company ifname eth0 type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1 autoconnect no
## con-name company 表示一个会话名称叫 company
## 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 表示不自动连接

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

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


nmcli配置一个叫做home的网卡配置–dhcp

nmcli con add con-name home type ethernet ifname eth0


nmcli modfy修改网卡配置

RHEL8使用nmcli配置网络_网络配置_02

# 修改网卡配置文件
nmcli con mod 网卡配置文件名 ip4 3.3.3.23/24 gw4 3.3.3.1

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

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


nmcli查看会话

# 查看已建立的网卡会话
nmcli connection show

## 打印结果
company
home


nmcli切换会话配置

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

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


启动网卡的配置文件

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

nmcli device connect ens256


断开指定网卡连接

会取消网卡的配置文件

nmcli device disconnect ens256