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

我目前有一个思科路由器,我想configuration一个ACL,只允许谷歌DNS服务器,并阻止所有其他人,如果他们在客户端上configuration。

我有以下的ACL,但它没有正确应用,它允许使用其他DNS服务器,而不是谷歌。

ACLS

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 

有什么我失踪?

提前致谢 :)

您定义了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 

将您的以太网0replace为您的接口types和编号。

您的访问列表应在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 

将上述访问控制列表从局域网发送到路由器将阻止任何DNS请求进入路由器,除非它们的目的地址是8.8.8.88.8.4.4