IT技术网www.itjs.cn

当前位置:首页 > 操作系统 > Linux > Ubuntu > 单网卡Ubuntu服务器打造 PPTP Server

单网卡Ubuntu服务器打造 PPTP Server

发布时间:2004-05-01 21:31 来源:未知

实验室的内部网络中有不少非常有用的资源,例如科研用的文献资料,个人的实验数据等等,这些内容一旦离开实验室就不那么容易访问到了。解决这个问题最好的办法就是 VPN。在 Ubuntu 上搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN。这三种方式中后两者的安全性比较好,但配置较麻烦。其中 OpenVPN 在 Windows/Mac 平台上还需要额外的客户端。而 L2TP/IPSec 方式虽然比较好,但我配置后,虽然 Windows 和 Linux 用户没有问题,但 Mac/iPhone 却始终无法连上,所以暂时删掉了,日后搞清楚是什么问题再换到这种方式。

首先,我所有的操作都是在之前文章中介绍的 Ubuntu 8.04 Server 系统中操作的,假如您的系统和我的不一样,请参考之前的两篇文章。我的服务器环境是单网卡 eth0。

在 Ubuntu 中建立 pptp server 需要的软件包为 pptpd,用 apt-get 即可安装:

sudo apt-get pptpd pptpd

sudo nano /etc/pptpd.conf

localip 10.100.0.1 remoteip 10.100.0.2-10

ms-dns 202.113.16.10 ms-dns 208.67.222.222

全部搞定后,我们需要重启 pptpd 服务使新配置生效:

sudo /etc/init.d/pptpd restart

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

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

net.ipv4.ip_forward=1

sudo sysctl -p

sudo apt-get intall iptables

sudo iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE

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

sudo iptables-save > /etc/iptables-rules

pre-up iptables-restore < /etc/iptables-rules

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

无法建立 VPN 连接

服务器端的防火墙设置:PPTP 服务需要使用 1723(tcp) 端口和 gre 协议,因此请确保您的防火墙设置允许这两者通行。

sudo iptables -A FORWARD -s 10.100.0.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

好了,至此,一台单网卡 pptp-server 就算完成了。