domain-name-system – 使iptables更易于维护

前端之家收集整理的这篇文章主要介绍了domain-name-system – 使iptables更易于维护前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的网络被完全锁定,除了一些列入白名单的网站.这一切都是通过iptables完成的,看起来像这样:
# Allow traffic to google.com
iptables -A zone_lan_forward -p tcp -d 1.2.3.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 1.2.3.0/24 -j ACCEPT
iptables -A zone_lan_forward -p tcp -d 11.12.13.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 11.12.13.0/24 -j ACCEPT
iptables -A zone_lan_forward -p tcp -d 101.102.103.0/24 -j ACCEPT
iptables -A zone_lan_forward -p udp -d 101.102.103.0/24 -j ACCEPT
...

显然这些地址是假设的,但你明白了.我的防火墙变得越来越大.如果我可以这样做,维护起来会容易得多:

# Allow traffic to google.com
iptables -A zone_lan_forward -p tcp -d google.com -j ACCEPT
iptables -A zone_lan_forward -p udp -d google.com -j ACCEPT

我相信这是可能的,因为man iptables说:

Address can be either a network name,a hostname (please note that specifying any name to be resolved with a remote query such as DNS is a really bad idea),a network IP address (with /mask),or a plain IP address.

但我关心的是“指定任何名称解决的部分…… DNS是一个非常糟糕的主意”.为什么这是一个坏主意?它只会减慢一切吗?

如果我真的不应该在iptables规则中使用主机名,那么我应该怎样做才能简化防火墙?

解决方法

>添加规则时解析DNS名称,而不是在检查数据包时解析.这违反了大多数人的期望.

>规则未更新以反映更改的DNS结果.添加后即可解决问题.您需要定期重新加载规则,否则某些站点可能会中断.

>存在一些安全问题,因为您基本上将防火墙规则的控制委派给外部实体.

>如果您的父DNS服务器遭到入侵并返回错误数据,该怎么办?

如果您的目的是阻止HTTP访问,那么您通常可以设置一个旨在过滤该级别的软件(例如鱿鱼squidquard).

原文链接:https://www.f2er.com/html/229441.html

猜你在找的HTML相关文章