Ubuntu 使用 Bridge 讓外面網路可以連 KVM 虛擬主機

之前研究 Linux 怎麼用橋接器是為了讓我別台電腦可以直接連到 VM,之前都要 Fortgate 防火牆設置路由表(route),後來覺得應該可以用橋接器來做連接,這邊用 Ubuntu 實作怎麼在 KVM 設定 VM 網路 橋接連至實體區網。
整理相關文章做法
這邊其實網路上實作有很多方法,很多都是用指令方式操作,我那時很很好奇有沒有 GUI 操作設定方法,不過發現 KVM 沒有比較好方法設定。
這邊放一下我爬文相關解決方法,感覺針對不同環境會有不同做法,大家實作可能需要注意一下。
Netplan
- 設定 Ubuntu 下 KVM 的 Bridge Networking » j7 碎唸人生
- Configure KVM Bridge Network using netplan – ServerOK
- 玩具烏托邦: (幾乎不談指令) 概念性的 netplan 簡介
面有一句最重要的 renderer, 由這句話指定到底要用 NetworkManager 還是要用 networkd 來實作網路連線
我原本在找renderer是什麼,這邊有簡單提到
Ubuntu 傳統的網路管理工具有三種:
- /etc/network/interfaces
- network-manager
- systemd-networkd
裡面還有提到很Ubuntu網路知識,真的是值得推薦好文章。
nmcli,nmtui
- Create and Configure Bridge Networking For KVM in Linux | ComputingForGeeks
裡面提供很多種方法,可以參考一下。 - [Linux KVM] Linux KVM concept - Networking | 小信豬的原始部落
裡面用nmcli。 - How to set up a network bridge for virtual machine communication | Enable Sysadmin
裡面用nmtui。
kvm 設定
- 创建网桥
virsh iface-bridge eth0 br0
取消时可以使用
virsh iface-unbridge br0
沒有測試這樣能不能跑,不過享用的可以試試。不知道重開機還要不要重新調整。xml找不到相對應設定方法。
疑似以前方法?
network scripts
- KVM Network Bridge Setup
- How to use bridged networking with libvirt and KVM - Linux Tutorials - Learn Linux Configuration
修復 Ubuntu 方法彩蛋
我在做這邊的時候,我網路 GUI 看不到東西, nmcli 網路看到介面卡是unmangend。
我理想預設 bridge 理想
可以控制用 NAT 或者 Bridge到外面網路,這樣比較彈性。
原本想用無線網卡,但是無線網卡做橋接需要把網路改成熱點方式,這不是我想要的,所以就放棄這個方案。
使用 netplan
這邊 bridge 想用自動取得 IP 也是能做到的,但之前那個 IP 設定在 DHCP Server ,覽的調整可以先設定固定在主機上面。
/etc/netplan/
|
|
|
|
使用內建 GUI 設定
這邊假如你的 Ubuntu 不正常可以看上方修復處理方法。使用下面指令開啟網路連線設定。
|
|
點選+新增相關網路。
這邊我已經用netplan設定好了,我選擇編輯看設定。但跟新增介面一樣,可以設定路由名稱。
我們要把實體網卡做橋接連接動作,參考下圖設定動作。先點選新增,選擇有線網路。
因為我Ubuntu網路怪怪的,~~這邊重開機就可以看有沒有生效。~~理論上會直接生效。可以用ip a看看,我後來上面 Ubuntu 網路問題解決就沒這個問題。
KVM 設定橋接器
有用 WebVirtCloud的話請刪除再新增,不知道為什麼修改沒什麼用。
彩蛋
最後發現 netplan 好像還滿多可以設定的,有興趣可以玩玩。