Domain-Name-System

如何阻止對 Cisco 路由器上執行的 DNS 服務的外部訪問?

  • February 16, 2020

我有一個 Cisco (877) 路由器作為網路的主要網關;它有一個 DSL 連接並執行從內部網路到其外部公共 IP 地址的 NAT。

路由器允許 SSH 訪問進行管理,這已使用訪問列表進行限制:

access-list 1 permit <internal network range>

line vty 0 4
   transport input ssh
   access-class 1 in

路由器的內部網路伺服器未啟用,但如果啟用,我知道可以使用相同的邏輯限制其訪問:

ip http access-class 1

現在,問題來了:該路由器還充當 DNS 伺服器,將查詢轉發到外部伺服器:

ip name-server <ISP DNS 1>
ip name-server <ISP DNS 2>
ip dns server

我的問題是:路由器在其外部介面上接收 DNS 查詢時非常樂意回答它們

如何阻止這種流量,以便路由器只回答來自內部網路的 DNS 查詢?

!Deny DNS from Public 
ip access-list extended ACL-IN_FROM-WAN
 remark allow OpenDNS lookups
 permit udp 208.67.222.222 0.0.0.0 any eq domain
 permit tcp 208.67.220.220 0.0.0.0 any eq domain
 remark deny all others and log the attempts
 deny   udp any any eq domain log
 deny   tcp any any eq domain log
 permit ip any any

! Apply to WAN interface
int WAN
 ip access-group ACLIN-TO_WAN in

在外部介面上放置 ACL。工作原理相同。創建一個 ACL,擴展的或正常的,然後在外部介面上應用它,只允許你想要的流量。無論 DNS 是什麼,您都應該擁有它。

我自己沒有嘗試過(不會在我的路由器上執行 DNS)……但這似乎是你正在尋找的:

DNS根據查詢源IP查看使用限制

標準 IP ACL 是一組編號或命名的主機 IP 地址匹配規則,如果 IP 地址與規則中的文本字元串模式匹配,每個規則都指定要執行的操作類型。拆分 DNS 功能支持使用標準 ACL 作為基於查詢源 IP 地址的查看使用限制。為了使源 IP 地址匹配名稱列表,IP 地址必須匹配明確允許匹配模式的規則,但 IP 地址不能匹配任何明確拒絕匹配模式的規則。

http://www.cisco.com/c/en/us/td/docs/ios/12_4t/12_4t11/htspldns.html#wp1049435

引用自:https://serverfault.com/questions/578452