目标需求:在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