iptablesコマンドの使い方

はじめに

iptablesコマンドを使って、ファイアーウォール管理を行う。

環境

問題、課題

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 を統合し、単一のツールでIPv4IPv6ARP、ブリッジのフィルタリングを行うことができる。 Ubuntu20, Debian11からipablesに代わって使用を推奨されるようになった。

ufwについて

Ubuntuなどのディストリビューションで使用される、ユーザーフレンドリーでかつサードパーティのツールである。

参考

turgenev.hatenablog.com props-room.com