Centos vpn

来自ling
跳转至: 导航搜索

[1]

[2]

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