如何阻止外部访问 Cisco 路由器上运行的 DNS 服务?

Mas*_*imo 2 domain-name-system cisco router access-control-list

我有一个 Cisco (877) 路由器作为网络的主要网关;它具有 DSL 连接,并执行从内部网络到其外部公共 IP 地址的 NAT。

路由器允许 SSH 访问进行管理,这已使用访问列表进行了限制:

access-list 1 permit <internal network range>

line vty 0 4
    transport input ssh
    access-class 1 in
Run Code Online (Sandbox Code Playgroud)

路由器的内部 Web 服务器未启用,但如果启用,我知道可以使用相同的逻辑限制其访问:

ip http access-class 1
Run Code Online (Sandbox Code Playgroud)

现在,问题是:这个路由器还充当 DNS 服务器,将查询转发到外部服务器:

ip name-server <ISP DNS 1>
ip name-server <ISP DNS 2>
ip dns server
Run Code Online (Sandbox Code Playgroud)

我的问题是:路由器非常乐意在其外部接口上接收 DNS 查询时回答它们

如何阻止这种流量,以便路由器只回答来自内部网络的 DNS 查询?

小智 5

!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
Run Code Online (Sandbox Code Playgroud)

  • 虽然理论上这回答了这个问题,但最好解释一下这是什么。 (3认同)