24時間365日フルマネージドホスティングサービスのデイーネット

iptablesにコメントを加えてみよう

どうも、最近急にiPhoneのバッテリ消費が激しくなって、バックグラウンド通信を抑制したら解消したディーネットの山田です。

さて、今回はiptablesのルールにコメントをつけてみようと思います。

課題

iptablesをファイアウォール機能として使っている場合、ルールが多くなってくると管理が煩雑になり ルールが何を指しているのか理解に苦しい状況。

解決策

iptablesでルール一覧を表示したときにコメントが表示されれば、何のルールなのかが一目でわかるし iptablesについてあまり詳しくない方でも理解しやすいので、コメントを加えたルールを登録してみる。

言葉で説明してもピンとこないと思うので、実践してみます。

コメントなしのルール一覧

# iptables -L INPUT -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  127.0.0.1            0.0.0.0/0
ACCEPT     all  --  192.0.2.1            0.0.0.0/0
ACCEPT     all  --  192.0.2.2            0.0.0.0/0
ACCEPT     all  --  192.0.2.3            0.0.0.0/0
ACCEPT     all  --  192.0.2.4            0.0.0.0/0
ACCEPT     all  --  192.0.2.5            0.0.0.0/0
ACCEPT     all  --  192.0.2.6            0.0.0.0/0
ACCEPT     all  --  8.8.8.8              0.0.0.0/0
ACCEPT     all  --  8.8.4.4              0.0.0.0/0
ACCEPT     all  --  10.0.0.0/8           0.0.0.0/0
ACCEPT     all  --  172.16.0.0/12        0.0.0.0/0
ACCEPT     all  --  192.168.0.0/16       0.0.0.0/0
DROP       all  --  0.0.0.0/0            0.0.0.0/0

もし、こんな設定がされているとしてパッと見て何がなんのルールかわかりますか?

iptablesについて詳しい方ならすぐにわかると思いますが、あまり詳しくない方はわかりませんよね。

さらに、どのルールがいつ追加されたとかもこれではわからないので別途手順書などの作業履歴と併用して後追いをしていると思います。

そんなとき、iptablesのルールにコメントがつけることができるとしたら?便利だと思いませんか。

では、コメントを追加した場合の表示結果をみて頂きましょう。

コメントありのルール一覧

# iptables -L INPUT -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED /* 20180419 yamada / 戻りのパケットを許可 */
ACCEPT     all  --  127.0.0.1            0.0.0.0/0            /* 20180419 yamada / ローカル通信を許可 */
ACCEPT     all  --  192.0.2.1            0.0.0.0/0            /* 20180419 yamada / 管理者端末①を許可 */
ACCEPT     all  --  192.0.2.2            0.0.0.0/0            /* 20180419 yamada / 管理者端末②を許可 */
ACCEPT     all  --  192.0.2.3            0.0.0.0/0            /* 20180419 yamada / 管理者端末③を許可 */
ACCEPT     all  --  192.0.2.4            0.0.0.0/0            /* 20180419 yamada / 管理者端末④を許可 */
ACCEPT     all  --  192.0.2.5            0.0.0.0/0            /* 20180419 yamada / 管理者端末⑤を許可 */
ACCEPT     all  --  192.0.2.6            0.0.0.0/0            /* 20180419 yamada / 管理者端末⑥を許可 */
ACCEPT     all  --  8.8.8.8              0.0.0.0/0            /* 20180419 yamada / Google Public DNS①を許可 */
ACCEPT     all  --  8.8.4.4              0.0.0.0/0            /* 20180419 yamada / Google Public DNS②を許可 */
ACCEPT     all  --  10.0.0.0/8           0.0.0.0/0            /* 20180419 yamada / プライベートAの通信を許可 */
ACCEPT     all  --  172.16.0.0/12        0.0.0.0/0            /* 20180419 yamada / プライベートBの通信を許可 */
ACCEPT     all  --  192.168.0.0/16       0.0.0.0/0            /* 20180419 yamada / プライベートCの通信を許可 */
DROP       all  --  0.0.0.0/0            0.0.0.0/0            /* 20180419 yamada / あてはまらなかった通信は全て拒否 */

どうでしょう、コメントをつけるだけで誰がいつ追加したのか、このルールは何なのかが一目でわかりますね。

コメントを追加する方法

iptablesのコマンド行に以下も交えて発行するだけ

-m comment --comment "{※コメントしたい内容を記載する}"

例だとこんな感じ(一部抜粋)で発行しました。

iptables -A INPUT -s 192.168.0.0/16 -m comment --comment "20180419 yamada / プライベートCの通信を許可" -j ACCEPT
iptables -A INPUT -m comment --comment "20180419 yamada / あてはまらなかった通信は全て拒否" -j DROP

どうですか、感じを掴んで頂けましたでしょうか。

iptablesはLinuxサーバを扱っていく上での基礎なので、ある程度ルールは読み書きできるようになっておきましょう。

iptablesは色々機能をもっているので、またの機会があれば紹介しようと思います。

  • このページの先頭へ

  • 東京本社
    〒105-0001東京都港区虎ノ門2-3-22 第一秋山ビル5F
    TEL:03-3591-8887 FAX:03-3591-8886
  • 大阪本社
    〒541-0041 大阪市中央区北浜2-6-11北浜エクセルビル5F
    TEL:06-6231-8887 FAX:06-6231-8897

  • 認証範囲はこちらをご覧ください。

Denet logo

クラウドサービス・データセンタ・高機能専有サーバ・共有サーバホスティングサービス 株式会社ディーネット
dot_bar