星期六, 12月 29, 2007

Bridge Host OS and Guest OS network interface

通常 VirtualBox 的 Guest OS 的網卡預設是使用 NAT ,透過 Host OS 的網卡連至 Internat。
這時候兩張網卡是分別在不同網段。在某些情形下,我們會想要它們是在在同一網段下,這時我們可以將兩張網卡做橋接,也就是 bridge 兩張網卡。以 Debian 為Host OS 做例子,做法如下,

建立一個軟體虛擬的網路介面 tap0
# tunctl -t tap0 -u user_will_own_tap0
# chmod 666 /dev/net/tun


讓 eth0, tap0 進入 promisc 模式,使能收到到所有封包。
# ifconfig eth0 0.0.0.0 promisc
# ifconfig tap0 0.0.0.0 promisc


建立一個軟體虛擬的橋接器 br0,並將 eth0 及 tap0 加入其中
# brctl addbr br0
# brctl addif br0 eth0
# brctl addif br0 tap0


設定橋接器的 IP address, routing table, DNS,有兩種做法,一是交由 dhclient,
# dhclient br0


或是手動設定

# ifconfig br0 Static_IP netmask 255.255.255.0 up
# route add default gw Gateway_IP
# cat "nameserver DNS_IP" > /etc/resolv.conf


接下來 VirtualBox 的 Guest OS 的
網路-配接卡0-啟用網路卡-附掛到->主端介面
同頁面的主機介面設定值-介面名稱-> tap0

沒有留言: