安装 pptpd 服务

原文链接http://wiki.ubuntu.org.cn/index.php?title=Vps&variant=zh-cn#.E5.AE.89.E8.A3.85_PPTP_VPN

安装 pptpd 服务

执行如下命令安装,遇到提示输入 Y/n 时,输入 Y 回车即可:

 apt-get install pptpd

配置 pptpd

为了避免和本地网络冲突,我们创建VPN的IP范围为 192.168.10.21-192.168.10.100

执行如下命令:

echo 'localip 192.168.10.1-20' >> /etc/pptpd.conf
echo 'remoteip 192.168.10.21-100' >> /etc/pptpd.conf
echo 'ms-dns 8.8.8.8' >> /etc/ppp/pptpd-options
echo 'ms-dns 8.8.4.4' >> /etc/ppp/pptpd-options
echo 'nopcomp' >> /etc/ppp/pptpd-options
echo 'noaccomp' >> /etc/ppp/pptpd-options

继续增加 pptp 用户帐号:

格式为 [UserName] pptpd [Password] * ,我们增加一个 guest 密码 为 123456 的用户如下:

echo 'guest pptpd 123456 *' >> /etc/ppp/chap-secrets

重启下pptpd:

/etc/init.d/pptpd restart


8.开启ip转发

#iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o eth0 -j MASQUERADE

完成。


注意:如果需要在 iphone 上使用,请在 iphone 的 PPTP 设置页将 "加密级别" 设置为 "最高" ,否则将无法连接上。

建立连接之后,您会发现除了可以访问服务器的资源,其余内外和互联网的内容均无法访问。如果需要访问这些内容的话,我们还需要进一步设置:

首先,开启 ipv4 forward。方法是,修改 /etc/sysctl.conf,找到类似下面的行并取消它们的注释:

net.ipv4.ip_forward=1然后使新配置生效:

sudo sysctl -p有些时候,经过这样设置,客户端机器就可以上网了(我在虚拟机上这样操作后就可以了)。但我在实验室的服务器上这样操作后仍然无法访问网络,这样我们就需要建立一个 NAT。这里我们使用强大的 iptables 来建立 NAT。首先,先安装 iptables:

sudo apt-get intall iptables装好后,我们向 nat 表中加入一条规则:

#iptables -t nat -A POSTROUTING -s 192.168.13.0/24 -o eth0 -j MASQUERADE

这样操作后,客户端机器应该就可以上网了。

但是,只是这样,iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,方法是使用 iptables-save 命令:

sudo iptables-save > /etc/iptables-rules然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

pre-up iptables-restore < /etc/iptables-rules这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。

到此,一个 VPN Server/Gateway 基本就算架设完毕。当然,也许你按照我的方法做了,还是无法成功,那么下面总结一些我碰到的问题和解决方案:

posted @ 2012-11-12 15:15  wangkangluo1  阅读(1426)  评论(0编辑  收藏  举报