
2 つの iptables ルールが組み込まれた Linux デバイスがあります。その動作は興味深いです。
root@xxx:~# iptables -t nat -nvL PREROUTING
Chain PREROUTING (policy ACCEPT 4 packets, 812 bytes)
pkts bytes target prot opt in out source destination
0 0 REDIRECT udp -- * * 10.20.40.10 0.0.0.0/0 udp dpt:514 redir ports 5633
0 0 REDIRECT udp -- * * 10.20.40.15 0.0.0.0/0 udp dpt:514 redir ports 5634
すでに 514 でリッスンしている rsyslog アプリケーションがあるので、iptables は rsyslog の前に有効になるはずだと考えます。しかし、結果は予想外でした。ルール 1 (10.20.40.10) の場合、5633 のアプリケーションがパケットを受け取ったため、パケットを 514 から 5633 にリダイレクトするジョブが実行されていることを確認できます。ただし、ルール 2 (10.20.40.10) の場合、ジョブが実行されません。パケットは 514 にあるアプリケーションに直接送信されます。
rsyslog をシャットダウンして確認する予定です。
この種の問題をトラブルシューティングするための他の良い方法やツールはありますか? パケット フローを本当に知りたいです。 ありがとうございます!