“网络不可达” (Network is unreachable) 或 “连接被拒绝” (Connection refused) 通常由以下原因之一造成:
本地计算机防火墙规则:您本地电脑的防火墙可能只允许旧端口(22),而阻止了对新端口的连接尝试。
网络中间设备ACL:网络路径中的其他交换机、防火墙或路由器上配置了访问控制列表(ACL),这些ACL只允许目的端口为22的流量访问该交换机,您的新端口不在允许范围内。
交换机本机的ACL:最可能的原因!交换机本机配置了基于IP的ACL或基于端口的ACL(如packet-filter),这些ACL规则只放行了TCP 22端口。您修改端口后,新的SSH端口没有被这些ACL规则允许,导致流量在到达SSH服务前就被交换机本身丢弃了。
前提: 由于无法通过SSH远程登录,您必须通过Console口本地连接交换机进行排查和修复。这是唯一的办法。
使用Console线连接电脑和交换机的Console口,使用终端软件(如Putty、SecureCRT、Xshell等)登录。
这是最常见的问题所在。您需要检查交换机上是否应用了限制管理访问的ACL。
查看所有ACL配置:
display acl all
仔细查看输出的所有ACL规则,寻找其中与“SSH”、“管理”或“源地址”相关的rule permit
语句。重点关注是否只允许destination-port eq ssh
或eq 22
。
查看ACL的应用情况:
display packet-filter
这个命令会显示是否在VLAN接口或物理接口的入方向/出方向应用了ACL。如果发现有ACL被应用在了管理VLAN或您的入方向接口上,它很可能就是“元凶”。
修改ACL规则:
假设您发现ACL 3000(这是一个基本的IPv4 ACL)被应用了,并且里面有一条规则是允许源IP访问22端口。
# 进入ACL视图
system-view
acl basic 3000 # 或者 acl advanced 3001, 具体编号根据上一步的查询结果
# 查看现有规则
display this
# 可能会看到类似这样的规则:
# rule 5 permit tcp destination-port eq ssh
# 或者 rule 5 permit tcp destination-port eq 22
# 添加一条新的规则,允许您的新端口(例如2022)
rule permit tcp destination-port eq 2022
# 或者,更简单的方法,直接修改原有规则的目的端口范围
rule 5 permit tcp destination-port eq 2022
# 保存配置
save
注意: 如果ACL是高级ACL(acl advanced
),修改方法类似,但命令格式可能更复杂。
如果您确认交换机本机没有限制,那么问题可能出在网络中的防火墙或路由器上。您需要联系网络团队或管理员,检查并确保在通往这台交换机的路径上,所有安全设备都允许您的新SSH端口(如TCP 2022) 访问交换机的管理IP地址。
临时关闭您本地电脑的Windows防火墙或第三方安全软件进行测试,看是否能连接成功。如果成功,则需要在防火墙中为新端口添加例外规则。
在交换机上,您也可以确认SSH服务确实在新端口上监听。
display ssh server status
# 查看SSH服务器状态,确认端口号是否已更改
display tcp verbose
# 查看TCP连接状态,寻找您配置的新端口号(如2022)是否处于LISTEN状态
修改服务端口的最佳实践:
先加后删:在修改端口前,先在ACL中添加一条允许新端口的规则,然后再修改SSH端口,最后(可选)再删除旧的允许22端口的规则。
提前测试:修改前,先用telnet <交换机IP> <新端口>
命令测试新端口是否可达,但这需要中间防火墙也已提前开放。
本次问题的解决流程:
Console登录
-> 检查ACL (display acl all)
-> 检查ACL应用 (display packet-filter)
-> 修改ACL规则(添加新端口)
-> 保存配置
-> 重新远程测试
。
您现在的情况很可能是本机ACL在“搞鬼”。请立即通过Console口登录,按照上述步骤检查并修改ACL规则,问题即可解决。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论