文章目录
背景
-
笔记本系统为win11
-
由于笔记本连接的网段总是会变动(工作、家庭私有网段不一致),为了方便连接虚拟机的网络,虚拟机网络的方式设置为NAT模式(虚拟机的网段就不用跟宿主机网段一致,只要通过网关所在的宿主虚拟网卡vm8进行网络转换就行),方便随时随地可以ssh上虚拟机。
-
虚拟机集群的其他节点都是由某一个已有节点的某个快照版本进行构建的
1. 问题现象:
- 虚拟机启动后,或者虚拟机网卡重启后能短暂ping通外网,然后就是不可达
- xshell远程连接到虚拟机非常慢
2. 期望:
- NAT模式能稳定连接外网
- ssh连接能够快速连接
3. 问题1的处理:
网上有很多的方案,大致可以从以下进行排查与优化下
3.1 检查虚拟机是否能ping通网关(即宿主VMnet8的地址),以及虚拟机网关VM8到外网的联通性
不通的话自行查找NAT配置方案
确保
- 虚拟机能ping通网关 (此步骤不通的话,检查配置改下吧)
- 宿主机能pingt通外网
注意:
虚拟机的ip与VM8是同一个网段 (他们与宿主机不要设置为同一个网断)
3.2 检查虚拟机网关(vMnet8)是否能ping通外网
在宿主机上将源ip设置为虚拟机网关的ip
ping -S source_ip target_ip [-t]
在能上网的网卡(比如我用的是WLAN),设置允许Vm8网卡网络能连接外网:
注意:点击确定后,此时可能vm8网卡ip会变为192.168.137.1,这个需要你重新设置为原来设置的ip
PS: 如果是win11系统,网卡共享可能有个小bug,就是共享出去后,共享的能上网,自己的网卡网络上不了网,完全变成了一个网络中转站而自己还不能用,这个是官方系统的bug,如果需要解决需要找到指定的win11某次更新打的补丁(大概是2022年6月份左右的补丁包)删除即可(也可能后续官方就修复了)
再次check ok
3.3 检查宿主机虚拟机服务是否开启
大概5个虚拟机服务 确保是开启的
3.4 关闭虚拟机防火墙
sudo systemctl stop fierwalld
sudo systemctl disable firewalld.service
sudo chkconfig iptables stop --重启后不还原
3.5 重新生成网卡mac地址
前面步骤处理完后,可以停止虚拟机,然后对网卡重新生成MAC地址(只要在这里点下就行,启动后网卡的地址就是生成后的)
3.6 重新生成网卡UUID
通用唯一标识符(UUID)是一个128位数字,用于标识计算机系统中的信息。
方式1
生成UUID:
# uuidgen
让后可以手动将生成的uuid替换到网卡配置文件里的uuid
手动修改这里
方式2
使用uuidgen命令生成新的uuid,然后使用sed命令进行替换:
sed -i "/UUID/c UUID=$(uuidgen)" /etc/sysconfig/network-scripts/ifcfg-ens33
3.7 重启网卡
service network restart
或者
systemctl restart network
重启后check:
ip route – 查看路由
ifconfig --查看网卡配置
nmcli connection show – 查看网卡UUID
ping 114.114.114.114 – 确保到DNS服务器是通的
如果以上方式做完还不行
请更换你宿主机的网络为一个稳定的没有限制的网络,很有可能就是宿主机网络的网关服务器(比如公司的路由器有限制)不支持,家庭路由器如果距离远,连接设备多,高峰期也不稳定。
4. 问题2-SSH连接慢的处理
由于是NAT模式所以宿主机切换网络比较频繁,导致每次切换后再进行SSH连接会非常慢。
因为ssh的服务端在连接时会自动检测dns环境是否一致导致的
这个检测可以直接关了,没影响。
修改/etc/ssh/sshd_config,将UseDNS设置为no即可。