.net経由でゲートウェイ/ルーターとして使用する2つのNIC(enp1s0
プライベートLAN 192.168.0.0/24および - パブリック)を持つCentOS 7があります。プライベートLAN上のすべてのPCはゲートウェイを介してインターネットに接続されます。また、どこからでもアクセスできるプライベートLANにはいくつかのサービスがあり、これらのサービスにポート転送を使用します。たとえば、192.168.0.77ポート80にWebサーバーがあり、ISPによって提供されたパブリックIPを介してどこからでもアクセスできます。ルールは次のとおりです。enp0s29u1u1
iptables
-A PREROUTING -d my_public_ip -i enp0s29u1u1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.77:80
この規則の問題は、ウェブサイトにアクセスできることです。www.mysite.com ローカルネットワークに接続していないときただし、ローカルネットワークを使用する場合は、プライベートIP(192.168.0.77)を介してのみ機能します。
今私の完全なルールは次のとおりです。
認定IPを使用してローカルネットワークからWebサーバーにアクセスするには、どのルールを追加する必要がありますか?
答え1
ポート転送ルールを外部インターフェイスにバインドしましたが、ローカルネットワークのトラフィックがゲートウェイの内部インターフェイスに到達します。したがって、このトラフィックはWebサーバーに転送されません。
すべてのインターフェイスでポートフォワーディングを使用できるようにするのは単にソリューションの一部です。外部アドレスへの接続試行はWebサーバーに転送されますが、Webサーバーからの戻りパケットはLAN上のクライアントに直接送信され、アドレスが一致しません(クライアントは外部アドレスと内部アドレスから回答を得ます)。
ローカルネットワーク内の外部アドレスからWebサーバーにアクセスできるようにするには、次の手順を実行する必要があります。
- すべてのインターフェイスでポート転送を有効にする
- Webサーバーに向かい、ローカルネットワークからゲートウェイのローカルアドレスに送信されるトラフィックを偽装します。