感谢支持
我们一直在努力

linux下virtual box的网络配置方案

先安装一些工具


1.apt-get install uml-utilities(tunctl要用到)


tunctl可以生成一个tap,我的理解是虚拟网卡


2.apt-get install bridge-utils (brctl要用到)


brctl就是设置一个网桥了


主机是debian,IP是192.168.1.2


就一张网卡eth0


客户机是XP


路由上开通了dhcp功能,地址是192.168.1.1


virtualBox上网方式有三种


1.nat


这种方式在客户机上不用做设置,直接自动捕获就行了,得到的地址也和外部地址不一样.


我这里是


IP:10.0.2.15


gw:10.0.2.2


可以访问外网,但主客机不能互访。


2.Host Interface


这个是最复杂的,leemars更出了四种方案,直接引用这四种方案了

方案一:


其实是利用iptables的nat功能来实现主客机通信的


引用自leemars,这个我没试


Host :


#echo 1 > /proc/sys/net/ipv4/ip_forward #打开转发功能


#iptables -t nat -A POSTROUTING -j MASQUERADE #利用iptables完成NAT功能


#chmod 0666 /dev/net/tun #设置访问权限


#tunctl -t tap0 -u leemars #建立一个tap设备, 名字为tap0, 所有者为leemars


#ifconfig tap0 up #激活tap0


#ifconfig tap0 10.10.10.1 netmask 255.255.255.0 #为tap0指定IP和网段, 为10.10.10.1/24.


Guest :


网卡设置如下:


IP : 10.10.10.10


Netmask : 255.255.255.0


Gateway : 10.10.10.1


Guest -> WAN :


由Linux的iptables完成NAT功能, 提供WAN的访问服务.


Guest -> Host :


10.10.10.1是真实的Host. Guest对Host的任何访问都可以通过访问10.10.10.1来完成.


Host -> Guest :


10.10.10.10是真实的Guest. Host对Guest的任何访问都可以通过访问10.10.10.10来完成.

方案二 : Transparent Bridge (Layer 2)


我用这个方案的,其实是生成一个网桥,然后将虚拟网卡和物理网卡用网桥连接起来.


Host :


#chmod 0666 /dev/net/tun #设置访问权限


#tunctl -t tap0 -u leemars #建立一个tap设备, 名字为tap0, 所有者为leemars


#ifconfig eth0 0.0.0.0 promisc #使eth0进入promiscuous模式


#ifconfig tap0 0.0.0.0 promisc #使tap0进入promiscuous模式


#brctl addbr br0 #增加一个网桥


#brctl addif br0 eth0 #将eth0加入网桥


#ifconfig eth0 up #激活eth0


#dhclient br0 #为br0设置IP地址


#brctl addif br0 tap0 #将tap0加入网桥


#ifconfig tap0 up #激活tap0


Guest :


网卡设置为DHCP. 或者在设置为Host的Subnet中的一个IP地址, 如下例:


IP : 192.168.1.201


Netmask : 255.255.255.0


Gateway : 192.168.1.1


可以实现主客机直接互访

方案三 : Transparent IP (Layer 3) proxy ARP bridge (by parprouted)


这个我没试,因为需要parprouted这个软件的


Host :


#echo 1 > /proc/sys/net/ipv4/ip_forward #打开转发功能


#chmod 0666 /dev/net/tun #设置访问权限


#tunctl -t tap0 -u leemars #建立一个tap设备, 名字为tap0, 所有者为leemars


#ip link set tap0 up #激活tap0


#ip addr add 169.1.1.1/32 dev tap0 #为tap0任意指定一个私有地址


#parprouted [-d] ath0 tap0 #启动parprouted监听ath0和tap0. -d参数为Debug模式


Guest :


网卡设置如下:


IP : 192.168.1.201


Netmask : 255.255.255.0


Gateway : 192.168.1.1


Guest -> WAN :


由网关来提供WAN的访问服务.


Guest -> Host :


直接访问Host的IP地址即可.


Host -> Guest :


直接访问Guest的IP地址即可.

方案四 : ARP Proxy(by Linux) + Route


通过路由来进行主客机通信的


Host :


#echo 1 > /proc/sys/net/ipv4/ip_forward #打开转发功能


#chmod 0666 /dev/net/tun #设置访问权限


#tunctl -t tap0 -u leemars #建立一个tap设备, 名字为tap0, 所有者为leemars


#ip link set tap0 up #激活tap0


#route add -host 192.168.1.201 dev tap0 #增加一个路由, 将192.168.1.201定向到tap0


#echo 1 > /proc/sys/net/ipv4/conf/ath0/proxy_arp #打开ath0上的ARP Proxy


#echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp #打开tap0上的ARP Proxy


Guest :


网卡设置如下:


IP : 192.168.1.201


Netmask : 255.255.255.0


Gateway : 192.168.1.1


直接可以互访了


3.Internal network


这个不知道是什么样的。

赞(0) 打赏
转载请注明出处:服务器评测 » linux下virtual box的网络配置方案
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏