iptablesの出力に「ローカルLANへのすべての接続を許可する」を表現する最も簡単な方法は何ですか?
192.*
、などとの接続を含みます172.*
。10.*
これらすべてを1つのルールに圧縮できますか?
答え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 save > /etc/ipset.conf
、再起動時にセットを再生成するためにipsetサービスを有効にします(少なくともArchシステムはipset.service
systemdファイルを提供します)。
他のほとんどのLinuxシステムラインに追加されました/etc/rc.local
。ipset restore -f /etc/ipset.conf
常に素晴らしいものを見てくださいアーチウィキページもっと学ぶ。