Seed VPN


环境搭建

软件

  1. VM Workstation Pro
  2. SEEDUbuntu-16.04-32bit.zip

镜像准备

  1. SEEDUbuntu-16.04-32bit.zip复制粘贴到一个文件夹,重命名为seed_client_disk.zip,并在该文件夹下创建一个文件夹seed_client

  2. SEEDUbuntu-16.04-32bit.zip复制粘贴到一个文件夹,重命名为seed_server_disk.zip,并在该文件夹下创建一个文件夹seed_server

  3. 解压seed_client_disk.zipseed_server_client.zip

  4. 一切完成之后,文件夹下的目录结构如下

镜像安装

  1. 打开VMware Worksattion,文件 –> 新建虚拟机
  2. –> 自定义 –> 下一步 –> 下一步 –> 稍后安装操作系统 –> 下一步 –> Linux –> Ubuntu
  3. –> 下一步 –> 虚拟机名称:seed_client –> 位置:选中已经创建的seed_client
  4. –> 下一步 –> 下一步 –> 下一步 –> 不使用网络连接 –> 下一步 –> 下一步 –> 下一步
  5. –> 使用现有虚拟磁盘 –> 下一步 –> 现有磁盘文件:选择seed_client_disk文件夹里的最小的vmdk
  6. –> 下一步 –> 完成
  7. 服务端同样这样创建。
  8. 创建完之后建议创建快照。

网络配置

  1. 网路拓扑

host v

  1. 以本机Windows作为第三台主机,需要关闭本机防火墙。

  2. 打开VMware,编辑–>虚拟网络编辑器–>右下角的更改设置–> 。

    1. VMnet1:10.0.2.0/24,仅主机模式,取消DHCP
    2. VMnet2:192.168.60.0/24,仅主机模式,取消DHCP
  3. 本地主机cmd窗口下输入”ncpa.cpl”,在打开的窗口中设置VMnet2的IP 地址:192.168.60.101/24,不需要设置网关。

  4. 本地主机管理员模式cmd窗口输入,由于VPN Server不完善。

    1
    route add 192.168.53.0 mask 255.255.255.0 192.168.60.1

seed_client

  1. 安装完seed_client后不要启动,编辑此虚拟机设置,添加一个网络适配器(如果有就不用添加了,但是确保只能有一个),设置为自定义VMnet1

  2. 启动seed_client后,右键选择”Open Terminal”,输入下面一条指令,可能会失败,建议使用图形界面设置IP,提示密码输入:dees

    1
    sudo ifconfig ens33 10.0.2.7 netmask 255.255.255.0

seed_server

  1. 安装完seed_server后不要启动,编辑此虚拟机设置,添加两个网络适配器(下面有一个添加按钮),第一个添加的设置为自定义VMnet1,第二个添加的设置为自定义VMnet2

  2. 启动seed_server后,右键选择”Open Terminal”,输入下面两条指令,可能会失败,建议使用图形界面设置IP,提示密码输入:dees

    1
    2
    3
    sudo ifconfig ens33 10.0.2.8 netmask 255.255.255.0
    //除了ens33外,还有一个ens开头的网卡,具体是什么,输入ifconfig查看
    sudo ifconfig ens38 192.168.60.1 netmask 255.255.255.0

实验步骤

seed_server

  1. seed_server安装完VMtools后,直接将VPN.ZIP复制到虚拟机的桌面,右键解压。

  2. 进入解压的文件夹,右键选择”Open Terminal”,输入”sudo make”。

  3. 下面的命令启动VPN 服务端程序并创建虚拟网卡,注意不会显示任何消息,别以为死机了。如果之后重新执行下面这条命令,它之后的所有命令都要再次执行。

    1
    sudo ./vpnserver
  4. 新打开一个终端,为虚拟网卡添加IP

    1
    sudo ifconfig tun0 192.168.53.1/24 up
  5. 开启路由转发。

    1
    sudo sysctl net.ipv4.ip_forward=1

seed_client

  1. seed_client安装完VMtools后,将VPN.ZIP复制到虚拟机桌面,右键解压。

  2. 修改vpnclient.c代码中的”127.0.0.1”为”10.0.2.8”。

  3. 右键选择”打开shell”,输入”sudo make”。

  4. 下面的命令连接服务端,并创建虚拟网卡tun0,如果之后重新执行下面这条命令,它之后的所有命令都要再次执行,

    1
    sudo ./vpnclient 10.0.2.8
  5. 新打开一个终端,设置虚拟网卡IP

    1
    sudo ifconfig tun0 192.168.53.5/24 up
  6. 添加一条路由,只将对内网IP的访问通过VPN隧道。

    1
    sudo route add -net 192.168.60.0/24 tun0

测试

  1. 客户端Ping Host V

    1
    ping 192.168.60.101
  2. 客户端Ping 192.168.53.1

    1
    ping 192.168.53.1