nmcli命令
地址配置工具:nmcli
nmcli device 查看所有網卡的信息
nmcli device status 和numcli device 相同
nmcli device show 網卡名 查看某個網卡的信息
nmcli connecttion 顯示所有網卡的配置連接配置,就是/etc/sysconfig/network-scripts/下有沒有網卡的配置文件,沒有的話不顯示,即使ifconfig命令有該網卡的信息)
加一個連接配置:nmcli connection add type ethernet(l類型可以變) 連接配置名(隨意起) ifname eth1
回車之后就可以用nmcli connection 顯示連接配置名了,同時在/etc/sysconfig/network-scripts/下有一個新文件ifcfg-連接配置名
nmcli connection show
nmcli connection show 鏈接名 查看這一套配置的相關信息
nmcli connection reload 重新加載配置文件(如果新增加了配置文件就可以用這個命名重新加載配置文件使其生效)
nmcli 修改ip地址等屬性
nmcli connection modify INFACE ipv4.method manual ipv4.addresses 172.17.0.1/16 ipv4.gateway 172.18.0.1 ipv4.dns 114.114.114.114
modify后面跟的是連接配置,手動配地址,ip地址,網關,dns地址。
nmcli 命令生效
nmcli con down 連接配置名
nmcli con up 連接配置名
設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置,但同時只有一個連接配置生效(針對一個接口可以有多套配置文件,但是在同一時間只能有一套配置文件生效)
上圖顯示針對接口ens33有兩套配置文件
顯示所有連接配置信息,發現接口ens33的兩套配置信息只有一套生效了
而將未生效的連接配置文件生效之后發現之前已經生效的配置文件有沒有生效。所以一個接口雖然可以有多套配置文件但是在同一時間,只能有一套配置文件生效。
一個接口可以有多套配置文件,多套的配置文件中的接口是相同的,但UUID不能相同
nmcli修改連接配置名
nmcli connection modify 原連接配置名 connection id. 新連接配置名
nmcli 增加新的地址
nmcli connection modify 連接配置名 +ipv4。addresses 2.2.2.2/16
增加地址之后不會立刻生效。
nmcli con up 連接配置名
如圖,現在ens34接口只有一個ip地址,現在要加一個地址
nmcli connection modify ens33 +ipv4.addresses 2.2.2.2/16
nmcli con up ens33
添加成功,再來看一下ens33接口的配置文件,發現已經添加了IP地址信息。
刪除添加的地址
nmcli connection delete 連接配置名 -ipv4。addresses 2.2.2.2/16
nmcli con up 連接配置名
網絡接口配置-bonding
Bonding 就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。
Mode 0 (balance-rr)
衡和容錯的能力輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均
一個機器上面有兩塊網卡,第一個數據來了走第一個網卡,第二個數據來了走第二個網卡,第三個數據來了走第一個網卡,第四個數據來了就走第二個網卡。
Mode 1 (active-backup)
活動-備份(主備)策略:只有一個slave被激活,當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見(平時只有一個網卡工作,另一個網卡不工作,一旦這個工作的網卡壞了,那么不工作的網卡就會被激活,接替工作)
Mode 3 (broadcast)
廣播策略:在所有的slave接口上傳送所有的報文,提供容錯能力(從遠程來了一個數據,所有的網卡都能收到,並且都回應,就會出現一個dup!的提示)
nmcli 命令實現bonding
A機器兩個網卡都是主機模式
第一步:添加bonding接口
nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup
con-name 是連接配置名 ifname 是接口名 mode 是bond的模式
增加IP地址
nmcli connection modify 連接配置名 ipv4.method manual ipv4.addresses 192.168.37.100/24
也可以寫成一條添加接口時直接添加地址
nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.37.100/24
第二步:添加從屬接口
nmcli con add type bond-slave ifname ens33 master mybond0
nmcli con add type bond-slave ifname ens34 master mybond0
注:如無為從屬接口提供連接名,則該名稱是接口名稱加類型構成
第三步:要啟動綁定,則必須首先啟動從屬接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens34
第四步:啟動綁定
nmcli con up mybond0
B機器的網卡也是主機模式,並且要保證和192.168.37.100在一個網段里面,然后去ping192.168.37.100
查看bond0狀態
cat /proc/net/bonding/bond0
網絡組Network Teaming
網絡組:是將多個網卡聚合在一起的方法,從而實現冗錯和提高吞吐量
網路組由內核驅動和teamd守護進程實現
多種方式runner(和bonding技術里的mode一樣)
broadcast
roundrobin
activebackup
loadbalance
lacp(implements the 802.3ad Link Aggregation Control Protocol)
網絡組
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口總會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
創建網絡組
第一步:創建網絡組接口:
nmcli con add type team con-name CNAME ifname INAME config JSON
CNAME 連接名,INAME接口名
JSON指定runner 方式
格式:‘{“runner”:{“name”:“METHOD”}}
METHOD 可以是broadcast ,roundrobin,activebacup,loadbalance,lacp
給網絡組接口配ip地址
nmcli con mod team0 ipv4.method manual pv4.addresses 192.168.37.100/24
第二步:創建從屬接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME連接名
INAME網絡接口名
TEAM網絡組接口名
若連接名不指定,默認為team-slave-IFACE
第三步:啟動網絡組接口和從屬接口
nmcli con up CNAME
查看team0的狀態
teamdctl team0 state
網絡組示例:
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"loadbalance"}}
nmcli con mod team0 ipv4.method manual pv4.addresses 192.168.37.100/24
nmcli con add type team-slave con-name team0-ens33 ifname ens33 master team0
nmcli con add type team-slave con-name team0-ens34 ifname ens34 master team0
nmcli con up team0
nmcli con up team0-ens33
nmcli con up team0-ens34
網絡組的配置文件在/etc/sysconfig/nework-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
刪除網絡組
nmcli connection down team0
nmcli connection delete team0-ens33
nmcli connection delete team0-ens33
網橋
橋接:把一台機器上的若干個網絡接口“連接”起來。其結果是,其中一個網口收到的報文會被復制給其他網口並發送出去。以是的網口之間的報文能夠互相轉發。網橋就是這樣一個設備,它有若干個網口,並且這些網口是橋接起來的。與網橋相連的主機就能通過交換機的報文轉發而互相通信。
配置實現網橋
第一步:創建軟件網橋接口並配上地址
nmcli con add type bridge con-name br0 ifname br0 ipv4.method manual ipv4.addresses 192.168.37.100
第二步:創建網橋的從屬接口
nmcli con add type bridge-slave ifname ens33 master br0
nmcli con add type bridge-slave ifname ens34 master br0
第三步:啟動網橋接口和從屬接口
nmcli con up br0
nmcli con up bridge-slave-ens33
nmcli con up bridge-slave-ens34
網橋的配置文件/etc/sysconfig/network-scripts/ifcfi-網橋接口名
刪除網橋
直接刪除配置文件最干脆
然后再重新加載一下配置文件,nmcli connection reload