想使用Hyper-V搭建一个内网ubuntu,并希望能固定IP,保证宿主机的Xshell始终只用同一个IP连接到该虚拟机,而且可以访问互联网。

一.新建内部网络虚拟交换机

二.修改虚拟网卡IP地址
经过第一步后,网络连接中会出现刚刚新建的虚拟网卡"vincent_network"
1.打开 控制面板-网络和Internet-网络连接

2.找到刚刚新建出来的虚拟网卡

3.右击该网卡,属性-网络-Internet协议版本4(TCP/IPv4)

4.填写固定IP地址,我这里填写的是192.168.137.1,子网掩码255.255.255.0

备注:192.168.137.1这个IP地址恰巧也是Windows网络适配器共享网络所使用的默认IP地址(注册表可修改)

应用到虚拟机的网卡上

三.修改虚拟机网络设置
因为我是用的是ubuntu16.04,所以vim /etc/network/interfaces,内容如下:

# vincent_switch
address 192.168.137.10
netmask 255.255.255.0
gateway 192.168.137.1
ONBOOT yes
broadcast 192.168.137.255
dns-nameservers 114.114.114.114

然后重启网络服务,可以看出ip修改成功

四.内部网络-虚拟机访问外网
1.打开 控制面板-网络和Internet-网络连接

2.找到宿主机正常联网使用的网卡

3.右击该网卡,属性-共享

4.勾选“允许其他网络用户通过此计算机的Internet连接来连接”,然后下拉菜单中选择新建出来的InternalNat虚拟网卡

5.确定的时候会提示虚拟网卡的IP地址将被设置成192.168.137.1,这个就是前文提到的他是默认的共享网络IP地址,由于之前我本身就设置的137,所以此处点我们不再需要做任何修改

(如果不想用137网段,需要修改注册表默认的共享网络IP地址)

6.点击“是”后,会短暂失去连接,重新使用Xshell连接虚拟机,此时虚拟机已经可以连接外网。

7.到这里,Hyper-V虚拟机配置内部网络固定IP地址,并且能够连接外网

(更换了网络环境,例如无线网络连接切换WiFi,虚拟机就连不上网了,需要重新再设置一下)