Ubuntu 14.10 创建虚拟网卡实现桥接网络

时间:2021-08-14 15:52:44

目标需求:在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的网络设置

Ubuntu 14.10 创建虚拟网卡实现桥接网络

链接模式:桥接模式

名称:vnet0

PS:记得勾选Cable Connected

步骤六:配置虚拟机IP

进入虚拟机配置IP,下面以Win7为例

Ubuntu 14.10 创建虚拟网卡实现桥接网络

将虚拟机设置静态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