本帖最后由 zqm 于 2020-10-2 19:40 编辑
在网上看到很多篇文章,自己也去试验过,结果实现的效果都不是很理想,并不是自己所需要的,下面是我自己研究,最后成功的经验,希望能够帮到大家。少走一些弯路。
需求
1.无论物理机的网络环境怎么变化,都需要保持虚拟机的IP地址不变,保证我本机使用xshell等终端访问始终用同一个IP地址,或者在安装了其他软件后,访问虚拟机的IP地址保持不变。
2.物理机可访问虚拟机,虚拟机是否可访问网络都行。重点保证本机可访问虚拟机,以及虚拟机之间能互相访问。
3.无论物理机的网络环境怎么变化,虚拟机可以连接到外网。
hyper-v会自动生成一个default switch,根据微软的描述,default switch是为了无论物理机的网络环境怎么变化,虚拟机可以连接到外网。 一句话,物理机可以上网,虚拟机就可以。
这里以centos7为例
固定IP
新建虚拟机
应用虚拟机
设置虚拟交换机的IP
打开控制面板,进入网络与共享中心,更改适配器的设置。找到刚才创建的虚拟机交换机。右键属性,修改IP地址。IP地址随你喜好,我这里用的IP:192.168.137.1,子网:255.255.255.0
修改虚拟机IP
打开虚拟机进入到network-scripts目录
cd /etc/sysconfig/network-scripts
vi ifcfg-eth0
PS: 不是所有的都是ifcfg-eth0文件,这个需要自己去查看。
主要修改一下键值:
BOOTPROTO=static # 将dhcp设置为static
DEVICE=eth0 #名称
ONBOOT=yes # 开机启动
IPADDR=192.168.137.200 # 这个需要和你前面设置的IP网段一样
GATEWAY=192.168.137.1 # 网关
DNS1=192.168.137.1 # 第一个DNS
NETMASK=255.255.255.0 #子网掩码
设置完成效果:
重启网络
systemctl restart network
查看IP
ip addr
现在就可以用xshell连接到虚拟机了!!!不要告诉我你不会xshell。。。
记得把虚拟机关机,因为后面我们还有操作需要在虚拟机关机状态下完成。
连接外网
现在xshell可以连接了,但是你如果ping百度的话,可能是ping不通的,现在就是要把网络添加到虚拟机上,前面说过,hyper-v会自动生成一个default switch,它可以让你的虚拟机无论物理机在什么网络下,都可以自动分配网络给虚拟机。现在我们就要用到这个default switch。
给虚拟机添加一个硬件配置。为什么我的是灰色的?这就是因为没有关掉虚拟机。
添加完成之后你就可以看到右边的硬件中多了一项 网络适配器,这个网络适配器就选择 default switch。
这个时候最好重启一下虚拟机,当然这个虚拟交换机IP最好是自动获取,DNS,也自动获取。系统会自动分配。
打开xshell 查看一下 IP
ip addr
这个是时候,在ping 百度。
ping www.baidu.com
到这里就大功告成了!!!
PS:前面的配置虚拟机的网络配置顺序不要错,如果你先选择的是default switch,是不能用xshell 连接的。具体的道理,就不说了。自己体会。 |