ハマログ

株式会社イーツー・インフォの社員ブログ

iptablesのログを出力して確認する方法

仕事でiptablesのログを出して調査する機会がありました。
過去何回か同じような機会があったんですが、その度に過去のissue確認したり、ウェブで検索したり同じことやっているので、どうせならここに書いとこう。
ログを出力する方法は、filter,natなど共通で、ターゲットにLOGを指定します。
-j LOG
こんな感じです
iptables -A INPUT -p tcp -j LOG
Ubuntsu Linuxで試したところ、/var/log/kern.logにログが出力されました。 INとOUTが別れており、IPアドレス、ネットワークインタフェースの情報、長さなどの情報が確認できます。
Jul  7 14:21:45 localhost kernel: [9999.999999] IN=eth0 OUT= MAC=- SRC=99.99.99.99 DST=88.88.88.88 LEN=52 TOS=0x00 PREC=0x00 TTL=51 ID=999 DF PROTO=TCP SPT=99999 DPT=80 WINDOW=666 RES=0x00 ACK FIN URGP=0
Jul  7 14:21:45 localhost kernel: [9999.999999] IN= OUT=eth1 SRC=99.99.99.99 DST=192.168.1.1 LEN=52 TOS=0x00 PREC=0x00 TTL=50 ID=99999 DF PROTO=TCP SPT=99999 DPT=80 WINDOW=99999 RES=0x00 SYN URGP=0
色々なオプションが指定できるようです。 NATのPOSTROUTINGに対してログを出力する。ログの先頭に、”NAT “のプレフィックスを付与する。
iptables -t nat -I POSTROUTING 1 -j LOG --log-prefix "NAT "
特定のポートのみ出力する
-A INPUT -p tcp --dport 80 -j LOG
今回、内部ネットワークのどの地点まで到達しているかの調査だったのですが、ログの情報がとても役に立ちました。

インフラの人たいへんだなーと思いながら消耗した一日でした。

おわり。
FWiptablesLinuxlogLoggingufwファイヤウォールログ

  kaneko tomo   2017年7月4日


関連記事

PHPのPSRについて

こんにちは、かねこです。 プログラムの話を書きます。 PHPのコーディング規約に…

Let’s EncryptのCertbotを アップデートする(ACMEv1の無効化対応)

Let’s Encryptからメールがきました。ACMEv1というプ…

PHPで良さげなREPLを探す。

開発してたり調べ物したりしてると簡単なコードを試してみたくなりたくなる時がありま…


← 前の投稿

次の投稿 →