环境搭建
软件
- VM Workstation Pro
- SEEDUbuntu-16.04-32bit.zip
镜像准备
将SEEDUbuntu-16.04-32bit.zip复制粘贴到一个文件夹,重命名为seed_client_disk.zip,并在该文件夹下创建一个文件夹seed_client。
将SEEDUbuntu-16.04-32bit.zip复制粘贴到一个文件夹,重命名为seed_server_disk.zip,并在该文件夹下创建一个文件夹seed_server。
解压seed_client_disk.zip和seed_server_client.zip
一切完成之后,文件夹下的目录结构如下
镜像安装
- 打开VMware Worksattion,文件 –> 新建虚拟机
- –> 自定义 –> 下一步 –> 下一步 –> 稍后安装操作系统 –> 下一步 –> Linux –> Ubuntu
- –> 下一步 –> 虚拟机名称:seed_client –> 位置:选中已经创建的seed_client
- –> 下一步 –> 下一步 –> 下一步 –> 不使用网络连接 –> 下一步 –> 下一步 –> 下一步
- –> 使用现有虚拟磁盘 –> 下一步 –> 现有磁盘文件:选择seed_client_disk文件夹里的最小的vmdk
- –> 下一步 –> 完成
- 服务端同样这样创建。
- 创建完之后建议创建快照。
网络配置
网路拓扑
host v
以本机Windows作为第三台主机,需要关闭本机防火墙。
打开VMware,编辑–>虚拟网络编辑器–>右下角的更改设置–> 。
- VMnet1:10.0.2.0/24,仅主机模式,取消DHCP
- VMnet2:192.168.60.0/24,仅主机模式,取消DHCP
本地主机cmd窗口下输入”ncpa.cpl”,在打开的窗口中设置VMnet2的IP 地址:192.168.60.101/24,不需要设置网关。
本地主机管理员模式cmd窗口输入,由于VPN Server不完善。
1
route add 192.168.53.0 mask 255.255.255.0 192.168.60.1
seed_client
安装完seed_client后不要启动,编辑此虚拟机设置,添加一个网络适配器(如果有就不用添加了,但是确保只能有一个),设置为自定义VMnet1
启动seed_client后,右键选择”Open Terminal”,输入下面一条指令,可能会失败,建议使用图形界面设置IP,提示密码输入:dees
1
sudo ifconfig ens33 10.0.2.7 netmask 255.255.255.0
seed_server
安装完seed_server后不要启动,编辑此虚拟机设置,添加两个网络适配器(下面有一个添加按钮),第一个添加的设置为自定义VMnet1,第二个添加的设置为自定义VMnet2
启动seed_server后,右键选择”Open Terminal”,输入下面两条指令,可能会失败,建议使用图形界面设置IP,提示密码输入:dees
1
2
3sudo 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
seed_server安装完VMtools后,直接将VPN.ZIP复制到虚拟机的桌面,右键解压。
进入解压的文件夹,右键选择”Open Terminal”,输入”sudo make”。
下面的命令启动VPN 服务端程序并创建虚拟网卡,注意不会显示任何消息,别以为死机了。如果之后重新执行下面这条命令,它之后的所有命令都要再次执行。
1
sudo ./vpnserver
新打开一个终端,为虚拟网卡添加IP
1
sudo ifconfig tun0 192.168.53.1/24 up
开启路由转发。
1
sudo sysctl net.ipv4.ip_forward=1
seed_client
seed_client安装完VMtools后,将VPN.ZIP复制到虚拟机桌面,右键解压。
修改vpnclient.c代码中的”127.0.0.1”为”10.0.2.8”。
右键选择”打开shell”,输入”sudo make”。
下面的命令连接服务端,并创建虚拟网卡tun0,如果之后重新执行下面这条命令,它之后的所有命令都要再次执行,
1
sudo ./vpnclient 10.0.2.8
新打开一个终端,设置虚拟网卡IP
1
sudo ifconfig tun0 192.168.53.5/24 up
添加一条路由,只将对内网IP的访问通过VPN隧道。
1
sudo route add -net 192.168.60.0/24 tun0
测试
客户端Ping Host V
1
ping 192.168.60.101
客户端Ping 192.168.53.1
1
ping 192.168.53.1