Contents

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

之前研究 Linux 怎麼用橋接器是為了讓我別台電腦可以直接連到 VM,之前都要 Fortgate 防火牆設置路由表(route),後來覺得應該可以用橋接器來做連接,這邊用 Ubuntu 實作怎麼在 KVM 設定 VM 網路 橋接連至實體區網

整理相關文章做法

這邊其實網路上實作有很多方法,很多都是用指令方式操作,我那時很很好奇有沒有 GUI 操作設定方法,不過發現 KVM 沒有比較好方法設定。

這邊放一下我爬文相關解決方法,感覺針對不同環境會有不同做法,大家實作可能需要注意一下。

Netplan

面有一句最重要的 renderer, 由這句話指定到底要用 NetworkManager 還是要用 networkd 來實作網路連線

我原本在找renderer是什麼,這邊有簡單提到

Ubuntu 傳統的網路管理工具有三種:

  • /etc/network/interfaces
  • network-manager
  • systemd-networkd

裡面還有提到很Ubuntu網路知識,真的是值得推薦好文章。

nmcli,nmtui

kvm 設定

  1. 创建网桥

virsh iface-bridge eth0 br0

取消时可以使用

virsh iface-unbridge br0

沒有測試這樣能不能跑,不過享用的可以試試。不知道重開機還要不要重新調整。xml找不到相對應設定方法。

疑似以前方法?

network scripts

修復 Ubuntu 方法彩蛋

我在做這邊的時候,我網路 GUI 看不到東西, nmcli 網路看到介面卡是unmangend

我理想預設 bridge 理想

可以控制用 NAT 或者 Bridge到外面網路,這樣比較彈性。

https://user-images.githubusercontent.com/6058558/258461029-933190bb-ebc7-4e95-ba27-abff7da12d02.png

原本想用無線網卡,但是無線網卡做橋接需要把網路改成熱點方式,這不是我想要的,所以就放棄這個方案。

使用 netplan

這邊 bridge 想用自動取得 IP 也是能做到的,但之前那個 IP 設定在 DHCP Server ,覽的調整可以先設定固定在主機上面。

/etc/netplan/

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
network:
  version: 2
  # renderer: NetworkManager  <-- 我這個有設定會不能上網,這邊看情況設定
  ethernets:
    enp7s0f5:
      dhcp4: false
      dhcp6: false
  bridges:
    br2:
      interfaces: [enp7s0f5]
      addresses: [192.168.1.210/24]
      routes:
      - to: 0.0.0.0/0
        via: 192.168.1.1
      nameservers:
        addresses: [192.168.1.203]
      dhcp4: false
      dhcp6: true
1
netplan try

使用內建 GUI 設定

這邊假如你的 Ubuntu 不正常可以看上方修復處理方法。使用下面指令開啟網路連線設定。

1
sudo nm-connection-editor

點選+新增相關網路。

https://user-images.githubusercontent.com/6058558/258567831-75ff4cb7-2035-4d72-8ce2-66dbb4ba6726.png

選擇橋接做建立動作。
https://user-images.githubusercontent.com/6058558/258567922-d0f477f7-b661-4081-a0d1-86c0416a43ab.png

這邊我已經用netplan設定好了,我選擇編輯看設定。但跟新增介面一樣,可以設定路由名稱。
https://user-images.githubusercontent.com/6058558/258567996-2efb01fd-6d9a-4b25-9575-2e85f41e8882.png

我們要把實體網卡做橋接連接動作,參考下圖設定動作。先點選新增,選擇有線網路
https://user-images.githubusercontent.com/6058558/258568055-221a6995-c191-4fc3-95ac-c78623470582.png

選擇實體網卡裝置。
https://user-images.githubusercontent.com/6058558/258568154-710db0a7-94de-46ce-995e-da186803e2e1.png

設定相關網路設定。
https://user-images.githubusercontent.com/6058558/258568354-c339f861-17e0-4d21-8837-859094b1e0b6.png

因為我Ubuntu網路怪怪的,~~這邊重開機就可以看有沒有生效。~~理論上會直接生效。可以用ip a看看,我後來上面 Ubuntu 網路問題解決就沒這個問題。

KVM 設定橋接器

https://user-images.githubusercontent.com/6058558/258568995-33e2513c-4818-43da-8611-cfdc5725aba0.png

有用 WebVirtCloud的話請刪除再新增,不知道為什麼修改沒什麼用。

https://user-images.githubusercontent.com/6058558/258569079-fbcf50a0-a888-4236-9011-d37decd64a17.png

網路要設定 e1000 才能連線。
https://user-images.githubusercontent.com/6058558/258569357-8ca241d9-8247-42aa-9a81-8a881e87eb5a.png

發現無法改的話到這邊改。
https://user-images.githubusercontent.com/6058558/258569571-355d9f39-1024-4592-b0fd-7f7f656d0180.png

彩蛋

最後發現 netplan 好像還滿多可以設定的,有興趣可以玩玩。