Proxmoxでネットワークを適切に構成する際に問題が発生しました。
つまり、コンテナから、外部の任意のWebサーバー(例:google.com)にアクセスできますが、コンテナのWebサーバーにアクセスできません。 Webサーバーにはインターネットからアクセスできます。
DNS:mydomain.example-> x.x.x.x/32
vmbr0:x.x.x.x venet0 :(各コンテナーへのルーティング)
Iptablesのルール:
iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 80 -i vmbr0 -j DNAT --to-destination y.y.y.z:n
iptables -t nat -A POSTROUTING -o vmbr0 -s y.y.y.0/24 ! -d y.y.y.0/24 -j MASQUERADE
venet0:y.y.y.z
コンテナから実行されるコマンド:
ping google.com:[〜#〜] ok [〜#〜]
ping mydomain.example:[〜#〜] ok [〜#〜]
wget http://google.com[〜#〜] ok [〜#〜]
wget http://mydomain.example :[〜#〜] ko [〜#〜]
Resolving mydomain.example... x.x.x.x
Connecting to mydomain.example|x.x.x.x|:80... failed: Connection refused.
私が欠けているものは何ですか?もっと情報が必要ですか?
ありがとう
prerouting
ルールの-i
オプションを削除する必要があります。
ここでは、リクエストはvenet0
インターフェースから送信されているため、実際のDNAT
ルールは適用されません。