突然一天,万恶的电信偷偷把咱的拨号上网获取地址给换成了100.64.*.*(查了一下资料,据说是分配给ISP的内网地址)。当时俺可是在路由器(openwrt,壮哉我大linux)上刷IP来挂qq所在地,这样一弄我的脚本还怎么用呀。突然又联想到,以后要访问自己的内网服务器咋办。于是就有了下面的实验。

   实验思路,在互联网上有一台自己的VPS,2地通过pptp ×××拨号连接VPS,由VPS做中转访问(不要问我VPS是嘛,这就是钱啊!)。废话不多说,上图,GNS3+VM:

双层NAT,PPTP ×××搭建,访问实验_第1张图片

网络环境:

R4,R5模拟家用ADSL路由器,做NAPT转换用的那种。

R2,R3模拟运营商路由器。


IP分配:

C1(winxp):192.168.206.10,    gateway:192.168.206.254

C2(winxp):192.168.1.10,     gw:192.168.1.254

×××_server(centos6):8.8.8.8,    gw:8.8.8.254 

×××拨号网络ip段:10.1.1.0/24

R2,R3,R5路由器通过ospf通告网络学习路由,注意因为双层NAPT,所以没通告100.64.1.0的网段

network 200.1.1.0 255.255.255.0 area 0

...8.8.8.0...

...35.1.1.0 ...

R4默认路由 0.0.0.0 0.0.0.0 100.64.1.2

大体上的模拟环境如上,只写思路,不复述具体步骤了,特标明注意要点。


一、VM配置

   VM默认只会虚拟2张网卡,上面实验有3台主机,所以需要在VM的菜单栏-编辑-虚拟网络编辑器,添加一个虚拟网卡给GNS3连接,win7需提供VM管理员权限,重启系统后GNS3才能识别出新添加的网卡。


二、GNS3配置

  C1连接VM的虚拟网卡vmnet1,C2连接VM的虚拟网卡vmnet2,××× server连接VM的虚拟网卡vmnet8

  网络配置方面没啥好说,都是cisco基础知识,主要点在于R2,R4的NAT配置,R2,R3,R5的ospf配置。


三、服务器×××_server配置 

  因为用了centos搭建***服务器,所以记录一下:

1、 检查内核是否包含mppe

modprobe ppp-compress-18 && echo ok

2、 安装ppp,iptables,一般都默认有安装

yum install -y ppp iptables

3、 安装pptpd软件,yum源里没有,只能找第三方,我是32位系统

wget 
rpm -ivh pptpd-1.4.0-1.rhel5.i386.rpm

4、 配置pptpd

    ①编辑ppp/options.pptpd文件     

mv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
vim /etc/ppp/options.pptpd

   复制粘贴下面内容

name pptpd 
refuse-pap 
refuse-chap 
refuse-mschap 
require-mschap-v2 
require-mppe-128 
proxyarp 
lock 
nobsdcomp 
novj 
novjccomp 
nologfd 
ms-dns 208.67.222.222

  ②编辑/etc/pptpd.conf

option /etc/ppp/options.pptpd 
logwtmp 
localip 10.1.1.1     ## ×××server的IP地址
remoteip 10.1.1.11-254   ## 分配给client的IP地址段

  ③编辑/etc/ppp/chap-secrets

格式:账户名 options.pptpd配置的name选项名 密码 分配的IP

test1 pptpd test1 10.1.1.11
test2 pptpd test2 10.1.1.12

 ④为了让拨号用户能正常上网,需要打开×××服务器的IP转发与配置iptables NAT

vim /etc/sysctl.conf
修改以下内容:
net.ipv4.ip_forward = 1
保存退出后,执行以下命令刷新内核:
/sbin/sysctl -p

配置iptables

iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
完成后输入/etc/init.d/iptables save保存,并且输入/etc/init.d/iptables restart重新启动。

5、XP客户端新建×××连接,略



思考:怎样不用VPS进行穿透,VPS要额外花钱啊!!!