LINUX網絡配置---nmtui&nmcli
要使用NetworkManager的文本用戶界面工具nmtui配置接口
要使用NetworkManager的命令行工具nmcli配置接口
要手動配置網絡接口
要使用圖形用戶界面工具配置網絡
nmtui
文本用戶界面工具nmtui可用於在終端窗口中配置接口。 發出以下命令以啟動該工具:
?] $ nmtui
安裝包
yum install NetworkManager-tui
nmcli
用戶和腳本可以使用nmcli實用程序來控制NetworkManager:
對於服務器,headless machines和終端,nmcli可用於直接控制NetworkManager,無需GUI,包括創建,編輯,啟動和停止網絡連接以及查看網絡狀態。 對於腳本,nmcli支持簡潔的輸出格式,更適合腳本處理。 這是一種集成網絡配置而非手動管理網絡連接的方法。
nmcli命令的基本格式如下:
nmcli OPTIONS OBJECT {COMMAND | help }
其中OBJECT可以是以下選項之一: general, networking, radio, connection, device, agent, and monitor。 您可以在命令中使用這些選項的任何前綴。 例如:nmcli con help。
-t
此模式設計適用於計算機(腳本)處理。
-p
這導致nmcli產生人類可讀的輸出。例如,對齊值並打印標題。
-h,幫忙
打印幫助信息。
nmcli工具有一些內置的上下文相關幫助:
nmcli help
此命令列出要在後續命令中使用的可用選項和對象名稱。
此命令顯示與指定對象相關的可用操作列表。例如,
nmcli c help
NetworkManager的整體狀態:
nmcli general status
當前的NetworkManager日誌記錄狀態:
nmcli general logging
所有連接:
nmcli connection show
只有當前活動的連接,添加--active(或-a)選項,如下所示:
nmcli connection show --active
NetworkManager識別的設備及其狀態:
nmcli device status
使用nmcli啟動和停止接口
nmcli工具可用於啟動和停止任何網絡接口
nmcli con up id port0
nmcli dev disconnect bond0
nmcli dev disconnect ens3
nmcli connection down命令用於停用設備的連接,而不會阻止設備進一步自動激活。
nmcli device disconnect命令用於斷開設備連接並防止設備自動激活其他連接,無需人工幹預。
nmcli交互式連接編輯器
nmcli工具有一個交互式連接編輯器。要使用它,請輸入以下命令:
?] $ nmcli con edit
系統將提示您從顯示的列表中輸入有效的連接類型。輸入連接類型後,您將被置於nmcli提示符下。如果您熟悉連接類型,則可以向nmcli con edit命令添加有效的連接類型選項,並直接進入nmcli提示符。編輯現有連接配置文件的格式如下:
nmcli con edit [id | uuid |path] ID
要編輯新的連接配置文件,以下格式適用:
nmcli con edit [type new-connection-type] [con-name new-connection-name]
在nmcli提示符下鍵入help以查看有效命令列表。使用describe命令獲取設置及其屬性的描述。格式如下:
describe setting.property
例如:
nmcli> describe team.config
創建和修改連接配置文件
連接配置文件包含連接到數據源所需的連接屬性信息。 要為NetworkManager創建新的配置文件,請使用以下命令:
nmcli c add {ARGUMENTS}
nmcli c add接受兩種不同類型的參數:
NetworkManager用於在內部描述連接的名稱。 最重要的是:
connection.type
nmcli c add connection.type bond
connection.interface-name
nmcli c add connection.interface-name eth0
connection.id
nmcli c add connection.id "My Connection"
有關屬性及其設置的更多信息,請參見man nm-settings
別名
在內部翻譯為屬性的人類可讀名稱。 最常見的是:
type (the connection.type property)
nmcli c add type bond
ifname (the connection.interface-name property)
nmcli c add ifname eth0
con-name (the connection.id property)
nmcli c add con-name "My Connection"
在以前的nmcli版本中,使用別名創建所需的連接。 例如,ifname eth0和con-name My Connection。 可以使用以下格式的命令:
nmcli c add type ethernet ifname eth0 con-name "My Connection"
在更新的版本中,屬性名稱和別名可以互換使用。 以下示例均有效且等效:
nmcli c add type ethernet ifname eth0 con-name "My Connection" ethernet.mtu 1600
nmcli c add connection.type ethernet ifname eth0 con-name "My Connection" ethernet.mtu 1600
nmcli c add connection.type ethernet connection.interface-name eth0 connection.id "My Connection" ethernet.mtu 1600
參數根據連接類型而不同。 對於所有連接類型,只有type參數是必需的,而對於除bond,team,bridge和vlan之外的所有類型,ifname是必需的。
type type_name
連接類型。 例如:
nmcli c add type bond
ifname interface_name
用於綁定連接的接口。 例如:
nmcli c add ifname interface_name type ethernet
要修改連接配置文件的一個或多個屬性,請使用以下命令:
nmcli c modify
例如,要將connection.id從My Connection更改為My favorite connection,將connection.interface-name更改為eth1,請按如下方式發出命令:
nmcli c modify "My Connection" connection.id "My favorite connection" connection.interface-name eth1
註意
最好使用屬性名稱。 別名僅用於兼容性原因。
此外,要將以太網MTU設置為1600,請按如下所示修改大小:
nmcli c modify "My favorite connection" ethernet.mtu 1600
connection.type
連接類型。允許的值為:adsl,bond,bond-slave,bridge,bridge-slave,bluetooth,cdma,ethernet,gsm,infiniband,olpc-mesh,team,team-slave,vlan,wifi,wimax。每種連接類型都有特定於類型的命令選項。您可以在nmcli(1)手冊頁中看到TYPE_SPECIFIC_OPTIONS列表。例如:
gsm連接需要apn中指定的訪問點名稱。
nmcli c add connection.type gsm apn access_point_name
wifi設備需要ssid中指定的服務集標識符。
nmcli c add connection.type wifi ssid My identifier
connection.interface-name
與連接相關的設備名稱。
nmcli con add connection.interface-name eth0 type ethernet
connection.id
用於連接配置文件的名稱。如果未指定連接名稱,則將生成如下連接名稱:
connection.type -connection.interface-name
connection.id是連接配置文件的名稱,不應與表示設備的接口名稱(wlan0,ens3,em1)混淆。但是,用戶可以在接口之後命名連接,但它們不是同一個東西。可以為設備提供多個連接配置文件。這對於移動設備或在不同設備之間來回切換網絡電纜特別有用。而不是編輯配置,創建不同的配置文件並根據需要將它們應用於界面。 id選項還引用連接配置文件名稱。
nmcli命令最重要的選項,如show,up,down是:
ID
用戶分配給連接配置文件的標識字符串。可以在nmcli連接命令中使用Id來標識連接。命令輸出中的NAME字段始終表示連接ID。它指的是con-name所具有的相同連接配置文件名稱。
UUID
系統分配給連接配置文件的唯一標識字符串。可以在nmcli連接命令中使用uuid來標識連接。
~]$ nmcli con show
NAME UUID TYPE DEVICE
Auto Ethernet 9b7f2511-5432-40ae-b091-af2457dfd988 802-3-ethernet --
ens3 fb157a65-ad32-47ed-858c-102a48e064a2 802-3-ethernet ens3
MyWiFi 91451385-4eb8-4080-8b82-720aab8328dd 802-11-wireless wlan0
請註意,輸出中的NAME字段始終表示連接ID(名稱)。它不是接口名稱,即使它看起來可能相同。在上面顯示的第二個連接中,NAME字段中的ens3是用戶給應用於接口ens3的配置文件的連接ID。在所示的最後一個連接中,用戶已將連接ID?? MyWiFi分配給接口wlan0。
添加以太網連接意味著創建配置配置文件,然後將其分配給設備。 在創建新配置文件之前,請按以下方式查看可用設備:
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
ens3 ethernet disconnected --
ens9 ethernet disconnected --
lo loopback unmanaged --
要將設備設置為不受NetworkManager管理:
$ nmcli device set ifname managed no
For example, to set eth2 unmanaged:
$ nmcli device status
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
virbr0 bridge connected virbr0
eth1 ethernet connected bond-slave-eth1
eth2 ethernet connected bond-slave-eth2
eth0 ethernet unmanaged --
$ nmcli device set eth2 managed no ---->set eth2 unmanaged:
$ nmcli device status
DEVICE TYPE STATE CONNECTION
bond0 bond connected bond0
virbr0 bridge connected virbr0
eth1 ethernet connected bond-slave-eth1
eth2 ethernet unmanaged --
eth0 ethernet unmanaged --
當您將設備設置為非托管時,NetworkManager不會對其進行控制。 但是,設備仍然連接。
添加動態以太網連接
要添加具有動態IP配置的以太網配置文件,允許DHCP分配網絡配置,可以使用以下格式的命令:
nmcli connection add type ethernet con-name connection-name ifname interface-name
例如,要創建名為my-office的動態連接配置文件,請按如下方式發出命令:
?] $ nmcli con add type ethernet con-name my-office ifname ens3
NetworkManager將其內部參數connection.autoconnect設置為yes。 NetworkManager還會將設置寫入/ etc / sysconfig / network-scripts / ifcfg-my-office,其中ONBOOT指令將設置為yes。
請註意,在下次啟動界面之前,NetworkManager將不會註意到對ifcfg文件的手動更改。
要打開以太網連接,請發出如下命令:
~]$ nmcli con up my-office
要將主機發送的主機名更改為DHCP服務器,請按如下所示修改dhcp-hostname屬性:
?] $ nmcli con modify my-office my-office ipv4.dhcp-hostname host-name ipv6.dhcp-hostname host-name
要將主機發送的IPv4客戶端ID更改為DHCP服務器,請按如下所示修改dhcp-client-id屬性:
?] $ nmcli con modify my-office my-office ipv4.dhcp-client-id client-ID-string
IPv6沒有dhcp-client-id屬性,dhclient為IPv6創建標識符。 有關詳細信息,請參見dhclient(8)手冊頁。
要忽略DHCP服務器發送給主機的DNS服務器,請修改ignore-auto-dns屬性,如下所示:
?] $ nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
有關屬性及其設置的更多信息,請參見nm-settings(5)手冊頁。
添加靜態以太網連接
要使用靜態IPv4配置添加以太網連接,可以使用以下格式的命令:
可以使用ip6和gw6選項添加IPv6地址和網關信息。
請註意,這將替換任何以前設置的DNS服務器。 或者,要將其他DNS服務器添加到任何先前設置,請使用+前綴,如下所示:
?] $ nmcli con mod test-lab + ipv4.dns“8.8.8.8 8.8.4.4”
要查看有關新配置連接的詳細信息,請按如下方式發出命令:
~]$ nmcli -p con show test-lab
Connection profile details (test-lab)
===============================================================================
connection.id: test-lab
connection.uuid: 05abfd5e-324e-4461-844e-8501ba704773
connection.interface-name: ens9
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp: 1410428968
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0
[output truncated]
使用-p, - pretty選項會在輸出中添加標題橫幅和分節符。
將配置文件鎖定到特定設備
要將配置文件鎖定到特定接口設備,上述示例中使用的命令包括接口名稱。 例如:
nmcli connection add type ethernet con-name connection-name ifname interface-name
要使配置文件可用於所有兼容的以太網接口,請發出如下命令:
nmcli connection add type ethernet con-name connection-name ifname“*”
請註意,即使您不想設置特定接口,也必須使用ifname參數。 使用通配符指定配置文件可以與任何兼容設備一起使用。
要將配置文件鎖定到特定MAC地址,請使用以下格式的命令:
nmcli connection add type ethernet con-name“connection-name”ifname“”mac 00:00:5E:00:53:00
添加WIFI連接
要創建具有靜態IP配置的Wi-Fi連接配置文件,但允許自動分配DNS地址,請按如下方式發出命令:
?] $ nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe \
ip4 192.168.100.101/24 gw4 192.168.100.1
要設置WPA2密碼,例如“caffeine”,請發出如下命令:
~]$ nmcli con modify MyCafe wifi-sec.key-mgmt wpa-psk
~]$ nmcli con modify MyCafe wifi-sec.psk caffeine
要更改Wi-Fi狀態,請按以下格式發出命令:
~]$ nmcli radio wifi [on | off ]
更改特定屬性
要檢查特定屬性(例如mtu),請按如下方式發出命令:
~]$ nmcli connection show id ‘MyCafe‘ | grep mtu
802-11-wireless.mtu: auto
要更改設置的屬性,請按如下方式發出命令:
~]$ nmcli connection modify id ‘MyCafe‘ 802-11-wireless.mtu 1350
要驗證更改,請按如下方式發出命令:
~]$ nmcli connection show id ‘MyCafe‘ | grep mtu
802-11-wireless.mtu: 1350
請註意,NetworkManager將參數(如802-3-ethernet和802-11-wireless)作為設置,並將mtu作為設置的屬性。 有關屬性及其設置的更多信息,請參見nm-settings(5)手冊頁。
使用nmcli配置靜態路由
要使用命令行為現有以太網連接配置靜態路由,請輸入以下命令:
?] #nmcli connection modify eth0 + ipv4.routes“192.168.122.0/24 10.10.10.1”
這會將192.168.122.0/24子網的流量定向到10.10.10.1的網關
LINUX網絡配置---nmtui&nmcli