无公网 CVM 通过带公网 CVM 出访公网
最近更新时间: 2024-10-17 17:10:00
操作场景
在选购云服务器时,若您选择了0Mbps带宽上限,则该云服务器将无法访问公网。本文以 CentOS7.5 为例,介绍如何在无公网 IP 的云服务器上通过 PPTP VPN 连接有公网 IP 的云服务器访问公网。
前提条件
已在同一个私有网络下创建两台云服务器(一台无公网 IP 的云服务器和一台有公网 IP 的云服务器)。
已获取有公网 IP 的云服务器的内网 IP。
操作步骤
在有公网 IP 的云服务器上配置 PPTP
登录有公网 IP 的云服务器。
执行以下命令,安装 PPTP。
yum install -y pptpd
执行以下命令,打开
pptpd.conf
配置文件。vim /etc/pptpd.conf
按 “i” 切换至编辑模式,并在文件尾部添加以下内容。
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
按 “Esc”,输入 “:wq”,保存文件并返回。
执行以下命令,打开
/etc/ppp/chap-secrets
配置文件。vim /etc/ppp/chap-secrets
按 “i” 切换至编辑模式,并按以下格式,在文件尾部添加连接 PPTP 的用户名和密码。
用户名 pptpd 密码 *
例如,连接 PPTP 的用户名为 root,登录密码为123456,则需要添加的信息如下:
root pptpd 123456 *
按 “Esc” ,输入 “:wq”,保存文件并返回。
执行以下命令,启动 PPTP 服务。
systemctl start pptpd
依次执行以下命令,启动转发能力。
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
在无公网 IP 的云服务器上配置 PPTP
登录无公网 IP 的云服务器。
执行以下命令,安装 PPTP 客户端。
yum install -y pptp pptp-setup
执行以下命令,创建配置文件。
pptpsetup --create 配置文件的名称 --server 有公网 IP 的云服务器的内网 IP --username 连接 PPTP 的用户名 --password 连接 PPTP 的密码 --encrypt
例如,创建一个 test 配置文件,已获取有公网 IP 的云服务器的内网 IP 为10.100.100.1,则执行以下命令:
pptpsetup --create test --server 10.100.100.1 --username root --password 123456 --encrypt
执行以下命令,连接 PPTP。
pppd call test(为步骤3创建的配置文件名称)
依次执行以下命令,设置路由。
route add -net 10.0.0.0/8 dev eth0 route add -net 172.16.0.0/12 dev eth0 route add -net 192.168.0.0/16 dev eth0 route add -net 169.254.0.0/16 dev eth0 route add -net 9.0.0.0/8 dev eth0 route add -net 100.64.0.0/10 dev eth0 route add -net 0.0.0.0 dev ppp0
检查配置是否成功
在无公网 IP 的云服务器上,执行以下命令,PING 任意一个外网地址,检查是否可以 PING 通。
ping -c 4 外网地址
若返回类似如下结果,则表示配置成功: