iptables PREROUTINGチェーンを介してNATが正しく機能することを許可しません。

iptables PREROUTINGチェーンを介してNATが正しく機能することを許可しません。

だから私たちは「なぜ」に興味があるのではなく、「どのように」にもっと興味があり、私がどこで間違っているのか知っている人がいるのか知りたかったのです。

デフォルトでは、ループバックデバイス(169.254.169.254)でエイリアスされたIPのポート80に向かうすべてのパケットを同じボックスのパブリックIPである別のIPのポート8080に転送したいと思います(1.1を使用します)。 .1.1この問題を解決するために)。そうすることで私は[表面的に]走ることができるでしょう。

telnet 169.254.169.254 80

1.1.1.1:8080に達しましたが、これは起こりませんでした。

これはiptablesの私のnatテーブルです。

~# iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 66 packets, 3857 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            169.254.169.254      tcp dpt:80 to:1.1.1.1:8080

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

私は何を逃したことがありませんか?私はiptablesのマニュアルページと以下のリンクのほとんどの情報に従いましたが、Telnetの試行中にまだ「接続が拒否されました」というメッセージが表示されます。私はiptablesに追加しようとしましたが、~#iptables -t nat -A POSTROUTING -j MASQUERADE役に立ちませんでした/

誰もが私を正しい方向に指すことができれば良いでしょう!

http://linux-ip.net/html/nat-dnat.html

https://www.frozentux.net/iptables-tutorial/chunkyhtml/x4033.html

編集する 次のsysctlパラメータを有効にしたと付け加えたいです。~# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1

編集者2号 (もともと試みたPREROUTINGチェーンの代わりに)natテーブルのOUTPUTチェーンにルールを追加することでこの問題を解決できました。

ベストアンサー1

私は実際にカーネルモジュール "br_netfilter"がホストシステムにロードされていることを確認してこれをしました。長い間閉じ込められた終わりに、それはあまりにも単純で不気味なほど単純でした。

私を解決策に導いた文書/記事:

1)

https://github.com/omribahumi/libvirt_metadata_apiそしてhttps://thewiringcloset.wordpress.com/2013/03/27/linux-iptable-snat-dnat/

「iptablesの設定」セクションを参照してください。 「REDIRECT」は、トラフィックを宛先NATのように削除されたアドレスではなくローカルシステムのインターフェイスにリダイレクトするため、「REDIRECT」の代わりに「DNAT」を使用しました。

2)

https://serverfault.com/questions/179200/difference-beetween-dnat-and-redirect-in-iptablesそしてhttps://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html

上記のREDIRECTとDNATの違いを理解するのに役立ちます。

三)

https://github.com/omribahumi/libvirt_metadata_api/pull/4/files

このコミットで実際の解決策を見つけることができました(上記の作業は以前は成功しませんでしたが)。

おすすめ記事