我有TACACS +工作,现在我正在尝试设置它,以便在TACACS +服务器不可用时在本地进行故障转移。
我的目标是先检查TACACS服务器,如果不能联系,则进行故障切换。
这是我的理解,下面的configuration行将实现这一点,用“组”tacacs +“命令来实现这个单词”本地“来:
aaa身份validationloginvtymethod组tacacs +本地
testing:我禁用服务器上的TACACS服务,并尝试与本地用户进行身份validation,并被告知用户不在组中(例如TACACS被拒绝)。
我可以通过下面的命令行来实现上述的最终目标:
aaa身份validationloginvtymethod本地组tacacs +
因此,它检查用户是否第一次本地首先可用…总是我的理解,把它放在最后将允许它故障转移,并希望首先检查TACACS …
任何提示我要去哪里错了?
实际上,我已经用各种思科交换机和路由器来做这件事情。 以下是来自IOSconfiguration的相关代码行。
aaa new-model aaa authentication login default group tacacs+ local tacacs-server host **redacted** tacacs-server directed-request tacacs-server **redacted**
正如你所看到的,是的,你跟随“tacacs +”与“本地”。
至于故障切换需要多长时间,当您尝试validationTACACS源时,validation源将更改为本地之前,路由器必须至less保持15秒(超时5秒,尝试联系服务器3次)。 https://supportforums.cisco.com/discussion/11350726/two-acs-server-failover
最后的本地关键字对于故障转移是正确的。
问题是,故障转移不是即时的,需要30秒才能发生。
显然,在testing时,我没有等太长的时间才意识到TACACS服务器不可用(尽pipe我认为这个机制更多的是检查tacacs,但是失败了,它会失败)
aaa新模式
aaa身份validationlogin{方法}组{服务器} {后备}
是的,回退应该是“本地”使用本地数据库。 可能tac plus dev指南可能会回答你的问题。
configuration用户和组TACACS +
每个用户可能属于一个组(但只有一个组)。 每个小组又可能属于另一个小组,如此等等。 用户和组声明如下。 在这里,我们宣布两个用户“fred”和“lily”,以及两个用户“admin”和“staff”。
Fred是“admin”组的成员,而“admin”组又是组“staff”的成员。 莉莉不是任何组的成员。
用户=莉莉{#用户百合不是任何组#的成员,并没有任何其他configuration}
user = fred {#fred是组pipe理成员= admin的成员}
group = admin {#group admin是组员的成员=员工}
group = staff {#group staff不是任何组的成员}一般来说,当守护进程查找值(例如密码)时,会首先查看用户是否拥有自己的密码。 如果不是,它看起来是否属于一个组,如果是的话,该组是否有一个密码定义。 如果不是,则这个过程继续通过组的层次结构(一个组可以是另一个组的成员),直到find一个值,或者没有更多的组。 这个recursion过程发生在查find期date,pap,arap和chap“secrets”以及授权参数(见后面)。
因此,典型的configuration技术是将用户放入组中,并在组声明中指定尽可能多的组范围特征。 然后,可以根据需要使用单个用户声明覆盖选定用户的组设置。
从我记得的地方来看,本地和思科是两回事。
本地会参照一个叫做这样的对象组。
LOCAL是指本地存储在思科设备上的实际用户数据库。
因此,你的命令应该是:
aaa authentication login vtymethod group tacacs+ LOCAL
对不起,这似乎只在ASA设备上是正确的…