这是一个简短的教程,目的是为了快速搭建一个可用的PPTP VPN,本文并不涉及有关VPN的正常使用内容。本简短教程基于以下硬件条件:一台安装了Debian GNU/Linux 5.0的VPS。当然理论上所有可以安装pptpd包的Linux/Unix系统都可以作为主机,教程中安装方式是基于Debian的apt-get命令,其他发行版请自行对照使用。

正文

  1. 推荐windows用户使用PuTTY连接服务器。
  2. 在Host Name处填写vps的ip地址,连接
  3. 用root跟你得到的root密码登录。
  4. 安装PPTPD
    apt-get install pptpd
  5. 安装nano(如果你能够熟练的使用vi,可以省略这一步)
    apt-get install nano
  6. 编辑pptpd.conf文件
    nano /etc/pptpd.conf

    将以下内容行的注释去掉:

    option /etc/ppp/pptpd-options
    localip 192.168.0.1
    remoteip 192.168.0.201-245
  7. 这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。

  8. 添加登录用户
    nano /etc/ppp/chap-secrets

    添加一行,内容如下

    你想要的用户名 pptpd "你想要的密码" *

    密码用半角双引号括起来

    上面内容很好理解,最后那个星号是说允许从任何IP地址联接,如果你想单独设定IP地址也可以。

    理论上到这里一个vpn就已经搭建完毕了。无论你用的是Windows还是OSX,或者是iPhone OS,都可以通过建立一个pptp链接来联入这个VPN。不过你并不能通过这个来上Internet,因为所有的数据都作用于那台pptpd的服务器上, 而不会传入拨入的计算机设备上。要上Internet还需要这么干:

  9. 设置DNS解析,编辑pptpd-options
    nano /etc/ppp/pptpd-options

    找到ms-dns,取消掉注释,并修改DNS地址(推荐OpenDNS或者Google DNS)

    ms-dns 106.187.34.20
    ms-dns 106.187.35.20
    ms-dns 106.187.36.20

    我后来发现似乎不设置DNS也可以,系统会直接使用服务器/etc/resolve.conf中的设置。

  10. 开启转发
    nano /etc/sysctl.conf

    取消如下内容行的注释

    net.ipv4.ip_forward=1
  11. 运行下面这条命令
    echo 1 > /proc/sys/net/ipv4/ip_forward
  12. 安装iptables并设置
    apt-get install iptables
    iptables -t nat -I POSTROUTING -j MASQUERADE
  13. 启动服务
    /etc/init.d/pptpd restart
  14. VPN搭建完毕,可以尝试用客户端登录了。注意,在ubuntu上连接VPN要把Use Point-to-Point encryption (MPPE)的选项勾上。

No related posts.