pptpd vpn的关键在于iptables的用的对不对,iptables决定了vpn的用处,但是如果深入的话主配置文件也很重要。


1、确认系统是否支持

modprobe ppp-compress-18 && echo ok

#确认你的系统内核是否支持mppe

yum update

#可以升级下内核


2、检查系统是否开启TUN/TAP支持

# cat /dev/net/tun
    cat: /dev/net/tun: File descriptor in bad state


3、检查系统是否开启ppp支持

# cat /dev/ppp
cat: /dev/ppp: No such device or address


4、添加扩展yum源

Centos6

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

Centos7

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


5、安装ppp和pptpd

yum install ppp pptpd -y


6、修改配置文件

# vim /etc/pptpd.conf 
    102 localip 192.168.0.1
    103 #localip 192.168.0.1
    104 remoteip 192.168.0.50-100


7、配置DNS这将是分配给客户机的dns服务器地址

# vim /etc/ppp/options.pptpd
    ms-dns 223.5.5.5
    ms-dns 8.8.8.8


8、添加用户名和密码

# vim /etc/ppp/chap-secrets
    vperson         pptpd   vperson                 *


9、配置iptables转发规则

iptables -t nat -L
iptables -L
iptables -I INPUT  -p tcp -m tcp --dport 1723 -j ACCEPT 
iptables -I INPUT -p gre -j ACCEPT 
iptables -I FORWARD -p gre -j ACCEPT 
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
ifconfig


iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 112.74.197.81

#这条规则的意思是将原地址为192.168.0.0/24,原地址转换成我们能访问外网的地址,我这里直接用公网地址了,也可以用私网地址


10、我在弄vpn服务器时出现了问题,客户机能ping通域名,也就是说能解析,但是不能用浏览器打开浏览外网,我的解决方法是,在iptables里做如下规则。由于我对iptables也不是很了解,就不做解释了,怕误人子弟。

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 192.168.0.0/24   -j TCPMSS  --clamp-mss-to-pmtu