我在自己的环境中使用 Linux 作为路由器。我必须将传出流量限制为仅向特定域的特定端口发送,并阻止其余端口。
基于 IP 的过滤也不可行,因为我们连接的某些域正在使用动态 IP,并且它不断变化。
有没有办法根据 DNS 名称过滤出站流量?
答案1
通常,这不能通过防火墙来实现。(先有鸡还是先有蛋)。防火墙需要保护 DNS 以及其他一切;因此防火墙(我只能直接谈论ipfw
和pf
)根本不会进行 DNS 查询。即:在启动时,防火墙比 BIND 等普通系统早得多;因此名称相关规则根本无法加载。
也许您想考虑使用代理?例如 squid 等。
OpenDNS 还提供了一个有趣的解决方案(如果您将它们配置为名称服务器,它们会过滤 DNS 查询)。