名前でローカルでのみアクセスできるデバイスにリモートでアクセスする方法

名前でローカルでのみアクセスできるデバイスにリモートでアクセスする方法

工場で設定された固定アドレスが同じ複数のスイッチがあり、各スイッチはスイッチごとに1つずつ2つのインターフェイスを持つサーバーに接続されています。サーバーのプライマリインターフェイスはローカルホームネットワークに接続され、セカンダリインターフェイスはスイッチアドレスを含むサブネットに接続されます。各スイッチに名前を割り当て、接続されたサーバーの内部ネットワークアドレスの名前を確認し、そのアドレスに送信されたトラフィックをスイッチに透過的に転送し、スイッチから元の家に戻るトラフィックを透過的に転送するように、各サーバーを構成できるようにしたいです。ネットワークアドレス。 iptables NATがこれを行うことができるはずです。したがって、iptablesには次の規則があります。

*nat
-A POSTROUTING -p all -s switch -j SNAT --to house
-A PREROUTING  -p all -d house  -j DNAT --to switch

ここで、「switch」はスイッチの固定アドレス、「house」はスイッチに割り当てたホームネットワークアドレスです。 (両方とも数字で入力されます。)もちろんここまで書いているのでそれはできません。

iptablesを有効にする前に、サーバーとホームネットワークの他のデバイスから「ホーム」アドレスにpingを送信し、サーバーから「スイッチ」アドレスにpingを送信できました。サーバー上のスイッチの固定アドレスに対してnmapを実行すると、正しいスイッチポートが開いていることがわかります。あります。 iptablesを有効にすると、どのデバイスが応答するのかわかりませんが、pingは応答し続けます。サーバーから「スイッチ」アドレスへのnmapは、まだスイッチポートではないサーバーポートを表示します。他のデバイスのnmapは、すべてのポートがフィルタリングされたことを報告します。

信頼性のためにスイッチの固定アドレスを変更しないでください。何らかの理由でスイッチがリセットされたら、作業が続行されることを願っています。

実際にやるべきことは、ポート80と443にpingを送ることだけです。より良い解決策が必要です。

ベストアンサー1

結局コメントチェーンが長くなりました:)

だから私の最後の提案はルールを追加することです。

iptables -t nat -A POSTROUTING -o $IFSW -j MASQUERADE

$IFSW各サーバーのスイッチインターフェイスはどこにありますか?

このように、スイッチはサーバからパケットを受信し、適切に応答し、サーバは応答パケットの元のアドレスへの再マッピングを処理する。

おすすめ記事