Centos vpn
47.254.18.211(公) 172.20.166.35(私有)
安装
先安装pptpd服务,就是VPN连接的软件模块。
yum install ppp iptables pptpd
安装完成之后,你就得开始好好干活了: A:编辑pptpd.conf:
vi /etc/pptpd.conf
找到localip,去掉下面字段前面的#,然后保存退出。
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
Tips: 不会用vi编辑器怎么办?用上下键移动光标到需要修的那一行,按“i”键进入插入编辑状态,修改完成之后,按“esc”键退出编辑,直接在键盘上输入“:wq"即可保存退出。
编辑options.pptpd
vi /etc/ppp/options.pptpd
搜索ms-dns,去掉搜索到的两行ms-dns前面的#,并修改为下面的字段
ms-dns 8.8.8.8 ms-dns 8.8.4.4
然后是加入VPN的帐号密码,需要编辑/etc/ppp/chap-secrets设置:
vi /etc/ppp/chap-secrets
添加一行,按照下面格式输入:# client server secret IP addresses
bo.wang pptpd "Wb191010610109" *
保存退出,配置内核。
vi /etc/sysctl.conf
在这个文件里面加入一行:
net.ipv4.ip_forward=1
,然后保存退出。
输入:sysctl -p 让刚才的设置生效。
sysctl -p
输入:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你的硅谷服务器的公网IP。
请注意最后的参数并不是那一段中文哦,而是你的服务器的IP地址。去阿里云的管理平台看。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 47.254.18.211
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 172.20.166.35
不知道你的机器哪块网卡连的外网的话ifconfig一下看看哪个网卡是外网IP就知道 4、添加iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -jMASQUERADE
(注意:由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0,这也是为什么很多杂乱的教程无法配置成功的原因之一)
然后输入:
chmod +x /etc/rc.d/rc.local
编辑系统配置:
vi /etc/rc.d/rc.local
把刚才那个iptables的命令加入进去。保存退出。 在ecs管理界面配置安全策略
允许 全部 -1/-1 地址段访问 0.0.0.0/0 - 90 2017-09-23 16:38:28 修改描述
启动vpn链接的服务:
systemctl start pptpd
让它开机自启动:
chkconfig pptpd on
万事大吉,整个过程大概30分钟就能搞定。
之后的VPN设置也很容易,你有了IP地址和用户名密码,直接设置好了就行。
问题解决
最后处理的3大总结:
1 .) 清除旧规则 ,一定得记得清nat记录,不清越加越多。
iptables -F iptables -X iptables -t nat -F iptables -t nat -X
---查看nat:# iptables -t nat -nL ---查看#iptables -nvL -t nat --line-numbers 2.) /bin/iptables.sh 里的
iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -p tcp --dport 1723 -j ACCEPT iptables -A INPUT -p tcp --dport 47 -j ACCEPT
重点是这一条:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source x.x.x.x
(192.168.0.0/24为VPN的网段,eth1 为外网网卡,xxxx 为外网ip ) 3.) 在 /etc/ppp/ip-up 中 /sbin/ifconfig $1 mtu 1500 的,exit 0 之前加入。 重启pptp的服务
4.) ifconfig -a 里 vpn连上后,可以查看 ppp0 mut是不是1500了,确定下。
systemctl restart iptables