這一篇 講 virtualbox bridge的說明比較清楚簡單
需要的 package : bridge-utils uml-utilities
修改 /dev/net/tun ,給 vboxusers 使用權限。
啟動 bridge 的 shell script:
#!/bin/bash
brctl addbr br0
ifconfig eth0 0.0.0.0
brctl addif br0 eth0
#if you have a dhcp-server uncomment this line:
#dhclient3 br0
#If you have a static IP uncomment the following lines and
#change the IP accordingly to your subnet:
#ifconfig br0 192.168.178.5 up
#route add default gw 192.168.178.1
#Now we will create the tap device for the vm,!
# change your username accordingly
tunctl -t tap0 -u simon
#Now add the tap-device to the bridge:
ifconfig tap0 up
brctl addif br0 tap0
有關 network bridge 的說明,還是在 man 中說得清楚。
bridge 就是會把一堆 網路介面連在一起,成為一個大網路 (卡?)。同屬一個bridge網路(卡?)中的網路卡,都會收到一樣的資料。
所以以上的動作,就是:
新增一個 bridge network ,叫做 br0
ifconfig eth0 0.0.0.0
把 實體網卡 eth0 設為 promisc mode (所有封包都收).
brctl addif br0 eth0
把實體網卡 eth0 加入 bridge 網路 br0 中。
dhclient3 br0
原來使用 eth0 的host ,改用 br0,br0 向dhcp 取得 ip..
tunctl 是用來 create, 操作 軟體(虛擬?) 網卡的tool。
tunctl -t tap0 -u username
新增一個虛擬網卡 tap0,可以用的 user 是 "username"
ifconfig tap0 up
啟動 這個 虛擬網卡 tap0
brctl addif br0 tap0
把 tap0 這個虛擬網卡也加入 br0 這個 bridge network card 中。
所以以上的動作就是:將 eth0 和 tap0加入到 bridge network br0 中。
然後 tap0 就可以給 virtualmachine 用了...