配置连接VPN客户端要用到的帐号密码。
vi /etc/ppp/chap-secrets
格式通俗易懂,client为帐号,server是pptpd服务,secret是密码,*表示是分配任意的IP,例如:
username pptpd password *
其中*号处可以设置为分配固定的内网IP地址。
配置sysctl.conf(允许转发)。
vi /etc/sysctl.conf
添加一行:
net.ipv4.ip_forward = 1
保存后执行 sysctl -p 使之生效。
根据 http://phoenix007.iteye.com/blog/712583 的方法,
此步骤也可执行用 echo 1 > /proc/sys/net/ipv4/ip_forward 执行(未验证)。
增加 iptables 转发规则,否则VPN连上后无法通过VPN访问外网。
iptables -t nat -F (清除已有规则)
iptables -t nat -A POSTROUTING -s 前面设置的remoteip(VPN客户端IP)地址/24 -j SNAT --to 你的服务器的公网IP
注意:如果是AWS EC2等部分主机,主机上没有直接绑定公网IP,而是一个内网IP,可用 ifconfig eth0 查看IP地址,上面的公网IP部分应为这个内网IP。
设置错了?可 iptables -t nat -F 后重新设置。
增加 iptables 防火墙放行规则。
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT iptables -I INPUT -p tcp --dport 自定义VPN端口 -j ACCEPT iptables -I INPUT -p tcp --dport 47 -j ACCEPT iptables -I INPUT -p gre -j ACCEPT
最后,保险起见,到了这里应该重启一下pptpd服务和iptables服务生效。
systemctl restart iptables systemctl restart pptpd
本文收集整理自 http://my.oschina.net/110NotFound/blog/338080?p=1 ,
原作者/发布者:雨翔河 。特别感谢!
————————————————
小贴士:
查看 iptables 当前配置的命令
iptables -nvL
给 pptp 用户设置固定的内网IP:
vi /etc/ppp/chap-secrets
在用户名和密码配置文件中,每行最后一项可设置为要分配的固定的内网IP。*表示随机分配。
————————————————
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截