:)
IPTable ルールにヒットしたときに、リモート デバイスの IP アドレスを渡すシステム コマンドを実行できるようにしたいと考えています。
私は周りを見回しましたが、何も見つかりませんでした。ログを grep することを考えましたが、大量のトラフィックが予想されます..
どんな助けでも素晴らしいでしょう!
ありがとう
(それが役立つ場合、Ubuntu Linuxは私の選択したプラットフォームです)
方法は次のとおりです。
iptables -I FORWARD -p tcp --dport 80 -d a.b.c.d -j LOG --log-prefix="TRIGGER ME NOW !!!"
tail -f some-logfile | awk '/some-pattern/ {system("run-some-command")}'
十分に簡単で、大量のトラフィックを処理できる必要があります。tail コマンドは十分に高速である必要があります...ファイルが大きくなりすぎないようにしてください。
代わりに knockd で実行してください。1 つのポートだけのポート ノッキング シーケンスを構成してから、実行するコマンドを knockd に伝えます。通常、iptables ルールを追加/削除するために使用されます-特定のノック シーケンスの後にサービス (ssh アクセスなど) を開くために使用されますが、非常に単純なものの後にコマンドを実行するためにそれを使用できない理由がわかりません。予想される 1 つのポート ルールでパケットを送信します。
Ubuntu システムで「apt-get install knockd」を実行すると、man ページに、これに簡単に適応できる例があります。