Nmcli 網路管理命令列工具基礎

2 贊 回覆發表於2015-09-17

介紹

在本教程中,我們會在CentOS / RHEL 7中討論網路管理命令列工具NetworkManager command line tool,也叫nmcli。那些使用ifconfig的使用者應該在CentOS 7中避免使用ifconfig 了。

讓我們用nmcli工具配置一些網路設定。

要得到系統中所有介面的地址資訊

[root@localhost ~]# ip addr show

示例輸出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 00:0c:29:67:2f:4c brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.51/24 brd 192.168.1.255 scope global eno16777736
 valid_lft forever preferred_lft forever
 inet6 fe80::20c:29ff:fe67:2f4c/64 scope link 
 valid_lft forever preferred_lft forever

檢索與已連線的介面相關的資料包統計

[root@localhost ~]# ip -s link show eno16777736

示例輸出:

得到路由配置

[root@localhost ~]# ip route

示例輸出:

default via 192.168.1.1 dev eno16777736 proto static metric 100 
192.168.1.0/24 dev eno16777736 proto kernel scope link src 192.168.1.51 metric 100

分析主機/網站路徑

[root@localhost ~]# tracepath unixmen.com

輸出像traceroute,但是更加完整。

nmcli 工具

nmcli 是一個非常豐富和靈活的命令列工具。nmcli使用的情況有:

  • 裝置 – 正在使用的網路介面
  • 連線 – 一組配置設定,對於一個單一的裝置可以有多個連線,可以在連線之間切換。

找出有多少連線服務於多少裝置

[root@localhost ~]# nmcli connection show

得到特定連線的詳情

[root@localhost ~]# nmcli connection show eno1

示例輸出:

得到網路裝置狀態

[root@localhost ~]# nmcli device status

 DEVICE               TYPE              STATE          CONNECTION 
eno16777736            ethernet      connected              eno1 
lo                     loopback      unmanaged               --

使用“dhcp”建立新的連線

[root@localhost ~]# nmcli connection add con-name "dhcp" type ethernet ifname eno16777736

這裡,

  • connection add – 新增新的連線
  • con-name – 連線名
  • type – 裝置型別
  • ifname – 介面名

這個命令會使用dhcp協議新增連線

示例輸出:

Connection 'dhcp' (163a6822-cd50-4d23-bb42-8b774aeab9cb) successfully added.

不通過dhcp分配IP,使用“static”新增地址

[root@localhost ~]# nmcli connection add con-name "static" ifname eno16777736 autoconnect no type ethernet ip4 192.168.1.240 gw4 192.168.1.1

示例輸出:

Connection 'static' (8e69d847-03d7-47c7-8623-bb112f5cc842) successfully added.

更新連線:

[root@localhost ~]# nmcli connection up eno1

再檢查一遍,ip地址是否已經改變

[root@localhost ~]# ip addr show

新增DNS設定到靜態連線中

[root@localhost ~]# nmcli connection modify "static" ipv4.dns 202.131.124.4

新增更多的DNS

[root@localhost ~]# nmcli connection modify "static" +ipv4.dns 8.8.8.8

注意:要使用額外的+符號,並且要是+ipv4.dns,而不是ip4.dns

新增一個額外的ip地址

[root@localhost ~]# nmcli connection modify "static" +ipv4.addresses 192.168.200.1/24

使用命令重新整理設定:

[root@localhost ~]# nmcli connection up eno1

你會看見,設定生效了。

完結。


via: http://www.unixmen.com/basics-networkmanager-command-line-tool-nmcli/

作者:Rajneesh Upadhyay 譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章