VirtualBox Host-only 访问外网和 pptp 连接

使用VirtualBox时,网络有四种方式,bridge,NAT,Host-only,内部网络。

bridge方式占用和物理主机一样网段的Ip地址,如果该网络的IP是绑定MAC Add的就没办法了.

NAT方式可以很好的共享上网,不需要怎么配置但有很多限制,如PPTP

Host-only方式比较灵活,但需要物理机器是类unix系统,如ubuntu,

以下的环境是物理机是;ubuntu 12.04,虚拟机是win7

在virtualbox里的全局设置——>网络里添加host-only网络,注意如果物理机网络里有DHCP,host-only里的DHCP服务器不要开启。

在ubuntu里启用iptables

使用以下脚本 iptables.sh

#!/bin/bash
modprobe ip_nat_pptp
modprobe ip_conntrack_pptp
iptables -F
iptables -t nat -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
#iptables -A INPUT -p 47 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
#iptables -A OUTPUT -p 47 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.XXX.XXX -j MASQUERADE #虚拟机里的ip addr

/etc/sysctl.conf 也要加入,

net.ipv4.ipforward = 1 net.ipv4.conf.all.proxyarp = 1

然后 sysctl -p

这样在虚拟机win7里配置ip 和 gateway,DNS就可以上网也可以使用pptp vpn了。