pptpd 服务器安装配置

系统服务   pptpd  
系统环境

CentOS 6.4 64bit

安装ppp
wget https://download.samba.org/pub/ppp/ppp-2.4.5.tar.gz  
tar zxf ppp-2.4.5.tar.gz  
cd ppp-2.4.5  
./configure --prefix=/usr/local/ppp/
make && make install  
make install-etcppp  
安装pptpd
  • 安装
wget http://sourceforge.net/projects/poptop/files/pptpd/pptpd-1.3.4/pptpd-1.3.4.tar.gz  
tar zxf pptpd-1.3.4.tar.gz  
cd pptpd-1.3.4/  
sed -i 's/2.4.3/2.4.5/g' plugins/patchlevel.h  
#版本号2.4.3修改为2.4.5

./configure --prefix=/usr/local/pptpd
make && make install  
mkdir -p /usr/lib/pptpd  
ln -s /usr/local/pptpd/lib/pptpd/pptpd-logwtmp.so /usr/lib/pptpd/pptpd-logwtmp.so  
mkdir /usr/local/pptpd/etc  
cp samples/options.pptpd samples/pptpd.conf /usr/local/pptpd/etc/  
  • pptpd.conf配置(/usr/local/pptpd/etc/pptpd.conf)
ppp /usr/local/ppp/sbin/pppd                #ppp组件的程序路径  
option /usr/local/pptpd/etc/options.pptpd   #需要修改成options.pptpd配置文件的路径  
debug                                       #开启bug模式,日志被记录到/var/log/messages  
stimeout 30  
logwtmp /var/log/pptpd.log                  #日志存放目录  
localip 192.168.10.1                        #本地网卡IP  
remoteip 192.168.10.100-200                 #拨号后分配给客户端的IP范围  
  • options.pptpd配置(/usr/local/pptpd/etc/options.pptpd)
name pptpd              #pptpd server 的名称  
refuse-pap              #拒绝 pap 身份验证模式  
refuse-chap             #拒绝 chap 身份验证模式  
refuse-mschap           #拒绝mschap身份验证模式  
require-mschap-v2       #在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证  
require-mppe-128        #MPPE 模块使用 128 位加密  
ms-dns 8.8.8.8          #ppp为 Windows 客户端提供 DNS 服务器 IP 地址,第一个ms-dns为 DNS Master  
ms-dns 8.8.4.4          #第二个为 DNS Slave  
proxyarp                #建立 ARP 代理键值  
lock                    #锁定客户端 PTY 设备文件  
nobsdcomp               #禁用 BSD 压缩模式  
novj  
novjccomp               #禁用 Van Jacobson 压缩模式  
nologfd                 #禁止将错误信息记录到标准错误输出设备(stderr)。  
  • 配置vpn用户和密码(/etc/ppp/chap-secrets)
# 用户名      pptpd server 的名称         密码                    分配的IP任意或者指定
# client        server                   secret                  IP addresses
leoiceo         pptpd                   "123123"                     *  
  • 启动pptpd
    /usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/etc/pptpd.conf &
  • 加入开机启动
    echo "/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/etc/pptpd.conf&" >> /etc/rc.local
开启自动转发
  • 临时生效   
    echo 1 > /proc/sys/net/ipv4/ip_forward

  • 永久生效
    vi /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    sysctl -p

防火墙配置
  • 伪装ip,把远程拨入的vpn地址转换成eth0上的ip地址
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • 防火墙开放1723端口
    /sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
  • 开启所需的gre协议
    /sbin/iptables -A INPUT -p gre -j ACCEPT