AnolisOS 8 網(wǎng)絡(luò)配置

一、NetworkManager介紹
1.1、Anolis8網(wǎng)絡(luò)配置的區(qū)別

在 CentOS7上同時(shí)支持network.service和NetworkManager.service。默認(rèn)情況下,這2個(gè)服務(wù)都有開啟。在Anolis8和CentOS8上,已廢棄network.service(只能手動(dòng)去安裝),默認(rèn)安裝的是NetworkManager.service,因此推薦通過(guò)NetworkManager.service進(jìn)行網(wǎng)絡(luò)配置,網(wǎng)卡配置包括設(shè)置動(dòng)態(tài)和靜態(tài)IP。

1.2、NetworkManager作用

NetworkManager是2004年Red Hat啟動(dòng)的項(xiàng)目,旨在能夠讓Linux用戶更輕松地處理現(xiàn)代網(wǎng)絡(luò)需求,尤其是無(wú)線網(wǎng)絡(luò),能自動(dòng)發(fā)現(xiàn)網(wǎng)卡并配置ip地址。類似在手機(jī)上同時(shí)開啟wifi和蜂窩網(wǎng)絡(luò),Anolis8網(wǎng)絡(luò)自動(dòng)探測(cè)可用網(wǎng)絡(luò)并連接,無(wú)需手動(dòng)切換Anolis8網(wǎng)卡。

1.3、NetworkManager支持的網(wǎng)絡(luò)

有線網(wǎng)卡、無(wú)線網(wǎng)卡
動(dòng)態(tài)ip、靜態(tài)ip
以太網(wǎng)、非以太網(wǎng)
物理網(wǎng)卡、虛擬網(wǎng)卡

1.4、NetworkManager使用方式
nmcli:命令行
nmtui:在shell終端開啟文本圖形界面
Freedesktop applet:如GNOME上自帶的網(wǎng)絡(luò)管理工具
cockpit:redhat自帶的基于web圖形界面的"駕駛艙"工具,具有dashborad和基礎(chǔ)管理功能

使用 nmcli 時(shí),NetworkManager 必須保持開啟。

NetworkManager 的相關(guān)命令:

查看運(yùn)行狀態(tài):systemctl status NetworkManager
啟動(dòng):systemctl start NetworkManager
重啟:systemctl restart NetworkManager
關(guān)閉:systemctl stop NetworkManager
查看是否開機(jī)啟動(dòng):systemctl is-enabled NetworkManager

[root@anolis8 ~]# systemctl is-enabled NetworkManager
enabled
開機(jī)啟動(dòng):systemctl enable NetworkManager
禁止開機(jī)啟動(dòng):systemctl disable NetworkManager
注意:NetworkManager 中開頭的 N 和中間的 M 必須大寫。

二、nmcli常用命令
2.1、nmcli介紹
在NetworkManager里,有2個(gè)維度:連接(connection)和設(shè)備(device),可以為一個(gè)設(shè)備配置多個(gè)連接,這里特別需要指出的是,一個(gè)設(shè)備只能有一個(gè)活躍連接,每個(gè)連接可以理解為一個(gè) ifcfg 配置文件。

2.2、顯示 NetworkManager 是否接管網(wǎng)絡(luò)設(shè)置:

[root@anolis8 ~]# nmcli networking
enabled
networking 可以簡(jiǎn)寫為 n、ne、net、netw…… 所以以上命令可以簡(jiǎn)寫為:

nmcli n

2.3、查看網(wǎng)絡(luò)連接狀態(tài):

[root@anolis ~]# nmcli n connectivity
full

網(wǎng)絡(luò)連接狀態(tài)共有五種:full、limited(連網(wǎng),但無(wú)法上網(wǎng))、portal(連網(wǎng),但需要認(rèn)證登錄后才能上網(wǎng))、none(沒連網(wǎng))和 unknown。
connectivity 可以簡(jiǎn)寫為 c,所以以上命令可簡(jiǎn)寫為:

[root@anolis ~]# nmcli n c
full

2.4、設(shè)定 NetworkManager 接管網(wǎng)絡(luò)設(shè)置:
nmcli n on
取消 NetworkManager 接管網(wǎng)絡(luò)設(shè)置:

nmcli n off
2.5、nmcli general
顯示系統(tǒng)網(wǎng)絡(luò)狀態(tài):

[root@anolis8 ~]# nmcli general status
STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN   
已連接  完全          已啟用   已啟用  已啟用   已啟用

general 可以簡(jiǎn)寫為 g、ge、gen、gene……
status 是 general 的默認(rèn)項(xiàng),可以省略不寫。所以,以上命令可簡(jiǎn)寫為:

[root@anolis8 ~]# nmcli g
STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN   
已連接    完全           已啟用   已啟用   已啟用   已啟用 
connected  full       enabled  enabled  enabled  enabled

其中:

STATE 顯示網(wǎng)絡(luò)是否連接;

CONNECTIVITY 與前面介紹的 nmcli networking connectivity 相同;

WIFI-HW 表示 WIFI 硬件開關(guān)、WIFI 表示 WIFI 軟件開關(guān);

WWAN-HW 表示 WWAN 硬件開關(guān)、WWAN 表示 WWAN 軟件開關(guān)。

HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。

2.6、顯示主機(jī)名:

[root@anolis8 ~]# nmcli g hostname
anolis8
[root@anolis8 ~]# nmcli g h
anolis8

更改主機(jī)名:

nmcli g hostname newHostName # 或
nmcli g h newHostName

newHostName是你設(shè)置的新主機(jī)名。
主機(jī)名存放在 /etc/hostname 文件中。
修改主機(jī)名后,需要重啟 NetworkManager。

2.7、顯示所有網(wǎng)絡(luò)連接的信息:

[root@anolis8 ~]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 

ens192 c296eeaa-0c9a-4621-8b32-4903e26009f9 ethernet ens192
connection 可以簡(jiǎn)寫為 c、co、con、conn……
show 是 connection 的默認(rèn)項(xiàng),可以省略不寫。所以,以上命令可簡(jiǎn)寫為:

[root@anolis8 ~]# nmcli c
NAME    UUID                                  TYPE      DEVICE 
ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192

nmcli connection show 有一個(gè) -active 參數(shù),可以只顯示當(dāng)前啟動(dòng)的連接:

nmcli c s --active # 或
nmcli c s -a # 因?yàn)?show 后面有參數(shù)項(xiàng),所以此時(shí)的 show 不能省

[root@anolis8 ~]# nmcli c s -a
NAME    UUID                                  TYPE      DEVICE 
ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192

顯示某一特定連接的詳細(xì)信息(以 ens192 為例):

[root@anolis8 ~]# nmcli c s ens192
connection.id:                          ens192
connection.uuid:                        c296eeaa-0c9a-4621-8b32-4903e26009f9
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              ens192
connection.autoconnect:                 是
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0(default)
connection.auth-retries:                -1
connection.timestamp:                   1664789124
connection.read-only:                   否

......
DHCP4.OPTION[25]:                       subnet_mask = 255.255.255.0
IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

2.8、啟動(dòng)指定連接:
[root@anolis8 ~]# nmcli c up ens192
連接已成功激活(D-Bus 活動(dòng)路徑:/org/freedesktop/NetworkManager/ActiveConnection/2)
如果 ens192 本來(lái)就出于連接狀態(tài),那此命令會(huì)重啟 ens192。

關(guān)閉指定連接:
nmcli c down ens192
關(guān)閉連接后,使用 nmcli c 命令, DEVICE 項(xiàng)將顯示為 – 。

2.9、修改連接:
nmcli c modify ens192 [ + | - ]選項(xiàng) 選項(xiàng)值 # 或
nmcli c m ens192 [ + | - ]選項(xiàng) 選項(xiàng)值
下面給出常用修改示例:

nmcli c m ens192 ipv4.address 192.168.100.83/24   # 修改 IP 地址和子網(wǎng)掩碼
nmcli c m ens192 ipv4.method manual               # 修改為靜態(tài)配置,默認(rèn)是 auto
nmcli c m ens192 ipv4.gateway 192.168.100.1        # 修改默認(rèn)網(wǎng)關(guān)
nmcli c m ens192 ipv4.dns 192.168.100.1          # 修改 DNS
nmcli c m ens192 +ipv4.dns 114.114.114.114      # 添加一個(gè) DNS
nmcli c m ens192 ipv6.method disabled           # 將 IPv6 禁用
nmcli c m ens192 connection.autoconnect yes     # 開機(jī)啟動(dòng)

注意,必須先修改 ipv4.address,然后才能修改 ipv4.method!
用空引號(hào)""代替選項(xiàng)的值,可將選項(xiàng)設(shè)回默認(rèn)值(以 ipv4.method 為例):

nmcli c m ens192 ipv4.method ""
選項(xiàng)有很多,詳細(xì)信息可以通過(guò)以下命令查看:

man 5 nm-settings-nmcli
主要可以看里面 connection setting 和 ipv4 setting 部分。

2.10、新增連接:
nmcli c add tyep 連接類型 選項(xiàng) 選項(xiàng)值 # 或
nmcli c a tyep 連接類型 選項(xiàng) 選項(xiàng)值
type 為必選項(xiàng),我們通常用到的是 802-3-ethernet(別名 ethernet)。

選項(xiàng)與前面介紹的“修改連接”中的選項(xiàng)一樣,其中重要的幾個(gè)選項(xiàng):

connection.id(別名 con-name):連接名;

connection.interface-name(別名 ifname):設(shè)備名;

connection.autoconnect(別名 autoconnect):是否開機(jī)自啟,其值只能是 yes 或 no,默認(rèn) yes。
下面給出一個(gè)示例:

nmcli c a type ethernet con-name ens36 ifname ens36
2.11、刪除指定連接:
nmcli c delete ens33 # 或
nmcli c de ens33 # delete 不可簡(jiǎn)寫為 d,否則與 down 沖突,但可以簡(jiǎn)寫為 de
2.12、重載所有連接的配置文件:
nmcli c reload # 或
nmcli c r
重載某一指定連接的配置文件:
nmcli c load ifcfg-ens192 # 或
nmcli c l ifcfg-ens192
網(wǎng)絡(luò)配置文件默認(rèn)保存在 /etc/sysconfig/network-scripts/ 路徑下,如果配置文件在其它位置,則需要填寫完整路徑。

網(wǎng)絡(luò)配置文件的命名方式就是ifcfg-連接名,例如 ens33 的配置文件名為ifcfg-ens33。

網(wǎng)絡(luò)配置文件說(shuō)明:

TYPE="Ethernet" //以太網(wǎng),還有其他的如bond,bridge
PROXY_METHOD="none"http://默認(rèn)代理方式:關(guān)閉狀態(tài)
BROWSER_ONLY="no" //默認(rèn)只是瀏覽器:否
BOOTPROTO="none" //dhcp 表示動(dòng)態(tài)獲取IP地址, static 表示表態(tài)IP,none表示不指定,就是靜態(tài)
DEFROUTE="yes" //默認(rèn)路由:是
IPV4_FAILURE_FATAL="no" //是否開啟IPV4致命錯(cuò)誤檢測(cè):否
IPV6INIT="yes" //默認(rèn)IPV6是否自動(dòng)初始化: 是
IPV6_AUTOCONF="yes" //默認(rèn)IPV6是否自動(dòng)配置:是
IPV6_DEFROUTE="yes" //默認(rèn)IPV6是否默認(rèn)路由:是
IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失敗,此接口將被禁用,否:如果配置失敗,此接口不會(huì)被禁用
IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
NAME="ens192" //名稱
UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
DEVICE="ens192" //設(shè)備名稱
ONBOOT="yes" //開啟啟動(dòng)
IPADDR="192.168.100.83" //IP
PREFIX="24" //子網(wǎng)掩碼長(zhǎng)度
GATEWAY="192.168.100.1" //網(wǎng)關(guān)
DNS1="114.114.114.114" //DNS1
DNS2="8.8.8.8" //DNS1
IPV6_PRIVACY="no" //IPV6隱私

2.13、顯示所有網(wǎng)絡(luò)接口設(shè)備的狀態(tài):

nmcli device status
device 可以簡(jiǎn)寫為 d、de、dev……
status 是 device 的默認(rèn)項(xiàng),可以省略不寫。所以,以上命令可簡(jiǎn)寫為:
[root@anolis8 ~]# nmcli d
DEVICE  TYPE      STATE   CONNECTION 
ens192  ethernet  已連接  ens192     
lo      loopback  未托管  --
[root@anolis8 ~]# nmcli device
DEVICE  TYPE      STATE   CONNECTION 
ens192  ethernet  已連接  ens192     
lo      loopback  未托管  --     

顯示所有設(shè)備的詳細(xì)信息:

nmcli d show  # 或
nmcli d sh         # show 不可簡(jiǎn)寫為 s,否則與 status 沖突,但可以簡(jiǎn)寫為 sh
[root@anolis8 ~]# nmcli d sh
GENERAL.DEVICE:                         ens192
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:5D:B2:19
GENERAL.MTU:                            1500
GENERAL.STATE:                          100(已連接)
GENERAL.CONNECTION:                     ens192
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               開
IP4.ADDRESS[1]:                         192.168.100.83/24
IP4.GATEWAY:                            192.168.100.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             192.168.100.1
IP4.DNS[2]:                             4.2.2.2
IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10(未托管)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256

2.14、顯示某一特定設(shè)備的詳細(xì)信息:

[root@anolis8 ~]# nmcli d sh ens192
GENERAL.DEVICE:                         ens192
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:5D:B2:19
GENERAL.MTU:                            1500
GENERAL.STATE:                          100(已連接)
GENERAL.CONNECTION:                     ens192
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               開
IP4.ADDRESS[1]:                         192.168.100.83/24
IP4.GATEWAY:                            192.168.100.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             192.168.100.1
IP4.DNS[2]:                             4.2.2.2
IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

2.15、連接設(shè)備:

nmcli d connect ens192  # 或
nmcli d c ens192 

如果 ens192 本來(lái)就出于連接狀態(tài),那此命令會(huì)重啟 ens192。

2.16、斷開設(shè)備:

nmcli d disconnect ens33  # 或
nmcli d d ens33  

更新設(shè)備信息:

nmcli d reapply ens33 # 或
nmcli d r ens33

只有在設(shè)備處于連接狀態(tài),才可以更新設(shè)備。
更新設(shè)備相當(dāng)于重啟連接。

2.17、Anolis8網(wǎng)絡(luò)切換連接

[root@anolis8 ~]# nmcli c up ens192

連接已成功激活(D-Bus 活動(dòng)路徑:/org/freedesktop/NetworkManager/ActiveConnection/3)
2.18、Anolis8網(wǎng)絡(luò)查看IP

[root@anolis8 ~]# nmcli
ens192: 已連接 到 ens192
        "VMware VMXNET3"
        ethernet (vmxnet3), 00:0C:29:5D:B2:19, 硬件, mtu 1500
        ip4 默認(rèn)
        inet4 192.168.100.83/24
        route4 0.0.0.0/0
        route4 192.168.100.0/24
        inet6 fe80::18b9:6600:f377:2d7b/64
        route6 fe80::/64
        route6 ff00::/8

lo: 未托管
"lo"
loopback (unknown), 00:00:00:00:00:00, 軟件, mtu 65536

DNS configuration:
servers: 192.168.100.1 4.2.2.2
interface: ens192

使用 "nmcli device show" 獲取關(guān)于已知設(shè)備的完整信息,以及
"nmcli connection show" 獲取活動(dòng)連接配置集的概述。

完整的用法細(xì)節(jié),可參考 nmcli(1) 和 nmcli-examples(7) 手冊(cè)頁(yè)。
2.19、CentOS8網(wǎng)絡(luò)啟用網(wǎng)卡ensX,例如ens160
nmcli c up ens160
2.20、Anolis8網(wǎng)絡(luò)停止connection
nmcli c down
2.21、CentOS8網(wǎng)絡(luò)刪除connection
nmcli c delete ens160
2.23、立即生效connection

nmcli c up ens160
nmcli d reapply ens160
nmcli d connect ens160

2.24、關(guān)閉網(wǎng)絡(luò)

nmcli r all off

三、常見的AnolisOS 8網(wǎng)卡配置方式
通過(guò)NetworkManager進(jìn)行AnolisOS 8網(wǎng)卡配置時(shí)候,會(huì)自動(dòng)將connection同步到ifcfg配置文件中,這里特別指出eth和ens的區(qū)別,ethX是真實(shí)物理網(wǎng)卡,ensX是虛擬網(wǎng)絡(luò)會(huì)話。

手工配置ifcfg,通過(guò)NetworkManager來(lái)生效
通過(guò)NM自帶工具配ip,比如nmcli
手工配置ifcfg,通過(guò)傳統(tǒng)network.service來(lái)生效

3.1、通過(guò)手工配置AnolisOS 8網(wǎng)卡ifcfg的方式
這里推薦使用上述第1種AnolisOS 8網(wǎng)卡配置方法,就是手工配置ifcfg,通過(guò)NetworkManager來(lái)生效,因?yàn)檫@樣既兼容了傳統(tǒng)的ifcfg配置,又能熟悉nmcli。

打開配置文件,ifcfg-開頭的,根據(jù)實(shí)際名稱修改。例如我的機(jī)器是ifcfg-ens192
vi /etc/sysconfig/network-scripts/ifcfg-ens192

配置參數(shù)示例,大家可以根據(jù)實(shí)際接入的網(wǎng)絡(luò)進(jìn)行配置AnolisOS 8網(wǎng)卡,試試吧已經(jīng)對(duì)此配置做了詳細(xì)備注。

TYPE="Ethernet" //以太網(wǎng),還有其他的如bond,bridge
PROXY_METHOD="none"http://默認(rèn)代理方式:關(guān)閉狀態(tài)
BROWSER_ONLY="no" //默認(rèn)只是瀏覽器:否
BOOTPROTO="none" //dhcp 表示動(dòng)態(tài)獲取IP地址, static 表示表態(tài)IP,none表示不指定,就是靜態(tài)
DEFROUTE="yes" //默認(rèn)路由:是
IPV4_FAILURE_FATAL="no" //是否開啟IPV4致命錯(cuò)誤檢測(cè):否
IPV6INIT="yes" //默認(rèn)IPV6是否自動(dòng)初始化: 是
IPV6_AUTOCONF="yes" //默認(rèn)IPV6是否自動(dòng)配置:是
IPV6_DEFROUTE="yes" //默認(rèn)IPV6是否默認(rèn)路由:是
IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失敗,此接口將被禁用,否:如果配置失敗,此接口不會(huì)被禁用
IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
NAME="ens192" //名稱
UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
DEVICE="ens192" //設(shè)備名稱
ONBOOT="yes" //開啟啟動(dòng)
IPADDR="192.168.100.83" //IP
PREFIX="24" //子網(wǎng)掩碼長(zhǎng)度
GATEWAY="192.168.100.1" //網(wǎng)關(guān)
DNS1="114.114.114.114" //DNS1
DNS2="8.8.8.8" //DNS1
IPV6_PRIVACY="no" //IPV6隱私

3.2、CentOS8網(wǎng)卡配置后重啟網(wǎng)絡(luò)
systemctl restart NetworkManager
3.3、檢測(cè)網(wǎng)絡(luò)狀態(tài)

ping www.baidu.com
curl www.baidu.com

四、網(wǎng)絡(luò)重啟
CentOS 8 、Red Hat 8、Anolis 8 、fedora 33/34/35 、Alibaba Cloud Linux 3操作系統(tǒng),請(qǐng)執(zhí)行以下操作:
a. 執(zhí)行以下命令,重新加載所有網(wǎng)卡配置。

 nmcli c reload

b. 執(zhí)行以下命令,激活網(wǎng)卡。

nmcli d connect eth0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容