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

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

路由器允许SSH访问进行pipe理,并且使用访问列表限制了这一点:

access-list 1 permit <internal network range> line vty 0 4 transport input ssh access-class 1 in 

路由器的内部Web服务器没有启用,但是如果是这样,我知道它的访问可能会受到相同的逻辑限制:

 ip http access-class 1 

现在,这个路由器也可以作为DNS服务器,将查询转发给外部服务器:

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

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

如何阻止这种stream量,使路由器只回答来自内部networking的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,扩展或定期,然后应用它,但在外部接口,只允许你想要的stream量。 不pipeDNS你应该有。

我没有尝试过自己(不会在我的路由器上运行DNS),但是这似乎是你正在寻找的东西:

基于查询源IP地址的DNS查看使用限制

标准IP ACL是一组编号或命名的主机IP地址匹配规则,如果IP地址与规则中的文本string模式匹配,则每个规则指定要执行的操作的types。 Split DNSfunction支持使用标准ACL作为基于查询源IP地址的查看使用限制。 为了使源IP地址与名称列表匹配,IP地址必须匹配明确允许匹配模式的规则,但是IP地址不能匹配显式拒绝匹配模式的任何规则。

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

我会添加评论,但我不能。 答案是简单地为您使用的DNS服务器添加一个allow语句,如果您使用的是Google的8.8.8.8,那么为您的deny语句上方的8.8.8.8添加udp端口53的permit语句。

或者使用反身ACL: http : //www.cisco.com/c/en/us/td/docs/ios/12_2/security/configuration/guide/fsecur_c/scfreflx.html

有一个更简单的方法来做到这一点与NAT:

 ip nat inside source static udp 1.1.1.1 53 interface GigabitEthernet0/0 53 

(用877我猜你的外部接口是Dialer0或者atm0.1,这取决于你是否使用ppp,而不是Gi0 / 0–无论有什么“ip nat outside”),

这应该转移所有传入的连接,但是从内部出去的所有连接应该在NAT表中有匹配的条目并且工作。 这也需要你指定你的内部接口作为源查找接口:

 ip domain lookup source-interface Vlan1 

(如果你使用别的东西,用你自己的内部接口替代Vlan1)

这应该是诀窍。

如果有一个IP 34.34.34.34的外部接口G0 / 1。 此ACL将阻止来自外部的请求试图打到您的外部界面,同时使其他forms的DNSstream量不受影响。

  ip access-list extended Outside-In deny udp any host 34.34.34.34 eq domain deny tcp any host 34.34.34.34 eq domain permit ip any any interface GigabitEthernet0/1 ip access-group Outside-In in 

我在我的networking上解决了这个问题,通过在dhcp池选项中给我的客户端dns服务器,我发现了我的isp的DNS服务器,然后closures了路由器上的dns服务器 – no ip dns-server