centos 8 使用 nmcli 配置网桥Bridge(最后有踩坑过程)
文章最后有踩坑過程,前面先寫正常流程。
背景:最近想在自己筆記本上搭建openstack集群,再在集群上面上面跑K8S。
首先需要準備兩個網(wǎng)絡(luò)供虛擬機使用,一個網(wǎng)絡(luò)用于連接互聯(lián)網(wǎng)用來在線安裝各種服務和組件,這個網(wǎng)絡(luò)
使用KVM的NET模式實現(xiàn)。
另一個網(wǎng)絡(luò)是在KVM中創(chuàng)建虛擬網(wǎng)絡(luò)交換機(Bridge)該交換機用于將虛擬機(VM)連接到與主機相同的網(wǎng)絡(luò),用來管理Openstack集群。
Bridge:網(wǎng)橋是將兩個或多個網(wǎng)段互連并在它們之間提供通信的數(shù)據(jù)鏈路層設(shè)備。它創(chuàng)建單個網(wǎng)絡(luò)接口,以從多個網(wǎng)絡(luò)或網(wǎng)段中建Bridge立單個聚合網(wǎng)絡(luò)。它根據(jù)主機的MAC地址(存儲在MAC地址表中)轉(zhuǎn)發(fā)流量。
可以看到有兩張網(wǎng)卡:一張以太網(wǎng)卡enp7s0,一張無線網(wǎng)卡wlp0s20f3,這里我們使用這個以太網(wǎng)卡來接入網(wǎng)橋,實現(xiàn)主機與虛擬機通信。
也可以使用nmcli device status 命令查看網(wǎng)卡狀態(tài)。
[root@openstack_node1 ~]# nmcli device status [root@openstack_node1 ~]# nmcli device status DEVICE TYPE STATE CONNECTION wlp0s20f3 wifi connected 1706 enp7s0 ethernet connected enp7s0 p2p-dev-wlp0s20f3 wifi-p2p disconnected -- lo loopback unmanaged --提示成功,使用nmcli device status、nmcli connection show --active進行查看
[root@openstack_node1 ~]# nmcli device status [root@openstack_node1 ~]# nmcli device status DEVICE TYPE STATE CONNECTION wlp0s20f3 wifi connected 1706 enp7s0 ethernet connected enp7s0 virbr0 bridge connecting (getting IP configuration) virbr0 p2p-dev-wlp0s20f3 wifi-p2p disconnected -- lo loopback unmanaged -- [root@openstack_node1 ~]# nmcli connection show --active [root@openstack_node1 ~]# nmcli connection show --active NAME UUID TYPE DEVICE virbr0 d02717a2-acd1-41c7-a35a-a2b296e7f62e bridge virbr0 1706 32201b66-07ad-4b41-bd58-90a20573ab61 wifi wlp0s20f3 enp7s0 2d1211ed-22d9-4bfa-9a2e-223dc56ef4ee ethernet enp7s0提示成功,此時在下面 /etc/sysconfig/network-scripts/目錄下會生成一個名為:ifcfg-bridge-slave-enp7s0的配置文件,上一步添加網(wǎng)橋virbr0成功后也會生成一個名為 ifcfg-virbr0 的配置文件。
[root@openstack_node1 network-scripts]# ll total 20 -rw-r--r--. 1 root root 428 Aug 8 11:35 ifcfg-1706 -rw-r--r-- 1 root root 120 Aug 8 13:26 ifcfg-bridge-slave-enp7s0 -rw-r--r-- 1 root root 348 Aug 8 11:29 ifcfg-enp7s0 -rw-r--r-- 1 root root 317 Aug 8 13:16 ifcfg-virbr0 -rw-------. 1 root root 17 Aug 1 20:21 keys-1706 -rw-r--r-- 1 root root 0 Aug 4 20:02 route-1706以下是兩個配置文件的內(nèi)容。
[root@openstack_node1 network-scripts]# vim ifcfg-virbr0 STP=yes BRIDGING_OPTS=priority=32768 TYPE=Bridge PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=virbr0 UUID=d02717a2-acd1-41c7-a35a-a2b296e7f62e DEVICE=virbr0 ONBOOT=yes[root@openstack_node1 network-scripts]# vim ifcfg-bridge-slave-enp7s0
TYPE=Ethernet NAME=bridge-slave-enp7s0 UUID=00a58df5-b08c-4a17-958b-d29929ccdca9 DEVICE=enp7s0 ONBOOT=yes BRIDGE=virbr0查詢網(wǎng)橋狀態(tài),這里看起來一切正常,但仔細看 nmcli device status輸出的結(jié)果,以太網(wǎng)enp7s0 的
“CONNECTION"還是自己,正常情況下應該是我們剛剛生成的這個 bridge-slave-enp7s0 接口,且這個接口也沒有出現(xiàn)在” nmcli connection show --active "的列表里。
我們使用"brctl show"進行驗證,可以看到"interfaces"那一列是空的。
[root@openstack_node1 network-scripts]# brctl show [root@openstack_node1 network-scripts]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes停用以太網(wǎng)enp7s0,親測使用"nmcli connection down enp7s0"或者“ifdown enp7s0”都可以,我傾向使用"ifdown enp7s0",如下所示網(wǎng)橋virbr0接口顯示正常。
[root@openstack_node1 network-scripts]# ifdown enp7s0 [root@openstack_node1 network-scripts]# ifdown enp7s0 Connection 'enp7s0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)[root@openstack_node1 network-scripts]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.b4a9fc215016 yes enp7s0[root@openstack_node1 network-scripts]# nmcli connection show --active NAME UUID TYPE DEVICE virbr0 d02717a2-acd1-41c7-a35a-a2b296e7f62e bridge virbr0 1706 32201b66-07ad-4b41-bd58-90a20573ab61 wifi wlp0s20f3 bridge-slave-enp7s0 00a58df5-b08c-4a17-958b-d29929ccdca9 ethernet enp7s0 [root@openstack_node1 network-scripts]# nmcli device status DEVICE TYPE STATE CONNECTION wlp0s20f3 wifi connected 1706 enp7s0 ethernet connected bridge-slave-enp7s0 virbr0 bridge connecting (getting IP configuration) virbr0 p2p-dev-wlp0s20f3 wifi-p2p disconnected -- lo loopback unmanaged --自此網(wǎng)橋就搭建完畢了。
1.以太網(wǎng)卡狀態(tài)為unavailable,nmcli connection up enp7s0提示centos8 Error: Failed to add/activate new connection: Connection ‘enp7s0’ is not acttive
然后使用ifup 或者ifdown進行恢復,又報錯eth0: error fetching interface information: Device not found
這里網(wǎng)卡的狀態(tài)可以使用上文的: nmcli device status 命令進行查詢。
device有4種狀態(tài)
(1)connected:已被NM管理,并且當前有活躍的connection
(2)disconnected:已被NM管理,但是當前沒有活躍的connection
(3)unmanaged:未被NM管理
(4)unavailable:不可用,NM無法管理,通常出現(xiàn)于網(wǎng)卡link為down時(如:ip link set ethX down)
我的解決的辦法:刪掉所有的網(wǎng)橋相關(guān)配置,關(guān)閉無線網(wǎng),我只記得好像使用了下面四個命令:
nmcli connection up enp7s0 :可能會報錯
ifup enps70:可能會報錯
ip link set enps70
nmcli device reapply enp7s0
使用network設(shè)置中的圖形化界面添加一個連接,這個MAC Address一定要填以太網(wǎng)卡的MAC地址,其他的就正常填寫,填寫完了以后,重啟Networkmanager,然后運行以上四個命令,最后再查看這個以太網(wǎng)卡的狀態(tài),一般都會OK的,好像還可以用nmtui這個工具添加連接,這個也可以試試,目地就是要NM管理這個以太網(wǎng)卡。
2.添加網(wǎng)橋后無法連接互聯(lián)網(wǎng)(我是使用無線網(wǎng)連接互聯(lián)網(wǎng))
添加網(wǎng)橋后沒法連接百度,網(wǎng)絡(luò)圖標顯示以太網(wǎng)連接,查看配置無線網(wǎng)連接正常。
我的解決的辦法:修改網(wǎng)橋以及以太網(wǎng)卡配置文件中"DEFROUTE"參數(shù)配置為:“DEFROUTE=no"
然后shutdown所有連接,重啟Networkmanager服務,打開無線網(wǎng)連接,檢查網(wǎng)絡(luò)連接狀況,此時無線網(wǎng)一般都能正常連接至互聯(lián)網(wǎng),然后再逐一開啟以太網(wǎng)卡以及網(wǎng)橋。這個相當于是降低以太網(wǎng)連接的優(yōu)先級,系統(tǒng)默認應該是以太網(wǎng)優(yōu)先級較高,當以太網(wǎng)連接被激活時,路由優(yōu)先走以太卡網(wǎng)出去,導致電腦無法上網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的centos 8 使用 nmcli 配置网桥Bridge(最后有踩坑过程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zynq学习笔记
- 下一篇: grafana+prometheus监控