はじめに
iptablesコマンドを使って、ファイアーウォール管理を行う。
環境
- ホスト:Ubuntu 20.04
問題、課題
iptablesコマンドのオプションを忘れるため、備忘を込めて記載する。
解決
現在の設定を確認
#INPU, FORWARD, OUTPUTチェインを確認する場合 $ sudo iptables -nL #INPUチェインを確認する場合 $ sudo iptables -nL INPUT #出力例 $ sudo iptables -nL INPUT Chain INPUT (policy DROP 173K packets, 56M bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 0 0 ACCEPT udp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 0 0 ACCEPT tcp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67 0 0 ACCEPT udp -- lxcbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 273K 34M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 78 80568 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x3F 2 168 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 limit: up to 1/min burst 10 mode srcip htable-expire 120000 36M 41G ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 26627 4776K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:53 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:123 188 9416 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 (省略)
INPUTチェインの追加と削除
#INPUチェインにルール追加(port:30003, source:0.0.0.0/0, destination:172.31.16.0/24, protocol:tcp, ACCEPT) sudo iptables -A INPUT -p tcp --dport 30003 -s 0.0.0.0/0 -d 172.31.16.0/24 -j ACCEPT #INPUチェインにルール追加 sudo iptables -D INPUT -p tcp --dport 30003 -s 0.0.0.0/0 -d 172.31.16.0/24 -j ACCEPT
現在の設定を保存
$ sudo iptables-save | sudo tee /etc/iptables/rules.v4
nflabes, ufwとの関係について
nflabesについて
nftablesは、iptablesの後継として作成されたツールである。。 iptables,ip6tables,arptables,ebtables を統合し、単一のツールでIPv4、IPv6、ARP、ブリッジのフィルタリングを行うことができる。 Ubuntu20, Debian11からipablesに代わって使用を推奨されるようになった。
ufwについて
Ubuntuなどのディストリビューションで使用される、ユーザーフレンドリーでかつサードパーティのツールである。