【Hyper-v 管理器虚拟机配置内网外网固定ip】

1、Default Switch(Hyper-v默认虚拟网卡)无法设置固定ip

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

微软官方说明:每次主机重启后Hyper-V会自动找一个未使用的网络然后修改Default Switch的网络地址

解决方法

用双网卡方案解决该问题。大概思路是用虚拟机第一块网卡连接Default Switch自动获得IP和DNS上外网,用第二块网卡设置内部固定IP地址用于宿主机或其它虚拟机SSH连接。具体操作步骤如下:

1、创建内部虚拟交换网络

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

在这里插入图片描述

2、设置内部使用的虚拟交换机的地址

然后到Windows的“网络连接”里把vEthernet(privateNet)的IP设为固定IP,比如172.16.xxx.xxx。这样设置也决定了172.16.xxx.xxx就是以后虚拟机的网段:(网段根据自己网络环境设置)
在这里插入图片描述

在这里插入图片描述

3、为虚拟机添加新网卡

在虚拟机上新增加一个网卡,加上原来的网卡,虚拟机就有两块网卡。然后将第一块网络适配器的虚拟交换机选为Default Switch,第二块选择前面新建的privateNet:
在这里插入图片描述
在这里插入图片描述

4、虚拟机内设置两块网卡的网络配置

配置eth0

虚拟机启动后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,把BOOTPROTO改为dhcp,ONBOOT改为yes,

BOOTPROTO=dhcp #保持不变
NAME=eth0
DEVICE=eth0
ONBOOT=yes #从no变为yes

在这里插入图片描述

配置eth1

注意,如果你是创建虚拟机时就加了一个新网卡,则安装Centos后里面应该已经有/etc/sysconfig/network-scripts/ifcfg-eth1配置文件,如果是安装操作系统之后才新增网卡的,则可以通过以下命令从/etc/sysconfig/network-scripts/ifcfg-eth0拷贝一份修改:

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

修改重点是把BOOTPROTO设成static;把NAME和DEVICE改为eth1;ONBOOT还是yes;记得删除UUID那行(不能和eth0相同)。最后就是加上IPADDR=172.16.xxx.xxx和NETMASK=255.255.xxx.0(注意:IP必须与privateNet一个网段,不需要设置GATEWAY)。

BOOTPROTO=static
#删除UUID那行
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.xxx.xxx
NETMASK=255.255.xxx.0

在这里插入图片描述

重启网络:(如果报错就重启虚拟机)

/etc/init.d/network restart
或者 reboot

重启后后就可以从宿主机ssh到该虚拟机了,也可以与其它同网段的虚拟机通讯。

在这里插入图片描述

总结

可能还有其它解决方案,但目前是我用过最有效的方法了。
如有其它更好的解决办法,请评论区留言一起探讨!

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六月秋峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值