NATタイプの確認

NATタイプの確認

対称NAT、フルコーンNATなど、さまざまなタイプのNATが利用可能であることを読みました。 NATの背後にある場合、現在処理中のNATタイプを確認する方法はありますか?

デフォルトのiptablesルールを使用し、ネットワークカードを追加してUbuntuデスクトップをNATシステムに設定しました。私は次のルールを使用しました。

$ iptables -t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE
$ iptables -t filter -A FORWARD --in-interface eth1 -j ACCEPT

私のNATテーブルを見る方法はありますか?

答え1

pystun を使用して nat タイプを確認できます。ここhttps://pypi.python.org/pypi/pystun

$ pystun
NAT Type: Full Cone
External IP: <your-ip-here>
External Port: 54320

答え2

以下に基づいて、NAT の背後ではなくサーバーに接続するクライアントを実行する必要があります。めまいこれによりパケットが分析され、情報が返されます。また、回転するわずかに新機能であり、NATタイプを識別するのに役立つ情報も返します。

動作できるクライアント、スタック、パッケージは次のとおりです。接続するサーバーをコンパイル、検索、または直接実行する必要があります。

答え3

stunclientのコードを使用できます。stuntmanhttp://www.stunprotocol.org):

$ stunclient stun.stunprotocol.org --mode behavior               
Binding test: success
Local address: 192.168.1.10:51593
Mapped address: 62.24.7.97:11610
Behavior test: success
Nat behavior: Address and Port Dependent Mapping

答え4

iptables -S現在カーネルフィルタリングテーブルにロードされているすべてのルールリストダンプを実行できます。オプションで、-tパラメーターを追加して、ダンプする特定の表を指定できます。

からman iptables

   -S, --list-rules [chain]
          Print all rules in the selected chain.  If no chain is selected,  
          all chains  are  printed  like  iptables-save.Like every other  
          iptables command, it applies to the specified table (filter is  
          the default).

クライアントとして使用しているNATの種類を知ることに関して簡単に使用できる情報はありません。設定方法について知るための最良の方法は、トラフィックに与える影響を調べることです。

関連情報