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