1.網卡命名規則
Red Hat Enterprise Linux 8 提供用於網路介面的一致性和可預測的設備命名方法。這些特性有助於查找和區分網路介面。
內核為網路介面分配名稱的方法是,使用一個固定前綴,再加上隨著內核初始化網路設備時增加的數字。例如: eth0 將代表引導時被探測的第一個設備。但是這些名稱不一定與設備外殼上的標籤對應。具有多個網路適配器的現代伺服器平台,可能會遇到這些介面的命名不明確的情況。這會影響系統中嵌入的網路適配器和附加適配器。
在 Red Hat Enterprise Linux 8 中,udev 設備管理器支持很多不同的命名方案。默認情況下,udev 根據固件、拓撲和位置信息分配固定名稱。它有以下優點:
設備名稱完全可預測。
在添加或刪除硬體時,設備名稱也會保持不變。
因此,有問題的硬體可以被無縫地替換。
1.1.網路介面設備命名等級
如果啟用了一致的設備命名(在 Red Hat Enterprise Linux 8 中是默認設置),udev設備管理器會根據以下方案生成設備名稱:
方案 | 描述 | 示例 |
1 | 設備名稱包含固件或者 BIOS 提供的索引號,用於板上的設備。如果此信息不適用,udev將使用方案 2。 | eno1 |
2 | 設備名稱包含固件或 BIOS 提供的 PCI Express(PCIe)熱插件插槽索引號。如果此信息不適用,udev 將使用方案 3。 | ens1 |
3 | 設備名稱包含硬體連接器的物理位置。如果此信息不適用,udev 將使用方案 5。 | enp2s0 |
4 | 設備名稱包含 MAC 地址。Red Hat Enterprise Linux 默認不使用這個方案,但管理員可選擇性地使用它。 | enx525400d5e0fb |
5 | 傳統的無法預計的內核命名方案。如果 udev 無法應用任何其他方案,設備管理器將使用這個方案。 | eth0 |
如果您手動配置udev規則以更改內核設備名稱,則優先使用這些規則。
默認情況下,Red Hat Enterprise Linux 根據
/usr/lib/systemd/network/99-default.link 文件中的 NamePolicy 設置選擇設備名稱。NamePolicy 中值的順序非常重要。Red Hat Enterprise Linux 使用在該文件中指定的以及 udev 生成的第一個設備名稱。
如果您手動配置 udev 規則以更改內核設備名稱,則優先使用這些規則。
1.2.網路介面名稱解釋

1.3.修改網卡命名方式為早期的規則(ethx)


2.網路配置工具概述

2.1使用 nmtui 添加連接配置


2.2NMCLI 入門





2.3使用 GNOME GUI 配置網路入門


以上內容來源於Redhat官網
3. 以下菜單欄內容為官方文檔:
3.1【nmtui入門】
3.2【nmcli入門】
3.3【使用GNOME GUI配置網路入門】
3.4【配置網路bond/team】
4.網路配置常用命令匯總
以下內容來於筆者的總結
4.1 查看系統網卡設備
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160
virbr0 bridge connected (externally) virbr0
lo loopback unmanaged --
virbr0-nic tun unmanaged --
DEVICE 網卡設備名(系統內核為網路介面分配名稱,本文中只有一個ens160的網卡設備)
TYPE 網路類型
STATE 當前的狀態
CONNECTION 網路連接名(ens160連接名對應的配置文件
/etc/sysconfig/network-scripts/ifcfg-ens160)
注意:一個網卡設備可以有多個網路連接名,但在系統里同時只一個網卡連接名被激活。
4.2 設置網卡ens160 DHCP自動獲取IP地址,並開始自啟動
[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual autoconnect yes
撥出網卡
[root@localhost ~]# nmcli device disconnect ens160
載入網卡
[root@localhost ~]# nmcli device connect ens160
4.3 給ens160 手動配置一個IP
[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses 192.168.10.2/24 ipv4.gateway 192.168.10.254 ipv4.dns 8.8.8.8 ipv4.method manual autoconnect yes
重新載入配置文件(增加或修改之後必需執行)
[root@localhost ~]# nmcli connection reload
啟動網卡
[root@localhost ~]# nmcli connection up ens160
4. 4 查看ens160網路信息
[root@localhost ~]# nmcli device show ens160|grep -i ip4
IP4.ADDRESS[1]: 192.168.10.2/24
IP4.GATEWAY: 192.168.10.254
IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100
IP4.DNS[1]: 8.8.8.8
IP4.ADDRESS[1]: 192.168.122.1/24
IP4.GATEWAY: --
IP4.ROUTE[1]: dst = 192.168.122.0/24, nh = 0.0.0.0, mt = 0
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY: --
4.5 添加一個網路配置文件ens160-new,並配置IP地址
[root@localhost network-scripts]# nmcli connection add type ethernet con-name ens160-new ifname ens160 ipv4.addresses 192.168.10.3 ipv4.gateway 192.168.10.254/24 ipv4.dns 114.114.114.114 ipv4.method manual
Connection 'ens160-new' (5825bc94-9919-4993-9abd-e4ec5ef9a4d5) successfully added.
4.5.1 查看網路連接名信息(這裡可以看到多出一個ens160-new)
[root@localhost network-scripts]# nmcli connection show
NAME UUID TYPE DEVICE
ens160 42e915da-c4bc-44ca-9d27-7cd21e2b3755 ethernet ens160
virbr0 4e4a1f37-2072-4368-ae9c-e87c0cd5cc40 bridge virbr0
ens160-new 5825bc94-9919-4993-9abd-e4ec5ef9a4d5 ethernet --
4.5.2 查看網路配置文件ens160-new是否生成
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# ls
ifcfg-ens160 ifcfg-ens160-new
4.5.3 查看網路配置文件ens160-new內容
[root@localhost network-scripts]# cat ifcfg-ens160-new
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.10.3
PREFIX=24
GATEWAY=192.168.10.254
DNS1=114.114.114.114
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=ens160-new
UUID=5825bc94-9919-4993-9abd-e4ec5ef9a4d5
DEVICE=ens160
ONBOOT=yes
4.5.4 重新載入並啟動ens160-new配置文件
[root@localhost ~]# nmcli connection reload
[root@localhost ~]# nmcli connection up ens160-new
4.5.5 查看當前活動配置文件(可以看到CONNECT這一欄里的連接名變成ens160-new)
[root@localhost ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens160 ethernet connected ens160-new
virbr0 bridge connected (externally) virbr0
lo loopback unmanaged --
virbr0-nic tun unmanaged --
4.5.6 查看設備ens160當前激活的網路信息
[root@localhost ~]# nmcli device show ens160 |grep -i ip4
IP4.ADDRESS[1]: 192.168.10.3/24
IP4.GATEWAY: 192.168.10.254
IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100
IP4.DNS[1]: 114.114.114.114
4.5.7 也可以通過連接名ens160-new查看網路信息(注意關鍵字,這裡用的是nmcli connect)
[root@localhost ~]# nmcli connection show ens160-new |grep -i ip4
IP4.ADDRESS[1]: 192.168.10.3/24
IP4.GATEWAY: 192.168.10.254
IP4.ROUTE[1]: dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100
IP4.DNS[1]: 114.114.114.114
4.6 創建網卡綁定(最常用的兩種模式 active backup 與LACP)
#1.創建team介面
#2.給team分配地址
#3.創建team的子介面(slave interface)
#4.激活team介面和team的子介面
4.6 .1 手工配置active backup
nmcli connection add type team con-name tema0 ifname team0 team.runner activebackup
ipv4.addresses 192.168.10.11/24 ipv4.method manual
nmcli con add con-name team0-port1 ifname ens160 type team-slave master team0
nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0
nmcli con up team0
nmcli con up team0-port1
nmcli con up team0-port2
查看team配置
teamdctl team0 state
setup:
runner: activebackup
ports:
ens160
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens256
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens160
4.6 .2手工配置lacp (此模式下上連交換機也要配置埠聚合)
nmcli connection add type team con-name tema1 ifname team1 team.runner lacp
192.168.10.21/24 ipv4.method man
nmcli con add con-name team1-port1 ifname ens160 type team-slave master team1
nmcli con add con-name team1-port2 ifname ens265 type team-slave master team1
nmcli con up team1-port1
nmcli con up team1-port2
nmcli con up team1
[root@localhost ~]# teamdctl team1 state
setup:
runner: lacp
ports:
ens160
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
aggregator ID: 5, Selected
selected: yes
state: current
ens265
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
aggregator ID: 5, Selected
selected: yes
state: current
runner:
active: yes
fast rate: no
注意: man nmcli-example 里的信息還沒更新, 您也可以按linux7 的方式配置。
man nmcli-examples
Example 8. Adding a bonding master and two slave connection profiles
$ nmcli con add type bond ifname mybond0 mode active-backup
$ nmcli con add type ethernet ifname eth1 master mybond0
$ nmcli con add type ethernet ifname eth2 master mybond0
This example demonstrates adding a bond master connection and two slaves. The first command adds a master bond
connection, naming the bonding interface mybond0 and using active-backup mode. The next two commands add slaves
connections, both enslaved to mybond0. The first slave will be bound to eth1 interface, the second to eth2.
Example 9. Adding a team master and two slave connection profiles
$ nmcli con add type team con-name Team1 ifname Team1 config team1-master-json.conf
$ nmcli con add type ethernet con-name Team1-slave1 ifname em1 master Team1
$ nmcli con add type ethernet con-name Team1-slave2 ifname em2 master Team1
man teamd.conf
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {
"name": "ethtool",
"delay_up": 2500,
"delay_down": 1000
},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
4.6 .3下面的語法是linux 7 的配置, linux8 也應該支持,感興趣的小夥伴可以試試
nmcli connection add type team con-name tema0 ifname team0 config '{"runner": {"name": "activebackup"}'
nmcli con add con-name team0-port1 ifname ens160 type team-slave master team0
nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0
nmcli con up team0
nmcli con up team0-port1
nmcli con up team0-port2
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/209071.html