1. 程式人生 > >LINUX網絡配置---nmtui&nmcli

LINUX網絡配置---nmtui&nmcli

interface bluetooth 幫助 界面工具 ide set 計算機 手動配置 工具

網絡配置方法
要使用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 object 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 bond0
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