1、先拥有一个centos的linux
各个门派方法略有不同需要自己实践
2、安装ppp协议, iptables防火墙, pptpd服务器
yum install ppp pptpd iptables -y
3、配置pptp
vi /etc/pptpd.conf 去掉前面#号 #localip 192.168.0.1 # 本地分配的ip #remoteip 192.168.0.234-238,192.168.0.245 # 本机ip
注:vi 和 vim 都可以 按 i 进入编辑模式 按 esc 输入 :wq 保存退出
4、配置ppp DNS
vi /etc/ppp/options.pptpd 去掉前面#号,修改为8.8.8.8 8.8.4.4 #ms-dns 10.0.0.1 #ms-dns 10.0.0.2
5、设置pptp的用户名和密码
vi /etc/ppp/chap-secrets # 用户 服务器 密码 IP地址 "user1" pptpd "user1" * # 注: pptpd为服务名称, 可以在/etc/ppp/options.pptpd文件中修改(第18行)
6、修改内核设置,使其支持转发
# 把0改成1 net.ipv4.ip_forward=0 ### 注意, 腾讯云服务器, /etc/sysctl.conf此配置文件为空, 文件在/etc/sysctl.conf.first中 1). 要么修改sysctl.conf.first, 然后 重新启动系统 2). 要么把文件内容复制至/etc/sysctl.conf文件中, 然后运行 sysctl -p 使内核生效
7、让内核生效(根据上一步是否需要)
sysctl -p
8、设置iptables转发规则
# 确保设置的网卡接口为公网eth0, 192.168.0.0/24 根据第二步来. -s 192.168.0.0/24也可以省略. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE # 或
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# 以防万一最好添加下21, 22, 80, 1723(pptp端口)常用端口
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
9、保存, 重启防火墙
# 重启防火墙 /etc/init.d/iptables save /etc/init.d/iptables restart # 重启pptp服务 /etc/init.d/pptpd restart # 设置pptp, iptables自启 chkconfig pptpd on chkconfig iptables on
10、检测端口
netstat -tan |grep 1723 tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN
11、允许建立VPN隧道,否则无法验证用户名及密码.
iptables -A INPUT -p gre -j ACCEPT
12、客户端成功连接PPTP,下载文件极慢;大部分网站访问速度极慢,百度几乎无法访问。
解决方法:
在pptp所在的linux服务的iptables的*filter表中加入
-I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
或者执行下面命令:
/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
13、常见问题
常见问题汇总:https://www.cnblogs.com/qianxiaoPro/p/14858444.html