PPTP虽然在若干情况下兼容性不是很好,但是其配置非常简单。本文介绍在Debian 7 下安装PPTP服务器的搭建具体步骤如下:

安装pptp服务器软件

1
    aptitude install pptpd

修改/etc/pptpd.conf

/etc/pptpd.conf的文件内容如下:

1
2
3
    option /etc/ppp/pptpd-options
    localip 172.10.10.1
    remoteip 172.10.10.100.-254

其中localip的字段含义为pptp服务器在vpn服务器中显示的字段,remoteip是vpn服务器为client分配ip地址时使用的地址段。

修改/etc/ppp/pptpd-options

/etc/ppp/pptpd-options的内容如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
    name pptpd
    refuse-pap
    refuse-chap
    refuse-mschap
    require-mschap-v2
    require-mppe-128
    proxyarp
    lock
    nobsdcomp
    novj
    novjccomp
    nologfd
    ms-dns 8.8.8.8
    ms-dns 8.8.4.4

其中的ms-dns字段是dns服务器地址,一旦Client连接上vpn服务器之后,Client会按照上述字段进行dns服务器的自动配置

修改/etc/ppp/chap-secrets,增加用户账号

/etc/ppp/chap-secrets的内容示例如下:

1
2
    #用户名            服务器类型   密码      接入地址
    <username>     *     <password>   *

其中服务器字段选择为*的原因是考虑到ppp还可以用作l2tp拨号,这样的话,pptp和l2tp可以共用同一个账号进行服务器登录。

开启ip转发

修改/etc/sysctl文件,确保下列选项的开启

1
    net.ipv4.ip_forward=1

确保修改生效

1
    sysctl --system

修改iptables的防火墙规则

具体的iptable的规则如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
    #接受ppp接口的相关包
    iptables -A INPUT -i ppp+ -j ACCEPT
    iptables -A OUTPUT -o ppp+ -j ACCEPT

    #打开1723和47端口
    iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
    iptables -A INPUT -p 47 -j ACCEPT
    iptables -A OUTPUT -p 47 -j ACCEPT

    #转发和路由相关的配置
    iptables -F FORWARD
    iptables -A FORWARD -j ACCEPT

    iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
    iptables -A POSTROUTING -t nat -o ppp+ -j MASQUERADE

启动pptp服务器

1
    service pptpd restart

参考文献

  1. https://wiki.archlinux.org/index.php/PPTP_Server