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的話請刪除再新增,不知道為什麼修改沒什麼用。
網路要設定 e1000
才能連線。
發現無法改的話到這邊改。
彩蛋
最後發現 netplan 好像還滿多可以設定的,有興趣可以玩玩。