SSH配置ACL限制后,所有的IP 均无法通过SSH正常登陆
问题描述
SSH配置ACL限制后,所有的IP 均无法通过SSH正常登陆 ,包含允许登录的IP地址
处理过程
组网介绍
按照如上简单组网,AR路由器的接口GE0/0/0为下面PC的网关,并配置IP为192.168.1.1,同时该接口划分至名称为VPN1的VPN实例中。
功能需求
只允许192.168.1.2的PC可以SSH登陆路由器,其他IP均无法登陆。按照该需求,AR设备关键配置如下(标红部分为限制登陆SSH的配置):
#
ip vpn-instance vpn1
ipv4-family
route-distinguisher 1:1
vpn-target 1:1 export-extcommunity
vpn-target 1:1 import-extcommunity
#
interface GigabitEthernet0/0/0
ip binding vpn-instance vpn1
ip address 192.168.1.1 255.255.255.0
#
stelnet server enable
rsa local-key-pair create
#
aaa
local-user test password cipher %$%$}~~-1nO6%ADfHrYuvQB3Ital%$%$
local-user test privilege level 15
local-user test service-type ssh
#
ssh user test authentication-type password
#
acl number 3000
rule 5 permit ip source 192.168.1.2 0 //仅配置允许访问的IP,未配置其他IP默认均无法登陆
#
user-interface vty 0 4
acl 3000 inbound
authentication-mode aaa
protocol inbound all
根因
因为AR路由器的G0/0/0接口划分了VPN实例,PC通过SSH登录AR时,此时数据属于这个VPN实例。
acl number 3000
rule 5 permit ip source 192.168.1.2 0 //这里的ACL配置没有关联VPN实例,相当于属于public
当属于VPN实例的数据到达G0/0/0口后,无法匹配中rule 5 permit ip source 192.168.1.2 0这条规则,默认被拒绝,所以无法通过ssh登录设备。
解决方案
在ACL配置的rule中绑定VPN实例,识别VPN实例的数据。
acl number 3000
undo rule 5 //删除之前的配置
rule permit ip source 192.168.1.2 0 vpn-instance vpn1 //重新配置允许的IP并绑定VPN实例。
建议与总结
user-interface vty 0 4
acl 3000 inbound
(1)基于用户界面配置ACL限制,若ACL中没有配置rule规则,执行本命令后,将不对通过用户界面的登录进行限制。
(2)基于用户界面配置ACL限制,若ACL中配置了rule规则,只有permit的才可以放行,没有命中permit的数据都默认被拒绝。
该类问题属于非常简单的问题,但容易被忽略,网络中配置了VPN实例的场景尤其需要注意。分清楚流量所属实例,便于快速定位问题。