腾讯云建设网站,做ip资讯的网站,c2c的电子商务网站有哪些,企业管理软件排名测试环境
VMware虚拟机 RockyLinux 9 x86_64
双网卡#xff1a;eth0(访问外网): 10.206.216.92/24; eth1(访问内网) 192.168.1.4/24
问题描述
虚拟机重启后#xff0c;SSH连接失败#xff0c;提示Connection time out#xff0c;重启之前SSH连接还是正常的…测试环境
VMware虚拟机 RockyLinux 9 x86_64
双网卡eth0(访问外网): 10.206.216.92/24; eth1(访问内网) 192.168.1.4/24
问题描述
虚拟机重启后SSH连接失败提示Connection time out重启之前SSH连接还是正常的。
定位过程
登录Vmware串口先确认sshd进程是否启动通过ps查看sshd进程运行进程正常, netstat查看22号端口LISTEN这一步没问题。
ps axf | grep sshd996 ? Ss 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
ss -antp | grep 22 | grep LISTEN
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:((sshd,pid996,fd3))再通过tcpdump -i eth0 port 22 抓包确认是否收到SSH请求报文排除防火墙设置的原因。
从抓包结果看只有收的包没有发出去的包。再用route命令查看路由表发现问题eth0默认路由Metric值为101大于eth1的Metric(100)这说明eth1默认路由优先级更高结果应答报文从eth1发出去了导致客户端收不到应答显示Connection time out
通过dmesg查看虚拟机启动日志发现eth1居然先于eth0 UP所以系统自动分配给eth1的metric更小(优先级更高)。而之前SSH连接正常的时候都是eth0先UP。
解决方法
手动设置下两个网卡的metric值保证eth0的ipv4.route-metric小于eth1就行。写个脚本每次启动跑一下
nmcli connection modify eth0 ipv4.route-metric 100
nmcli connection modify eth1 ipv4.route-metric 101
nmcli c up eth0
nmcli c up eth1
nmcli c reload查看网卡配置文件确认修改生效