在公司使用 Hyper-V 运行软路由的问题

在公司需要查阅资料和安装npm包,所以研究了几年虚拟机安装软路由进行代理访问的方法,期间得到很多虚拟化和网络方面的知识,记录一下几个比较经典的问题

本文不是教程,而是笔记

NAT网卡被强制指定IP

hyper-v 的lan(内部交换机) 会自动将宿主机的接口设置成固定IP(该交换机网端),代替DHCP

每次更改为DHCP后可以拿到软路由分配的IP,但是每次重启,又会变回手动指定IP,所以开机无网络。

可以在powershell里面用这个命令创建虚拟交换机来解决

1
2
3
New-VMSwitch -SwitchName "Lan-Switch" -SwitchType Internal
Get-NetAdapter
New-NetNat -Name Lan-Switch -InternalIPInterfaceAddressPrefix 10.94.56.0/24

这样创建的网卡,不会被hyper-v强制改为手动指定IP

旁路由DHCP

不开DHCP
宿主机需要手动指定IP信息将网关指向软路由,手动指定的IP可能会和局域网冲突

开DHCP
总有一些人的电脑或者手机无法上网,查看网络信息后发现DHCP到软路由的网关设置也生效了
但是就是不知道为什么无法上网
好像是DNS问题,估计是安全软件导致的?
因为每次开启了就导致一堆人无法上网,没法好好排查问题

真实路由的问题

  1. 和同事不在同一网段,即使在主路由设置路由表,也没有网络发现,除非还要更改主路由的子网掩码,特别麻烦

我的最终方案

  • 版本1

软路由不开DHCP,宿主机(也就是我的电脑)手动设置网关为软路由

  • 版本2

软路由开启socks5代理,宿主机浏览器使用SwitchyOmega将流量切换到代理

这样做导致其他程序没有走代理,但是也正因为如此,所以zerotier之类的才可以正常P2P

鄂ICP备14007840号-1