起因
最近在调研Docker相关的技术,在安装测试环境中,发现需要调用google方面的资源 。设置了http proxy,安装过程中发现还是有网络问题【应该是一些拉取资源 的指令的代理需要单独配置】,所以想就找个一劳永逸的办法,做个PPTP拨号,一次把网络问题搞定。而在网络上搜索时,发现基本搜索不到一个完整的指导文档,特写了此文档用做查询。
目标
内部用来测试的CentOS主机,通过PPTP拨号至香港的PPTP Server,从而实现【yum 安装,docker pull 】访问google等资源的需求。
环境
PPTP Server :首先得有一台能访问google的Linux主机怠。我是在香港买了一台阿里云的云主机,操作系统 是CentOS 7.0.1406 。
PPTP Client:内部用来测试用的主机,操作系统为CentOS Linux release 7.2.1511
PPTP Server配置
我在网上搜索时发位有位大侠,已经做了个PPTP Server的自动部署脚本,咱们直接用就好了,网上好人多呀。文档地址:脚本文档链接
按其提供的脚本,配置好的帐户信息如下:
You can now connect to your VPN via your external IP 57.90.22.245
Username: pptp
Password: 123456
PPTP Client 配置
安装PPTP配置工具与客户端
yuminstallppppptppptp-setup-y
#建立一个名为VPN的连接的配置
pptpsetup--createvpn--server57.90.22.245--usernamepptp--password123456--encrypt
拨号,建立连接
pppdcallvpn
上述脚本执行完成后,如顺利,执行ifconfig,如顺利,会看到主机中多了个ppp0的连接;如失败,请到目录/var/log/ppp/中查看 对应日志
配置静态路由
1. 我的测试环境内部有多个网段,第一条静态路由是保障在使用VPN后,内网访问依然正常 【如果你的环境只有一个网段 ,这条路由请忽略】
routeadd-net192.168.0.0/16deveth0
2. 第二条静态路由配置,这个路由是将所有外部访问,转发至PPTP拨号
routeadd-net0.0.0.0devppp0
配置google的DNS,如果还是用国内的DNS,会发现有些资源依然无法访问
echo"nameserver8.8.8.8">/etc/resolv.conf
关闭PPTP连接
Ifconfigppp0down
PPTP Client配置文件路径
/etc/ppp/peers/
测试PPTP是否成功,直接在shell下Ping google即可