Networking

Debian 網橋配置 - /etc/network/interfaces

  • March 1, 2022

我正在執行一個 Lenny Xen dom0,它在路由 IP 設置中託管多個虛擬機。為了獲得額外的私有子網,我使用以下命令在 dom0 中創建了橋 xenbr0:

brctl addbr xenbr0
ifconfig xenbr0 10.0.0.1 netmask 255.255.255.0
ifconfig xenbr0 up

這按預期工作,並且 domU 介面由 Xen 在 VM 啟動時添加到橋接器。我唯一的問題是:我怎麼在 /etc/network/interfaces 中指定這個配置,它仍然是永久的,並且在重啟後網橋可用?我嘗試了許多教程中的以下配置:

auto xenbr0
iface xenbr0 inet static
 address 10.0.0.1
 netmask 255.255.255.0
 network 10.0.0.0
 broadcast 10.0.0.255
 bridge_stp no

我得到 2 個不同的錯誤,具體取決於網橋是否已經存在。如果不存在:

root@dom0:~# brctl show
bridge name     bridge id               STP enabled     interfaces
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
SIOCSIFADDR: No such device
xenbr0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
xenbr0: ERROR while getting interface flags: No such device
xenbr0: ERROR while getting interface flags: No such device
Failed to bring up xenbr0.
done.

如果它存在:

root@dom0:~# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.000000000000       no
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
RTNETLINK answers: File exists
Failed to bring up xenbr0.
done.

誰能指出我正確的方向?手動創建網橋時工作正常,我只需要正確的配置文件條目。我發現的大多數教程都在配置中將一些設備添加到網橋中,這可能是它無法正常工作的問題嗎?我沒有任何要在創建時添加到橋接器的介面,因為它們稍後會在 VM 啟動時添加…

謝謝, 馬蒂亞斯

您似乎錯過了最重要的一行:

auto xenbr0
iface xenbr0 inet static
 bridge_ports eth0 eth4 eth7    # bridge traffic between these interfaces
 bridge_stp no
 address 10.0.0.1
 netmask 255.255.255.0
 network 10.0.0.0
 broadcast 10.0.0.255

man說:如果需要更靈活地指定介面,可以使用以下語法(在 Xen dom0 上最有用):

    bridge_ports regex (eth|vif).*

這意味著評估(如 egrep(1) 中的)“regex”之後的表達式。

啟動後執行以執行您想要的命令的腳本怎麼樣?

引用自:https://serverfault.com/questions/151230