iptables - 如何允许所有连接到本地局域网?

iptables - 如何允许所有连接到本地局域网?

对于 iptables 输出来说,表达“允许所有到本地局域网的连接”的最简单方法是什么?

包括与192.*172.*10.*等的连接。

所有这些都可以压缩在一个规则中吗?

答案1

使用ipset

ipset create locallan hash:net
ipset add locallan 192.168.0.0/16
ipset add locallan 172.16.0.0/16
ipset add locallan 10.0.0.0/8

iptables -I INPUT -m set --match-set locallan src -j ACCEPT

将允许从这些范围到具有该规则的服务器的连接。

答案2

正如 llua 所说,使用ipset.但是,您可能希望通过重新启动来使其持续存在;否则 ipset 存储在内存中。

ipset save > /etc/ipset.conf,然后启用 ipset 服务,以便它在重新启动时重新创建该集(至少在 Arch 系统上,它提供了一个ipset.servicesystemd 文件)。

添加到大多数其他 Linux 系统上的/etc/rc.local行。ipset restore -f /etc/ipset.conf

看到永远优秀的拱门维基页面了解更多。

相关内容