web-dev-qa-db-ja.com

Iptables NATロギング

Iptables(マスカレード)を使用してルーターとしてボックスをセットアップし、すべてのネットワークトラフィックをログに記録します。

問題:

LAN IPからWANへの接続は正常に表示されます。つまり、SRC = 192.168.32.10-> DST = 60.242.67.190

WAN= LANへのトラフィックの場合、WAN IPが送信元として表示されますが、ルーターIPが宛先として表示され、ルーター-> LAN IP。

つまりSRC = 60.242.67.190-> DST = 192.168.32.199 SRC = 192.168.32.199(router)-> DST = 192.168.32.10

会話を正しくログに記録するように構成するにはどうすればよいですか?

SRC = 192.168.32.10-> DST = 60.242.67.190 SRC = 60.242.67.190> DST = 192.168.32.10

助けてくれてありがとう

7
Gerard

必要な情報は、接続追跡テーブルにのみあります。入手方法はconntrack(8)をご覧ください。リアルタイムでログを記録するのは難しいかもしれませんが、おそらく-j ULOGとulogdを使用するものです。

必要なすべての情報をログに記録するには、2つのログルールが必要です。 1つはWANインターフェイスからルーターへのデータをログに記録し、もう1つはルーターからLANホストへのパケットをログに記録します。

つまり、パケットがルーティングテーブルを通過すると、宛先が書き換えられます。私が正しく理解していれば、そのパケットの情報を、それが書き直される前と後で確認したいと思います(そうすれば、どのホストに送信されるかがわかります)。

ルールは次のようになります。wan to routerを示す既存のルール:

iptables -I INPUT -m state --state NEW -j LOG --log-prefix " New Incoming Packet"

新しい追加ルール:

iptables -I FORWARD -d LAN_Host_IPADDR -m state --state NEW -j LOG --log-prefix " [>] NEW FORWARD"

または、追加のクレジットとして、少しクリーンにするために、LANホストに転送されるトラフィック用に次のような新しいチェーンを作成します。

iptables -t nat -N forward_to_mypc
iptables -t nat -A forward_to_mypc -m state --state NEW -j LOG --log-prefix " [>] New Forward"
iptables -t nat -A forward_to_mypc -j DNAT --to <address_of_mypc>

次に、次のように新しいチェーンを使用します。

iptables -t nat -I PREROUTING -i <WANADAPTER> -p tcp --dport 3389 -j forward_to_mypc

これにより、WANアダプタに入ってくるポート3389 tcpパケットがLAN PCに転送され、パケットが新しい場合はログに記録されます。

0
regulatre

-j SNAT --to-ip ...行の前に-t nat -L POSTROUTINGでログインしてみてください。

HTHオリバー

0
Oliversl

$ iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

ここで、eth0はルーターインターフェイスです。

0
Razique