本文已参与「新人创作礼」活动,一起开启掘金创作之路。
搭建L2TP服务器和ikuai软路由的方法可通过本专题的博客查看,这里不做过多介绍
这里将家里局域网称为A区域,公司局域网成为B区域,因为主要是家里网络连接公司的局域网段,所以作者只在公司网络中使用ikuai路由器连接vpn,保证寻址。
1、在公司电脑的虚拟机ikuai中按以下操作连接自己的vpn服务器
这里记住本地IP。
2、在vpn服务器上设置路由表,让指定的ip都到B区域软路由上面寻址
2.1 单行手动添加脚本(注意,这里添加的方式为临时添加,当软路由断开重连vpn时会失效)
route add -net 192.168.38.0/24 gw 172.20.0.10
# 172.20.0.10为连接vpn服务器的软路由客户端本地ip
2.2 编写脚本,添加永久路由(原理是判断到vpn服务器能ping通软路由本地ip时,通过脚本添加软路由的ip寻址)
#! /bin/bash
#检测网络连接
ping -c 1 替换为软路由本地ip > /dev/null 2>&1
if [ $? -eq 0 ];then
echo 检测B区域网络正常
ping -c 1 替换为B区域的一个需要访问的ip,此ip应在下方刷新路由表的列表中 > /dev/null 2>&1
if [ $? -eq 1 ];then
echo 刷新B区域路由表
route add -net 192.168.38.0/24 gw 替换为B区域软路由的本地ip
route add -net 192.168.40.0/24 gw 替换为B区域软路由的本地ip
route add -net 192.168.50.0/24 gw 替换为B区域软路由的本地ip
route add -net 192.168.69.0/24 gw 替换为B区域软路由的本地ip
route add -net 139.9.76.0/24 gw 替换为B区域软路由的本地ip
fi
else
echo 检测B区域网络连接异常
fi
以上脚本中,替换...开头的汉字替换为具体ip地址,其中192.168.38.0/24、192.168.40.0/24、192.168.50.0/24等为A区域需要访问B区域ip的网段,作者平时就需要能在家访问这些ip,所以这里指定这几个,根据需求这里改为自己需要的
3、到这里vpn到b区域的网络转发就没问题了,下面是A区域电脑连接到vpn后,在本机配置路由表的介绍。
windows:route add 192.168.50.0 mask 255.255.255.0 172.20.0.1
linux:route add -net 192.168.50.0/24 gw 172.20.0.1
Mac OSX:route -n add -net 192.168.38.0/24 172.20.0.1
注意,A区域电脑连接到vpn后,也需要配置下路由表,按照以上脚本将需要vpn寻址的ip地址配置到路由表中,其中:172.20.0.1为本机连接vpn后的vpn网络连接的网关
192.168.*.0为本电脑需要访问B区域网络的具体网段(此网段已提前添加到vpn服务器的路由表中)