Hyper-V内centerOS固定ip记录
-
问题及解决过程:
因为win10自带了一个虚拟机工具Hyper-V,所以就因地制宜使用了Hyper-V,搭建CentOS-7虚拟机来,搭建服务器,发现一个问题,开关机之后,shell便不能再连接虚拟机。
通过查看虚拟机的ip发现是ip改变了。
然后就需要固定虚拟机的ip,在固定的过程中,又出现了问题:当时可以访问,但是会出现明显的卡顿;而且当电脑开关机之后,shell便又不能访问虚拟机了。
通过查看虚拟机的配置文件,没有变化。再改回动态ip后,查看ip,发现ip产生了变化。原来是172.18.43.241,变成了192.168.134.34。
通过查看win10系统的网络配置管理器,Hyper-V的网卡地址发生了变化,是固定ip,但是,每次开关机,还是会变化。
后来搜索发现,https://blog.yahui.wang/2020/05/06/Hyper-V-InternalNat/ 这篇文章,里面说,可以可能是因为虚拟机反向解析ssh的连接导致的。
这我就很疑惑。后来发现我使用的是默认的Hyper-V虚拟交换机。然后新建了一个虚拟交换机,通过配置,shell成功的连接上了虚拟机,开关机,shell依然能够访问虚拟机,awesome!
-
解决方法
-
配置Hyper-V虚拟交换机
- 新建一个虚拟交换机
- 设置虚拟机使用虚拟交换机
-
配置win10网络配置器
-
配置网络共享
-
查看虚拟交换机ip
-
-
配置CentOS-7虚拟机
修改配置文件固定ip:
查找配置文件:
ls /etc/sysconfig/network-scripts/ifcfg-*
编辑配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
配置及修改方法如下:
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static # 将dhcp改为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=ens33 UUID=fbc31eef-a8de-4947-9218-ca0a3d1b1f78 DEVICE=ens33 ONBOOT=yes #将no改为yes #添加以下四行 IPADDR=192.168.137.2 #ip地址,注意!!这里要填和网关GATAWAY同一网段的。 NETMASK=255.255.255.0 #子网掩码,固定的 GATEWAY=192.168.137.1 #网关,同刚刚配置的虚拟交换机的ip一致。 DNS1=223.5.5.5 #阿里dns,固定写法,还有114.114.114.114公共DNS
更新网络状态:
systemctl restart network
测试:
ping baidu.com
能ping通,表示成功。
解决SSH连接虚拟机慢的问题
sudo vi /etc/ssh/sshd_config
将 #UseDNS yes 改成 UseDNS no(注意去掉#符号),修改后如下图所示(文件内容有些长,找不到这句话可以使用/UseDNS进行搜索)
保存修改后,重启sshd
sudo service sshd restart
重新使用shell连接虚拟机,发现连接速度正常了
-