iptables 新しい接続試行でコマンドやスクリプトを実行するには?
必要:
(サーバインタフェースeth0)--->(サーバインタフェースeth0)入力テーブルに送信された外部パケットがポート22で受信した新しいパケットを検出しました。 --> iptables実行コマンドまたはスクリプト
これまでのところ、私はこのように考えています。
iptables -A INPUT -i eth0 -p tcp --dport 22 -s xxx.xxx.xxx.xxx/24 -d xxx.xxx.xxx.xxx/32 -m state --state NEW (then do something here like run a script or command (but how?) ) -j ACCEPT
同様の質問に対する2つの答えをもっと読んでください。
答え1
iptables
そんな能力はないようです。私の考えに最適な方法は次のとおりです。
iptables
()の-j LOG --log-prefix "NEW_CONN_ATTEMPT "
特別なロギング設定- 監視ログ
tail
- 一致するものが見つかった場合にコマンドを実行する
2と3の場合、次のオネライナーがトリックを実行します。
tail -f /var/log/firewall.log | awk '/NEW_CONN_ATTEMPT/ {system("/usr/local/bin/script.sh")}'