
Netfilterの拡張機能マニュアルページ次のように述べています。
MASQUERADE: このターゲットはテーブル
nat
、POSTROUTING
チェーン内でのみ有効です
質問: クローンを作成する方法出力ターゲットをターゲットMASQUERADE
にしますかTEE
?
下の図を見るとnetfilter/iptables
、パケットが送信インターフェイスに送信される前に評価される最後のチェーンであることがわかりますnat.POSTROUTING
。チェーンはありませんraw.POSTROUTING
...それともありますか?
こちらもご覧くださいこれ。
PSデータが流入するときに、と のインターフェースでとテーブルを同じ順序で
処理する理由は何ですか?mangle
nat
outbound
inbound
反対方向これらのインターフェース(出力と入力)を介してですか?
答え1
私の知る限り、iptablesルール実行後nat/ポストラウティング、これはによって提供される最後のフックですiptables、使用することはできませんiptablesNAT 後のパケットをキャプチャします。
しかし、これはnftables、以来フックの優先度はユーザー定義です。NFTの重複ステートメントは、iptables'ティー混ぜることも可能nftablesそしてiptables両方がNATを実行しない限り(NATリソースは特別なので、iptablesそしてnftables)。使用iptables オーバー nftablesのバージョンiptablesも動作します(ルールセットをフラッシュする際には注意が必要です)。もちろん、NFTすべてがうまくいくからです。
既製品はこちらNFTNATされたLANを持つルーター上のこのルールセットeth1そしてWAN側はeth2、LAN側の192.168.0.3にコピーを送信します。OPからのその他の質問. という名前のファイルに保存されますforwireshark.nftそして、次のようにして「ロード」しますnft -f forwireshark.nft
:
table ip forwireshark {
chain postnat {
type filter hook postrouting priority 250; policy accept;
oif eth2 counter dup to 192.168.0.3 device eth1
}
}
ここで重要なのは、250という値が、iptables'NF_IP_PRI_NAT_SRC
(100)。
ping ホストが一定時間非アクティブになった後に Wireshark ホストが通常受信する内容は次のとおりですping -c1 8.8.8.8
(一部のシステムではデフォルトで受け入れられない可能性がある「間違った」 IP からの奇妙な ARP 要求に注意してください)。
root@ns-wireshark:~# tcpdump -e -n -s0 -p -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:06:03.074142 82:01:54:27:4d:d7 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.1 tell 192.168.0.2, length 28
21:06:03.074301 9a:80:fb:e6:6a:0a > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.3 tell 140.82.118.4, length 28
21:06:03.074343 7e:0a:6c:12:00:61 > 9a:80:fb:e6:6a:0a, ethertype ARP (0x0806), length 42: Reply 192.168.0.3 is-at 7e:0a:6c:12:00:61, length 28
21:06:03.074387 9a:80:fb:e6:6a:0a > 7e:0a:6c:12:00:61, ethertype IPv4 (0x0800), length 98: 140.82.118.4 > 8.8.8.8: ICMP echo request, id 1633, seq 1, length 64
理由は分かりませんがマングル/ポストルーティングそしてnat/ポストラウティングとにかくこれはiptables' 制限があるため、nftables、同等のものを除いてマングル/出力これは特別なルートを入力再ルーティング用のフック、その他の同等の使用法マングルの一部であるタイプフィルター: 実際には別個のマングルもう入力する必要はありません。優先順位を選択できるため、より多くのことが可能になります。