在现代企业网络中,如何安全地管理大量网络设备(如路由器、交换机、防火墙等)的登录权限,是一个至关重要的问题。传统的本地账户管理方式不仅繁琐,而且难以统一审计。这时候,TACACS+(Terminal Access Controller Access-Control System Plus)协议就派上了大用场。

TACACS+ 是由思科开发的一种AAA协议(Authentication, Authorization, Accounting),用于集中管理用户对网络设备的访问控制。它将认证(你是谁)、授权(你能做什么)和计费(你做了什么)三个功能分离,提供比RADIUS更细粒度的控制能力。
与RADIUS不同,TACACS+使用TCP端口49通信,并且全程加密整个数据包(而RADIUS仅加密密码),因此安全性更高,特别适合用于管理员级别的设备访问控制。
虽然TACACS+最初由思科推动,但如今已有开源实现,如 FreeRADIUS-tacacs 或更常用的 tac_plus(也称为Shrubbery TACACS+)。在Linux系统上部署TACACS+服务器,可以:
show 命令)下面我们将以Ubuntu 22.04为例,手把手教你搭建一个TACACS+服务器。
打开终端,运行以下命令:
sudo apt updatesudo apt install tacacs+编辑配置文件 /etc/tacacs+/tac_plus.conf:
sudo nano /etc/tacacs+/tac_plus.conf输入以下基础配置(请根据实际情况修改密钥和用户):
# 设置共享密钥(必须与网络设备上配置的一致)key = my_secret_key_123# 定义用户组user = admin { login = cleartext "admin_password" member = network_admins}# 定义授权组group = network_admins { default service = permit}# 日志设置accounting file = /var/log/tac_plus.acct⚠️ 注意:cleartext表示明文密码,仅用于测试。生产环境中建议使用des或md5加密方式。
sudo systemctl start tacacs+sudo systemctl enable tacacs+sudo ufw allow 49/tcp以Cisco IOS设备为例,进入全局配置模式:
configure terminal! 指定TACACS+服务器IP和密钥tacacs-server host 192.168.1.100 key my_secret_key_123! 启用AAAaaa new-model! 认证:先尝试TACACS+,失败后回退到本地aaa authentication login default group tacacs+ local! 授权:使用TACACS+aaa authorization exec default group tacacs+ if-authenticated! 计费:记录会话aaa accounting exec default start-stop group tacacs+配置完成后,当你通过SSH登录该设备时,系统会自动向Linux上的TACACS+服务器发起认证请求。
查看TACACS+日志:
sudo tail -f /var/log/syslog | grep tac_plus如果登录失败,请检查:
tac_plus -C /etc/tacacs+/tac_plus.conf 测试)通过本教程,你应该已经掌握了如何在Linux系统上部署TACACS+服务器,并将其用于Linux网络认证和网络设备安全管理。TACACS+作为强大的AAA协议,不仅能简化运维,还能显著提升企业网络的安全性和可审计性。
对于中小型企业或实验室环境,这种开源方案成本低、灵活性高,是替代商业认证系统的理想选择。快去试试吧!
本文由主机测评网于2025-11-29发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111240.html