Total Pageviews

Thursday, 5 September 2013

搭建openvpn的实验环境,模拟翻墙

众所周知VPN的原理是建立一条特殊的加密通道穿透公用网络进行私人网络的通讯,一般用于满足公司远程部门和本地部门之类通信的网络需求。但在天朝 的国情 下VPN被赋予了更为高尚的使命——作为代理翻墙。常用的VPN协议有L2TP,PPTP和SSL,openvpn则使用openssl协议进行通信,适 用平台比较广。在这里尝试模拟用Dynamips+VMware搭建实验环境模拟翻墙过程。     拓扑如下:
    拓扑说明:
    配置协议使互通。PC机为国内用户,R3模拟国际出口。R2模仿国外站点,与PC机互通。R2和R3分别做NAT和外网通信。R3通过ACL deny掉来自R1的流量模仿被墙信息。通过在R2内的服务器配置openvpn服务,在PC机上配置openvpn客户端,即可实现PC机通过 openvpn服务器访问R1被屏蔽信息。
   下面是具体的搭建过程:

1、​路由与互联

   R1、R2、R3三台路由器直接用Dynamips打开即可。我用的拓扑是ccna路由版,R1 R2 R3对应 R1 R2 R5。

2、VMware虚拟机

    服务器和PC机分别用VMware模拟,服务器上装一个linux系统(我装的是fedora10),PC上装一台XP。

3、连通VMware虚拟机和dynamips

    这是比较关键的一步,主要是为之前开启的2台虚拟机设置host-only的网络方式,等同于在拓扑里的两台交换机,然后修改dynamips里面路由器net配置中接口的网络参数,使”虚拟交换机”VMnet2和VMnet3和R2\R3连通。

    3.1 配置VMnet

    以VM7.0为例,先在主界面点击左上角编辑,进入”编辑虚拟网络”
    根据规划的拓扑为VMnet2和VMnet3都设置为host-only模式并且分别分配子网为192.168.2.0和192.168.3.0。然后到 本地连接修改VMnet2和VMnet3IP为192.168.2.2和192.168.2.3(不修改默认为.1,但为了方便留作网关故作修改。)

3.2 为虚拟机分配VMnet

在虚拟机列表右键选择属性,分别为各台虚拟机分配相应的VMnet

3.3 获取VMnet网卡参数

到dynamips目录下的setup目录里面,安装完win_Pcap后,点击修改网卡参数的cmd
    上面就是我主机上各网卡的网卡参数,因为网络环境比较复杂,可以看到有不少网卡,其中VMware的也有不少。建议大家可以先到本地网络连接把VMware的网卡禁用掉,再控制变量一个一个开启VMnet,这样比较容易分别获得各个VMnet的网卡参数。

3.3修改路由配置

    获取网卡参数后,需要做的就是修改路由接口的连接了。还是到dynamips的目录下,找到net目录,这里存放了每个拓扑的各个路由配置,例如接口和寄 存器配置等都可以在这里修改。点击进入找到对应的文件(我的是ccna_routing.net),然后把需要更改的接口按下图修改就可以了。
以R2为例,在e1/1后面复制网络参数,并且在参数前添加
NIO_gen_eth:

这样修改后,dynamips的路由对应接口便已经连接到虚拟网络VMnet上。

    在完成以上的步骤后,整个实验拓扑便已经搭建完毕,接下来只需要按照上面的拓扑说明配置好路由,就已经模拟出国内一般的网络环境。最后就可以在这个拓扑上展开实验,例如在服务器端和客户端分别配置好openvpn便可以模拟国内一般的翻墙原理和过程了。