让本地网络和VPN网络各行其道 - 折腾OMV
2020-04-07     loonlog     10225     5
本文目录
正常使用VPN访问家里的NAS,利用sstp协议拨号连接VPN后,会自动断开本地网络,所有流量都走了VPN,或者,连接上了本地网络,VPN又不通了;当然我们是希望在VPN连接状态下同时使用本地网络(本地的共享服务器和虚拟服务器)。那有没有本地网络和VPN网络同时在线的方法,好消息是 - 有:取消在远程网络上使用默认网关,通过指定本机路由表来实现。
1、连接上了VPN,成功的访问了VPN网络的共享文件,但是本地的网络都走了VPN,本地的共享无法访问。
VPN属性 > TCP/IP属性 > 高级 > 将"在远程网络上使用默认网关"的钩去掉;
这样只能访问本地,不能访问VPN,当然本地才是最重要的,先这么设置,下面一步解决这个问题。
2、解决上面的这个问题,需要指定静态路由,因为VPN无法走本地网关:
点击“开始”-“运行”-“CMD” ,输入“route print”可以显示当前的路由表。
添加路由表:
测试DOS命令:
route add 192.168.0.0 mask 255.255.255.0 192.168.1.251
解释命令:
192.168.0.0为VPN服务器局域网的网段(我的OMV个人NAS服务器局域网ip为192.168.0.123);
192.168.1.251为VPN拔号时分配的IP(我的ROS建立SSTP服务器时规定的ip池是192.168.1.1-192.168.1.254,本地电脑vpn拨号连接时候分配的地址就是192.168.1.251)。
以上配置,就可以实现本地网络有效,可以上外网,可以访问本地局域网中的共享文件,同时,VPN网络也有效,也能访问VPN局域网中的共享文件。
上面的DOS命令,在系统重启后会失效,需要永久DOS命令:
把上面的命令增加一个参数“-p”
route -p add 192.168.0.0 mask 255.255.255.0 192.168.1.251
先删除上面测试DOS命令建立的路由表:
route delete 192.168.0.0
然后再用永久DOS命令建立路由表:
route -p add 192.168.0.0 mask 255.255.255.0 192.168.1.251
即可,重启后,路由表依然有效。
(如果哪天发现vpn又连不上了,那是因为vpn拨号连接时分配的ip变了,只需要在vpn属性里面的“网络”ipv4里面设置固定ip,然而我设置固定ip就拨号有问题,目前我也没搞定,如果ip变了,就再次更新路由表,o(︶︿︶)o 唉!)
下面这张图片,是上面的操作步骤截图:
上面的问题背景是我自己在家做了一台OMV系统的NAS服务器,在ROS上建立了SSTP服务器,想利用VPN在外网访问家里的这台NAS共享的文件,在家测试成功;然而公司的电脑是用的华为虚拟机,就是公司用华为的这一套东西,搞个服务器,我们员工每人一个盒子(美其名曰“华为云客户端”),访问这个服务器,虚拟一个PC机,只要我一连接VPN,虚拟机就断开和华为服务器的连接,导致系统直接退出;于是才在网上找到个这么个方法来解决了。这篇文章所有内容都是我第一次接触,可能会有说的不对的地方,欢迎大家给我留言评论,在此谢过!
参考资料:http://www.iev.cn/2017/2557/vpn连接如何指定静态路由/ (这篇文章才解决了路由表指令的疑惑,其他网上找很多说的都不对,前后关系说的不明白。)
OpenMediaVault , NAS , OMV , VPN , ROS , SSTP , RouterOS
http://loonlog.com/2020/4/7/both-local-and-VPN-networks-ok/
评论列表,共 5 条评论
回复
vpn的地址不能固定,需要在vpn的服务器上进行设备,在VPN服务器上将用户名和密码进行绑定。
如果是远程路由器或者防火墙开启的vpn pptp ,在其新建用户的界面有绑定列表
如果是windows server下开启的VPN 需要有计算机管理-用户和组,用户名属性高级,远程拨号中写入你想要的IP.
回复
找个时间试试看
回复
route -p add 192.168.0.0 mask 255.255.255.0 192.168.1.251
意思是:本机所有需要发往192.168.0.0/24地址段的IP数据包,全部由192.168.1.251(VPN)路径转发。
回复
回复
老铁,双击666支持下