起因


最近在调研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 ××× via your external IP 57.90.22.245

Username: pptp

Password: 123456

 

 PPTP Client 配置


安装PPTP配置工具与客户端 

yum install ppp pptp pptp-setup -y

#建立一个名为×××的连接的配置

pptpsetup --create *** --server 57.90.22.245 --username pptp --password 123456 --encrypt

拨号,建立连接

pppd call ***

上述脚本执行完成后,如顺利,执行ifconfig,如顺利,会看到主机中多了个ppp0的连接;如失败,请到目录/var/log/ppp/中查看 对应日志


配置静态路由


1. 我的测试环境内部有多个网段,第一条静态路由是保障在使用×××后,内网访问依然正常 【如果你的环境只有一个网段 ,这条路由请忽略】

route add -net 192.168.0.0/16 dev eth0

2. 第二条静态路由配置,这个路由是将所有外部访问,转发至PPTP拨号 

route add -net 0.0.0.0 dev ppp0

配置google的DNS,如果还是用国内的DNS,会发现有些资源依然无法访问

echo "nameserver 8.8.8.8" > /etc/resolv.conf

 关闭PPTP连接

Ifconfig ppp0 down

PPTP Client配置文件路径

 /etc/ppp/peers/

测试PPTP是否成功,直接在shell下Ping google即可