Hyper-v为虚拟机设置固定IP

Hyper-V自带一个不能删除的Default Switch虚拟交换机,虚拟机使用该网络可以自动获取IP直接上网。但这个网络的网关地址每次重启后都会改变,所以你无法在虚拟机上设置固定IP用于宿主机SSH访问。

创建内部虚拟交换网络

通过Hyper-V管理器的“虚拟交换机管理”界面创建一个新的虚拟交换机(假设名字为MyPrivateNet,类型为“内部”):

56883-y6oxexkwr5.png

设置虚拟交换机地址

然后到Windows的“网络连接”里把vEthernet(MyPrivateNet)的IP设为固定IP,比如192.168.218.1。这样设置也决定了192.168.218.x就是以后虚拟机的网段:(网段也可自己随便设置,只要是本地保留网段就行)

68818-8gvh3inhfoe.png

为虚拟机添加新网卡

在虚拟机上新增加一个网卡(需要在虚拟机关机的状态下添加),加上原来的网卡,虚拟机就有两块网卡。然后将第一块网络适配器的虚拟交换机选为Default Switch,第二块选择前面新建的MyPrivateNet:

31305-ghm64ghpznk.png

虚拟机新网卡配置

以centos为例,首先需要复制eth0网卡

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

编辑新的eth1网卡

vi /etc/sysconfig/network-scripts/ifcfg-eth1

需要改变的内容如下

  • BOOTPROTO设成static
  • NAMEDEVICE改为eth1
  • 删除UUID(不能和eth0相同)
  • 加上IPADDR=192.168.218.2NETMASK=255.255.255.0(注意:IP必须与MyPrivateNet一个网段,不需要设置GATEWAY)

例子如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=eth1
DEVICE=eth1
ONBOOT=yes
DNS=8.8.8.8
IPADDR=192.168.218.2
NETMASK=255.255.255.0

最后重启网络就行了

/etc/init.d/network restart

Sitemap · Rss

津ICP备2021004480号-3