在CentOS7中NetworkManager管理功能更強大,可以通過nmcli命令實現網卡所有日常操作,這裏筆者介紹一些實用的命令,並深入介紹一下多網卡bond的實現。所有操作基於nmcli命令,不需要手動編輯配置文件。
在CentOS7中網卡的設備和連接概念更明確。設備可能是物理的也可以是虛擬的,在系統/dev目錄中可以找到。連接是任意創建的,類型多樣包含bond、bridge、vlan、wifi、bluetooth、ethernet、***等等,名字可以任意取。設備和連接是一對多的關係,但每個設備同一時間只能對應一個啓動的連接。
先羅列幾個nmcli日常用法
nmcli dev status //查看系統現有網絡設備的連接狀態 nmcli conn show //查看已有連接 nmcli conn delete UUID1 UUID2 UUID3 //刪除不需要的連接 nmcli dev connect ens160 //連接設備ens160,該操作類似於接上網卡網線 nmcli dev disconnect ens160 //斷開設備ens160,類似於拔掉網線 nmcli conn down ens160 //關閉連接ens160,等同於ifdown ens160 nmcli conn up ens160 //打開連接ens160,等同於ifup ens160 nmcli dev show //查看設備詳細信息
創建、命名連接,並做基本配置
nmcli conn add type ethernet con-name ens160 ifname ens160 //創建新連接con-name是ens160,也可以根據個人習慣改爲eth0.連接到的設備是ens160,根據實際情況改成自己使用的網卡 nmcli conn mod ens160 ipv4.addresses "10.x.x.x/24" //配置IP和掩碼 nmcli conn mod ens160 ipv4.gateway "10.x.x.254" //配置網關 nmcli conn mod ens160 ipv4.dns "x.x.x.x" //配置dns nmcli conn mod ens160 ipv4.method manual //配置IP地址獲取方式爲手動 nmcli conn mod ens160 connection.autoconnect yes //配置開機自動啓動 nmcli conn up ens160 //啓動網卡,命令等同於ifup ens160
配置網卡bond
網卡bond是創建一個虛擬鏈接做爲主,若干個連接做爲從。從連接關聯各自的物理網卡,避免物理網卡的單點故障,提高可用性。
//這裏系統有兩個網卡enp9s0f1和enp9s0f1 nmcli conn add type bond con-name bond0 ifname bond0 mode active-backup autoconnect yes //添加一個連接,類型爲bond,連接名bond0,設置連接自動啓動.設備指向bond0,將創建出一個虛擬設備bond0 nmcli conn add type bond-slave con-name eth0 ifname enp9s0f0 master bond0 autoconnect yes nmcli conn add type bond-slave con-name eth1 ifname enp9s0f1 master bond0 autoconnect yes //爲bond0添加兩個從連接eth0和eth1,分別關聯物理網卡enp9s0f1和enp9s0f1,設置連接自動啓動.也可以不指定從連接名,會自動命名bond-slave-enp9s0f0和bond-slave-enp9s0f1 nmcli conn modify bond0 ipv4.addresses "10.x.x.x/24" nmcli conn modify bond0 ipv4.gateway "10.x.x.254" nmcli conn modify bond0 ipv4.dns "x.x.x.x" nmcli conn modify bond0 ipv4.method manual //爲連接bond0配置IP、網關、dns、啓動方式 nmcli connection up eth0 nmcli connection up eth1 nmcli connection up bond0 //啓動兩個從連接,然後啓動主連接。啓動eth0和eth1時會自動disconnect網卡上原有的連接,建議在終端上操作。
最後,nmcli命令會直接添加、刪除、修改網卡配置文件,所有配置都是永久有效。