Hyper-v虚拟机设置静态IP

记录下如何修改Hyper-v虚拟机为静态IP。

Hyper-v会自带一个Default Switch交换机,这个交换机使用NAT网络,并不允许修改。

image-20210824134854553

  1. 首先使用这个交换机启动虚拟机
  2. 使用ifconfigip addr show  查看虚拟机IP,并记录下来
  3. 使用ip route show查看虚拟机的网关地址。也可以直接在windows中找到Hyper-v创建的虚拟网卡vEthernet (Default Switch),这个虚拟网卡的IP地址就是虚拟机的网关地址。
    default via 172.24.112.1 dev eth0 #这里的ip地址就是网卡eth0的网关地址。
    default via 172.24.112.1 dev eth0 proto static metric 100
    169.254.0.0/16 dev eth0 scope link metric 1002
    172.24.112.0/20 dev eth0 proto kernel scope link src 172.24.112.71 metric 100
    
  4. 修改虚拟机网卡配置文件(做好备份),在/etc/sysconfig/network-scripts中,修改或添加以下加注释的内容
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    #指定ip为静态的,默认为dhcp,动态分配
    BOOTPROTO=static
    #ip地址
    IPADDR=172.24.112.71
    #网关地址
    GATEWAY=172.24.112.1
    #子网掩码
    NETMASK=255.255.240.0
    #dns1
    DNS1=114.114.114.114
    #dns2
    DNS2=8.8.8.8
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=eth0
    UUID=86b208e4-6fe7-45b4-b88d-9f02bac9bd1c
    #网卡设备名
    DEVICE=eth0
    #开机自动启动
    ONBOOT=yes
    
  5. systemctl restart network 重新启动network服务。
  6. ping www.baidu.com测试网络连通性

一般这时就成功了,可以重启虚拟机试试。

但是,Hyper-v的Default Switch交换机的IP每次重启都会变化,而且不能设成不变的。这样每次windows重启后都需要将Default Switch交换机的IP改成我们配置的网关的地址,虚拟机才能正常访问网路。

解决办法:按照Hyper-v官方文档(setup-nat-network(设置NAT网络))设置新的NAT虚拟交换机。

  1. 在Hyper-v管理器中使用右边的虚拟交换机管理器,创建一个内部的虚拟交换机。
  2. 在windows中找到新创建的虚拟网卡(设置=>网络和Internet=>状态=>更改适配器选项)
  3. 将其IP修改为虚拟机网关地址,子网掩码和DNS(选做)改成和虚拟机一样。
  4. 上面都做完后只需要做官方文档的第5步(使用New-NetNat配置 NAT 网络。)就行了:

    image-20210824144820929

这里说下,New-NetNat -Name MyNATnetwork -InternalIPInterfaceAddressPrefix 192.168.0.0/24这个命令最后的24是指子网掩码的位数。一个ip是32位二进制数,IP最大为255.255.255.255。他这里用24,是因为前面他设置的子网掩码是255.255.255.0,这种情况下子网前缀就可以是IP的前24位+0,即将IP点分4段中的最后一段改成0即可。

这样NAT网络就设置好了。管理员权限下PowerShell中执行Get-NetNat查看设置的NAT网络。

注意:官方文档提示,机器上只能有一个NAT网络,在创建自己的NAT网络前先执行Get-NetNat | Remove-NetNat移除现有的NAT(谨慎移除)。

以上都完成之后,我们就有了一个IP固定的NAT虚拟交换机,将虚拟机的交换机改成新创建的这个就行了。


https://www.1024sou.com/article/23477.html

Leave a Comment