阻止除特定 DNS 服务器之外的所有 DNS 服务器(白名单)

阻止除特定 DNS 服务器之外的所有 DNS 服务器(白名单)

我目前有一个 CISCO 路由器,我想配置一个 ACL,该 ACL 只允许 Google DNS 服务器,并阻止所有其他在客户端上配置的服务器。

我有以下 ACL,但它无法正确应用,并且允许使用其他 DNS 服务器而不是 Google。

高级生命支持系统

access-list 101 permit udp any host 8.8.8.8 eq 53
access-list 101 permit udp any host 8.8.4.4 eq 53
access-list 101 deny udp any any eq 53
access-list 101 permit ip any any

我是否遗漏了什么?

提前致谢 :)

答案1

您定义了 ACL,但是没有显示将其应用于哪些接口。未将其应用于接口的 ACL 无效。请参阅

https://www.cisco.com/c/en/us/support/docs/security/ios-firewall/23602-confaccesslists.html#applyacls

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/sec_data_acl/configuration/15-sy/sec-data-acl-15-sy-book/sec-create-ip-apply.html#GUID-30BB74FC-ABE4-43B6-9D49-7A78CFF024B9

基本上你想

interface ethernet 0
 ip access-group 101 out

将以太网 0 替换为您的接口类型和编号。

答案2

您的访问列表应在 LAN 接口上应用入站。它是一个扩展 ACL,应尽可能靠近源应用。它应该看起来像:

interface GigabitEthernet0/0
 description LAN interface
 ip access-group 101 in

您还遇到一个问题,即您仅阻止通过 UDP 的 DNS,而 DNS 还必须支持 TCP。RFC 5966,TCP 上的 DNS 传输 - 实施要求明确DNS必须支持TCP的事实:

因此,本文档更新了核心 DNS 协议规范,使得对 TCP 的支持从此成为完整 DNS 协议实现的必需部分。

你可能想要这样的东西:

access-list 101 permit udp any host 8.8.8.8 eq 53
access-list 101 permit udp any host 8.8.4.4 eq 53
access-list 101 deny udp any any eq 53
access-list 101 permit tcp any host 8.8.8.8 eq 53
access-list 101 permit tcp any host 8.8.4.4 eq 53
access-list 101 deny tcp any any eq 53
access-list 101 permit ip any any

将上述 ACL 从 LAN 放入路由器将会阻止任何 DNS 请求进入路由器,除非它们的目的地是8.8.8.88.8.4.4

相关内容