nmcli是基於命令列的網路管理配置工具(command-line tool for controlling networkmanager),該命令可以完成所有的網路配置工作,並直接寫入了配置檔案,永久生效(無需重啟網路連線服務)。
語法:nmcli [ 選項 ] 物件
這裡的物件和引數可以用全稱也可以用簡稱,最少可以只用乙個字母。物件中常用的是device(網路介面物件)和connection(網路連線物件)
nmcli ##檢視ip資訊
nmcli device status ##所有介面的簡略資訊
nmcli device show ##所有介面的詳細資訊,device可以縮寫為d,de,dev...
nmcli device show ens160 ##指定的ens160網路介面的詳細資訊
nmcli connection show ##所有連線的簡略資訊,connection可以縮寫為c,co,con...
nmcli connection show --active ##顯示啟用的連線
nmcli connection show inteface-name ##某個介面的詳細連線資訊
請理解: ethernet型別的網路連線資訊就存放於/etc/sysconfig/network-scripts目錄下,這個目錄也就是網路連線配置目錄
[root@hollowman ~]# cd /etc/sysconfig/network-scripts/
[root@hollowman network-scripts]# ls
ifcfg-ens160
可以看到該目錄下有乙個以「ifcif-」+「網路連線名ens160」的網路連線配置檔案。這是系統預設生成的與網路介面名相同的網路連線名,後面我們可以建立其他的網路連線,同樣,該目錄下也會相應生成不同的網路連線配置檔案。
檢視一下網路連線:
[root@hollowman network-scripts]# nmcli c show
name uuid type device
ens160 12c0daf8-0019-47fb-b763-64e5cbfda958 ethernet ens160
virbr0 0a8c94be-61e4-4b82-84d1-afebef9a2aab bridge virbr0
可以發現有兩個網路連線,其中ens160的網路連線配置檔案就是上面的那個ifcfg-ens160,而virbr0則是乙個虛擬網橋連線,暫時不用理睬。
nmcli connection add con-name ens160-2 type ethernet ifname ens160 ipv4.method manual ipv4.addresses 192.168.100.20/24 ipv4.gateway 192.168.100.1 ipv4.dns 192.168.100.1
注意兩個重要引數:
autoconnect yes:對應配置檔案中的 onboot =yes,預設為yes
autoconnect no:對應配置檔案中的 onboot =no
ipv4.method auto:對應配置檔案中的 bootproto=dhcp,預設為auto
ipv4.method manual:對應配置檔案中的 bootproto=none
[root@hollowman ~]# nmcli connection add con-name ens160-2 type ethernet ifname ens160 ipv4.addresses 192.168.100.20/24 ipv4.gateway 192.168.100.1 ipv4.dns 192.168.100.1
connection 'ens160-2' (12c0daf8-0019-47fb-b763-64e5cbfda958) successfully added.
建立問連線後,網路連線配置目錄/etc/sysconfig/network-scripts/下就會多出乙個ifcfg-ens160-2的配置檔案了,但因為他使用的是ens160網路介面,而系統已經預設有乙個ens160連線並占用了這個網路介面,因此它暫時不能生效。
[root@hollowman network-scripts]# nmcli c show
name uuid type device
ens160 12c0daf8-0019-47fb-b763-64e5cbfda958 ethernet ens160
virbr0 0a8c94be-61e4-4b82-84d1-afebef9a2aab bridge virbr0
ens160-2 307da4b0-6327-4b1d-ad63-06103994c145 ethernet --
如上,ens160-2的device
為–,也就是沒有生效,如何生效呢?那就是下一步的內容了。
關閉鏈結
nmcli connection down 網路連線名
nmcli device disconnect 網路介面名
啟用連線
nmcli connection up 網路連線名
nmcli device connect 網路介面名
這兩種方式有什麼區別呢?
通過connection物件關閉其中乙個網路連線後,會自動啟用其他的網路連線,除非其他網路連線設定為了手動連線(method auto,也就是bootproto=dhcp)或者不存在其他網路連線。
如:nmcli c down ens160
後,ens160連線將關閉,而ens160-2將自動啟用
但是,通過device物件關閉某個網路介面,則直接關閉該網路介面(包含已經啟用的網路連線),因此其他網路連線也就不會自動啟用。
建議使用nmcli device disconnect 網路介面名
,因為這樣會更加可控。
將網路連線的獲取方式設定成手動(如果boottroto=dhcp 則修改為bootproto=none)
nmcli connection modify ens160-2 ipv4.method manual
設定完之後,再去通過nmcli c down ens160關閉ens160,則ens160-2不會啟用
其他引數設定同上,如果配置未設定則新建,已經存在但引數不同則修改,否則不做修改。
刪除dns
nmcli connection modify ens160-2 -ipv4.dns 192.168.100.1 (注意這裡的減號,後面的ip必須和原來配置dns的ip位址相同)
nmcli connection reload
過載所有網路連線,但不會立即生效,需重啟networkmanager服務才能生效
nmcli connection reload ens160-2
過載ens160-2這個網路連線
過載網路連線一般在手動修改網路連線配置檔案(如ifcfg-ens160-2)後使用,同時還需要systemctl restart networkmanager
才能生效。比關閉和啟用網路連線要多乙個步驟,也算是多乙個使用的方法吧。
7.刪除網路連線
nmcli connection delete 網路連線名
收集 命令列配置網路
不知是不是有朋友像我一樣從使用者許可權下runas來得到乙個管理員許可權的cmd然後對電腦進行配置的修改,對於網路的配置用runas似乎不大好辦,其實我們一樣可以作到 下面看如何來作 c ipconfig all麢?r v傭?篾9紵 windows ip configuration2w?槩劃 鰆?y...
mac命令列配置網路
mac命令列配置網路 今天終於找到了mac os x通過命令列修改ip的方式了,記錄如下 修改mac位址,重啟後失效 sudo ifconfig en0 lladdr d0 67 e5 2e 07 f1 修改路由表,同時使用有線網絡卡和無線網絡卡 netstat nr 檢視路由表 www.2cto....
CentOS 命令列下網路配置
注 此方法適用於永久配置網路資訊 1 檢視網絡卡資訊 ifconfig 2 配置ip vi etc sysconfig network scripts ifcfg eth0 device eth0 網絡卡編號 bootproto static 靜態ip或者dhcp動態獲取。靜態 static 動態 ...