首先是通过
sudo apt-get install pptpd安装linux下的vpn服务器端

修改配置文件:/etc/pptpd.conf
修改(若没有则创建)localip和remoteip两个项,分别填写正确的ip信息。其中前者可以是一个固定的ip地址,属于vpn服务器所在网络的,后者最好选填一个范围,最好不和其他机器冲突,不过关系不大。
localip 192.168.250.1
remoteip 192.168.250.234-238,192.168.250.245

修改配置文件:/etc/ppp/chap-secrets
# client        server secret                  IP addresses
rich             pptpd   apassword                192.168.250.1   //rich是用户名   apassword是密码
geoff             pptpd   apassword                212.219.0.0
最后是为客户拨号后分配的IP地址,不指定的话就是系统自动分配。

此时,基本配置已经好了。只需要
sudo /etc/init.d/pptpd restart重启vpn服务即可

以上过程之后,咱的PPTPD就配置好了哈

由于服务器采用了shorewall防火墙,需要开放端口1723,47和gre协议
编辑/etc/shorewall/rules
增加:
ACCEPT net $FW gre
ACCEPT net $FW tcp 1723
ACCEPT net $FW tcp 47

然后重启下shorewall:
sudo shorewall restart
开始测试在windows上×××拨号吧

windows下×××连接建立方法就不多说了哈

下面来做NAT,拨通×××后,在服务器上使用ifconfig可以看到多了一个PPP*的网络连接,例如我这里是ppp0,做NAT我也使用shorewall来做

修改/etc/shorewall/interface

增加:

ppp ppp0

修改/etc/shorewall/masq 网管网bitsCN_com

增加:

eth0 ppp0

OK,然后重启shorewall

sudo shorewall restart

NAT配置好了!!

这里要注意的是ppp0一定要存在,否则shorewall要报错,这个就是shorewall不足的地方了,不够灵活。

如果你不用shorewall 防火墙,直接使用iptables指令进行dnat操作,就不会因为没有ppp0连接而报错了