6ヶ月前にAWS EC2サーバーの1つにポートフォワーディングを設定しましたが、どのように設定したか覚えていません。
Amazon Linux インスタンスです。私はiptablesを使用していると思いましたが、ルールテーブルにすべてが明らかになりました。
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER-ISOLATION all -- anywhere anywhere
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.17.0.3 tcp dpt:6379
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:11181
ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:6380
ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:15672
ACCEPT tcp -- anywhere 172.17.0.4 tcp dpt:amqp
Chain DOCKER-ISOLATION (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
80から9000(ドッカーコンテナで実行されているアプリケーション)に要求を転送することがあります。
どうやって見つけることができますか?
答え1
iptables -t nat -S
その結果、View NATルールを使用する必要がありました。
答え2
あなたの状況を理解していませんが、この回答で事前にお知らせいただきありがとうございます。ポート転送の場合は、このコマンドをnatタイプとして使用します。
/sbin/iptables -t nat -A DOCKER -p tcp -d INPUT_IP_ADRESS --dport 80 -j DNAT --to-destination OUTPUT_IP_ADRESSS:9000
私は2つのネットワークインタフェースを使用することに慣れているので、出力アドレスを入れました。iptables-save
効果があれば使用することを忘れないでください(冗談です)