目標需求:在Ubuntu主機創建一張虛擬網卡,使得搭建在VirtualBox中的其他主機能借助虛擬網卡構建的局域網進行相互間的通訊
?
步驟一:準備工具包
安裝 uml-utilities 以及 bridge-utils
sudo apt-get install uml-utilities bridge-utils
?
步驟二:修改網絡配置文件 /etc/network/interfaces
sudo cp /etc/network/interfaces /etc/network/interfaces.back?? #留個備份以備恢復所用
sudo vi /etc/network/interfaces?? #在后面添加如下內容
auto vnet0?? #新建網卡vnet0
iface vnet0 inet static?? #設置為靜態地址模式
address 192.168.100.1?? #設定(在虛擬網段中的)本機IP
netmask 255.255.255.0?? #設置掩碼
bridge_ports none?? #設置橋接口(?)
bridge_maxwait 0?? #設置橋接最大等待數(?)
bridge_fd 1?? #?
up iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -j MASQUERADE?? #設置(?)
down iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -j MASQUERADE?? #設置(?)
PS:帶?的沒弄清楚具體含義
?
步驟三:啟動虛擬網卡
sudo ifup vnet0?? #啟動之后用 ifconfig 查看是否啟動成功,如果報錯注意copy錯誤信息google(如果沒看懂錯誤信息的話)
?
步驟四:啟動IP轉發
修改/etc/sysctl.conf 去掉這行的注釋# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
運行下面命令使其生效
sysctl -p
?
步驟五:設置VirtualBox的網絡設置
鏈接模式:橋接模式
名稱:vnet0
PS:記得勾選Cable Connected
?
步驟六:配置虛擬機IP
進入虛擬機配置IP,下面以Win7為例
將虛擬機設置靜態IP在同一虛擬網段,網關設為實際主機的虛擬網段IP
?
Reference:
1. 如果希望虛擬機自動獲取虛擬網段IP,需要額外搭建DHCP服務器
[參考出處:http://dngood.blog.51cto.com/446195/720131]
安裝 dnsmasq
apt-get install dnsmasq
修改/etc/dnsmasq.conf
去掉下面的注釋
?# Include a another lot of configuration options.
?#conf-file=/etc/dnsmasq.more.conf
?conf-dir=/etc/dnsmasq.d
?在/etc/dnsmasq.d/目錄下面增加一個名為 wifi-dhcp 的文件,內容為:
?#######################################
?interface=vnet0
?dhcp-range=192.168.100.2,192.168.100.254,1h
?dhcp-option=option:dns-server,192.168.100.1,208.67.222.222,208.67.220.220
?dhcp-option=option:domain-name,precision-m65