vim /etc/pptpd.conf localip 172.17.89.106 remoteip 172.17.0.120-123 #localip 172.17.89.106和remoteip 172.17.0.120-123分别是VPN的网关地址和VPN拨号获取地址段。
vim /etc/ppp/options.pptpd ms-dns 223.5.5.5 ms-dns 223.6.6.6 #IP 地址 223.5.5.5 和 223.6.6.6是阿里云的公共 DNS 服务器地址,您可以根据需要调整为其它公共 DNS 服务地址。
vim /etc/ppp/chap-secrets test * 123456 * #设置 pptpd 的用户名和密码。根据需要添加账号,一行只添加一个用户账号。按照 用户名 pptpd 密码 IP地址 的格式输入,每一项用空格隔开。保存后退出。示例:test pptpd 123456 *,其中 * 表示所有IP。
vim /etc/ppp/ip-up ifconfig ppp0 mtu 1472 #设置最大传输单元 MTU,在命令符 [ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local “$@” 下面添加 ifconfig ppp0 mtu 1472。
修改内核参数
1 2 3 4 5 6
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl -p
echo 1 > /proc/sys/net/ipv4/ip_forward #临时生效
添加防火墙规则
1 2 3 4
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 123.127.82.11 #添加 NAT 转发规则,其中123.127.82.11为您的实例公网 IP 地址 iptables-save
启动
1 2
systemctl start pptpd systemctl enable pptpd
Client
安装
1
yum install -y ppp pptp pptp-setup
创建连接
1 2 3 4 5
pptpsetup --create test --server 123.127.82.11 --username test --password 123456 --encrypt --start #创建后会自动连接 vim /etc/ppp/options.pptpd require-mppe-128 #如果有报错,要加入这一行。
添加路由
1 2 3 4 5 6 7 8 9 10 11 12
* 实际情况,因为测试发现连接VPN后,可以连接kafka,但硬件设备不能向netty发送数据。但不连接VPN时,硬件设备可以向netty发送数据,但连接不上阿里云的kafka。判断认为,这是由于使用了阿里云提供的添加路由的方法,替换了默认网关。所以有此现象。重新调整了添加路由的命令如下 ip route add 172.17.0.0/16 via 172.17.89.106 dev ppp0 #添加一条路由,到172.17.0.0/16网络,下一跳地址是172.17.89.106,设备是ppp0。使用via指定下一跳地址。 * 阿里云方法,实际中这样是不行的 ip route replace default dev ppp0 #测试发现,要先连接VPN,再添加路由。如果VPN断开,要重新添加路由。添加后会有三条信息加入,如下第一条和最后两条 [root@bogon ~]# ip route l default dev ppp0 scope link default via 10.5.5.1 dev ens160 proto static metric 100 10.5.5.0/24 dev ens160 proto kernel scope link src 10.5.5.25 metric 100 113.52.7.78 via 10.5.5.1 dev ens160 src 10.5.5.25 172.17.89.106 dev ppp0 proto kernel scope link src 172.17.0.120