我需要确保我的 telnet 服务仅供本地用户访问,而 Cisco Packet tracer 外部的任何人都无法访问。有什么建议吗?
答案1
首先,您需要创建一个标准访问列表。例如:
access-list 10 remark --Restrict Telnet Access--
access-list 10 permit 192.168.10.0 0.0.0.255
access-list 10 deny any log
您不需要最后一行,因为在标准访问列表的末尾有一个隐式(假定)拒绝,但我个人喜欢使其明确并记录违规行为。
从那里,在您的 vty 线路上添加 access-class 语句:
line vty 0 4
access-class 10 in
line vty 5 15
access-class 10 in
确保将其应用于所有 vty 线路。在我的示例中,我只是将其应用于大多数 Cisco 设备上的默认 vty 线路。
编辑:刚刚在另一个答案的评论中看到了图像链接,这似乎表明您有一个实际的服务器用于提供 telnet 访问,而不是试图将 telnet 限制到 Cisco 设备本身。
为此,另一个答案中建议的 ACL 最好应用于外部router1 的接口。例如:
access-list 101 remark --Outside interface inbound--
access-list 101 deny tcp any host <IP address of telnet server> eq 23
access-list 101 permit ip any any
这将阻止从 router1 外部发往 telnet 服务器的所有流量。
答案2
[编辑]:使用您现在提供的图像,访问列表应放置在从您的 ISP 入站的路由器接口上。假设 Router2 是互联网连接路径,则应放置在 Router1 上,如果 Router2 归您的 ISP 所有,则应放置在连接到 Router2 的接口上。如果 Router2 归您所有并连接到您的 ISP,则应在那里放置。
要在边界阻止 telnet,您只需要在访问列表中添加两行:
access-list 101 deny tcp any any eq 23
access-list 101 permit ip any any
我仍然建议阅读下面的思科链接因为它包含基本的访问列表实践和语法。在您起草的设计中,您可能希望阻止的不仅仅是 telnet。
建议深入阅读:
- 适用于您的 IOS 版本和设备的 Cisco IOS 强化指南,因为您提供的设计信息表明它们对互联网相当开放,以下是一个启发灵感的指南。
- 优秀的防火墙入门指南。这不是以玩笑或嘲讽的方式写的,它确实是市场上关于这个复杂主题的最好的入门书籍之一。
使用访问列表。
如果路由器的 e0 接口上的 IP 地址为 192.168.0.10,并且应允许从本地子网 192.168.0.0/24 到 e0 接口的 telnet:
interface ethernet0
ip access-group 101 in
!
access-list 101 permit tcp 192.168.0.0 0.0.0.255 host 192.168.0.10 eq 23
access-list 101 deny tcp any any eq 23
access-list 101 permit ip any any
请注意,此示例还将阻止从 192.168.0.0/24 子网到路由器远端其他设备的 telnet。这可以在访问列表中轻松自定义。
如果您想完全阻止 telnet,我建议首先不要激活它。
常见的思科访问列表条目描述这里。