日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

centos 8 使用 nmcli 配置网桥Bridge(最后有踩坑过程)

發布時間:2024/1/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos 8 使用 nmcli 配置网桥Bridge(最后有踩坑过程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章最后有踩坑過程,前面先寫正常流程。
背景:最近想在自己筆記本上搭建openstack集群,再在集群上面上面跑K8S。
首先需要準備兩個網絡供虛擬機使用,一個網絡用于連接互聯網用來在線安裝各種服務和組件,這個網絡
使用KVM的NET模式實現。
另一個網絡是在KVM中創建虛擬網絡交換機(Bridge)該交換機用于將虛擬機(VM)連接到與主機相同的網絡,用來管理Openstack集群。
Bridge:網橋是將兩個或多個網段互連并在它們之間提供通信的數據鏈路層設備。它創建單個網絡接口,以從多個網絡或網段中建Bridge立單個聚合網絡。它根據主機的MAC地址(存儲在MAC地址表中)轉發流量。

  • 首先查看本機網絡配置:
  • [root@openstack_node1 ~]# ifconfig enp7s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.200.201 netmask 255.255.255.0 broadcast 192.168.200.255inet6 fe80::f7b3:9cd5:1eb1:dc96 prefixlen 64 scopeid 0x20<link>ether b4:a9:fc:21:50:16 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 3240 bytes 300602 (293.5 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 3240 bytes 300602 (293.5 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0wlp0s20f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.109 netmask 255.255.255.0 broadcast 192.168.0.255inet6 fe80::93ac:74c4:370f:e8c4 prefixlen 64 scopeid 0x20<link>ether 50:eb:71:5d:a0:9d txqueuelen 1000 (Ethernet)RX packets 103320 bytes 89748597 (85.5 MiB)RX errors 0 dropped 6 overruns 0 frame 0TX packets 62629 bytes 13903788 (13.2 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    可以看到有兩張網卡:一張以太網卡enp7s0,一張無線網卡wlp0s20f3,這里我們使用這個以太網卡來接入網橋,實現主機與虛擬機通信。

  • 查看網絡連接狀態,確保網卡處于連接狀態
  • [root@openstack_node1 ~]# nmcli connection show --active [root@openstack_node1 ~]# nmcli connection show --active NAME UUID TYPE DEVICE 1706 32201b66-07ad-4b41-bd58-90a20573ab61 wifi wlp0s20f3 enp7s0 2d1211ed-22d9-4bfa-9a2e-223dc56ef4ee ethernet enp7s0

    也可以使用nmcli device status 命令查看網卡狀態。

    [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 --
  • 創建網橋
  • 創建名為 [root@openstack_node1 ~]# nmcli connection add type bridge con-name virbr0 ifname virbr0 autoconnect yes [root@openstack_node1 ~]# nmcli connection add type bridge con-name virbr0 ifname virbr0 autoconnect yes Connection 'virbr0' (d02717a2-acd1-41c7-a35a-a2b296e7f62e) successfully added.

    提示成功,使用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
  • 將以太網接口enp7s0加入網橋virbr0
  • [root@openstack_node1 ~]# nmcli connection add type bridge-slave ifname enp7s0 master virbr0 [root@openstack_node1 ~]# nmcli connection add type bridge-slave ifname enp7s0 master virbr0 Connection 'bridge-slave-enp7s0' (00a58df5-b08c-4a17-958b-d29929ccdca9) successfully added.

    提示成功,此時在下面 /etc/sysconfig/network-scripts/目錄下會生成一個名為:ifcfg-bridge-slave-enp7s0的配置文件,上一步添加網橋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

    以下是兩個配置文件的內容。

    [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
  • 關閉以太網卡,激活網橋
    查詢網橋狀態,這里看起來一切正常,但仔細看 nmcli device status輸出的結果,以太網enp7s0 的
    “CONNECTION"還是自己,正常情況下應該是我們剛剛生成的這個 bridge-slave-enp7s0 接口,且這個接口也沒有出現在” nmcli connection show --active "的列表里。
  • [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 enp7s0 2d1211ed-22d9-4bfa-9a2e-223dc56ef4ee ethernet enp7s0 [root@openstack_node1 network-scripts]# 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 --

    我們使用"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

    停用以太網enp7s0,親測使用"nmcli connection down enp7s0"或者“ifdown enp7s0”都可以,我傾向使用"ifdown enp7s0",如下所示網橋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 --

    自此網橋就搭建完畢了。

  • 遇到的問題
    1.以太網卡狀態為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
    這里網卡的狀態可以使用上文的: nmcli device status 命令進行查詢。
    device有4種狀態
    (1)connected:已被NM管理,并且當前有活躍的connection
    (2)disconnected:已被NM管理,但是當前沒有活躍的connection
    (3)unmanaged:未被NM管理
    (4)unavailable:不可用,NM無法管理,通常出現于網卡link為down時(如:ip link set ethX down)
    我的解決的辦法:刪掉所有的網橋相關配置,關閉無線網,我只記得好像使用了下面四個命令:
    nmcli connection up enp7s0 :可能會報錯
    ifup enps70:可能會報錯
    ip link set enps70
    nmcli device reapply enp7s0
    使用network設置中的圖形化界面添加一個連接,這個MAC Address一定要填以太網卡的MAC地址,其他的就正常填寫,填寫完了以后,重啟Networkmanager,然后運行以上四個命令,最后再查看這個以太網卡的狀態,一般都會OK的,好像還可以用nmtui這個工具添加連接,這個也可以試試,目地就是要NM管理這個以太網卡。
    2.添加網橋后無法連接互聯網(我是使用無線網連接互聯網)
    添加網橋后沒法連接百度,網絡圖標顯示以太網連接,查看配置無線網連接正常。
    我的解決的辦法:修改網橋以及以太網卡配置文件中"DEFROUTE"參數配置為:“DEFROUTE=no"
    然后shutdown所有連接,重啟Networkmanager服務,打開無線網連接,檢查網絡連接狀況,此時無線網一般都能正常連接至互聯網,然后再逐一開啟以太網卡以及網橋。這個相當于是降低以太網連接的優先級,系統默認應該是以太網優先級較高,當以太網連接被激活時,路由優先走以太卡網出去,導致電腦無法上網。
  • 總結

    以上是生活随笔為你收集整理的centos 8 使用 nmcli 配置网桥Bridge(最后有踩坑过程)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。