Home > Computer Science > Linode VPS上安装pptpd VPN服务

Linode VPS上安装pptpd VPN服务

Feb 12th, 2010 00:52:47 Leave a comment Go to comments

从购买了Linode VPS服务之后,就一直考虑弄个VPN。今天终于实现了,该文档讲述了如何在Linode上配置基于pptpd的VPN服务,以及一些troubleshooting的问题。

前提:必须有VPS;必须有SSH。

接下来的步骤将完成pptpd的安装:

  1. 安装pptpd服务
    sudo apt-get install pptpd
  2. 修改pptpd服务的配置文件/etc/pptpd.conf(只需要修改最后的localip和remoteip部分):
    localip 192.168.10.1
    remoteip 192.168.10.100-150
    
  3. 修改/etc/ppp/chap-secrets文件
    username pptpd password *
  4. 设置pptpd的DNS服务器,修改/etc/ppp/pptpd-options文件:
    ms-dns 208.67.222.222
    ms-dns 208.67.220.220
    
  5. 设置ip4v转发,修改/etc/sysctl.conf文件,去掉如下行的注释:
    net.ipv4.ip_forward=1
  6. 使ipv4转发生效,运行:
    sysctl -p
  7. 重新启动pptpd服务,运行:
    /etc/init.d/pptpd restart
  8. 开启ipv4转发,运行如下命令:
    /sbin/iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
    /sbin/iptables -p FORWARD ACCEPT
    

需要注意的是,我的VPS不知为什么,FORWARD rule默认的action是DROP(可能是由于我之前配制了防火墙的缘故。这也令我在一段时间内,纠结于为啥VPN无法正常转发。

Categories: Computer Science Tags: , , , ,
  1. July 17th, 2010 at 23:38 | #1

    非常感谢。我用的也是debian,所以照着你的帮助,很容易就配置好了。

    但是我有一个疑问:

    openvpn, l2tpd/IPSec VPN服务 pptp 这些有什么区别啊?

  2. July 17th, 2010 at 23:41 | #2

    另外,/sbin/iptables -p FORWARD ACCEPT 这句的 -p 应该是大写

  3. simper
    October 18th, 2010 at 10:37 | #3

    linode debian 5.0 32bit, 照博文配置,之后VPN能连接成功,但无法访问网络,查/var/log/messages:

    Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
    Oct 18 02:21:08 li221-142 pppd[3506]: pppd 2.4.4 started by root, uid 0
    Oct 18 02:21:08 li221-142 pppd[3506]: Using interface ppp0
    Oct 18 02:21:08 li221-142 pppd[3506]: Connect: ppp0 /dev/pts/1
    Oct 18 02:21:09 li221-142 pppd[3506]: MPPE 128-bit stateless compression enabled
    Oct 18 02:21:09 li221-142 pppd[3506]: local IP address 192.168.0.1
    Oct 18 02:21:09 li221-142 pppd[3506]: remote IP address 192.168.0.234
    Oct 18 02:21:37 li221-142 pppd[3506]: LCP terminated by peer (MPPE disabled)
    Oct 18 02:21:37 li221-142 pppd[3506]: Connect time 0.5 minutes.
    Oct 18 02:21:37 li221-142 pppd[3506]: Sent 0 bytes, received 15914 bytes.
    Oct 18 02:21:37 li221-142 pppd[3506]: Modem hangup
    Oct 18 02:21:37 li221-142 pppd[3506]: Connection terminated.
    Oct 18 02:21:37 li221-142 pppd[3506]: Exit.

    察看内核zgrep MPPE /proc/config.gz:
    CONFIG_PPP_MPPE=y
    百思不得其解…

  1. No trackbacks yet.