NAT転送とDNS

NAT転送とDNS

私はLinuxを初めて使用しますが、ビジネスプロジェクトの一部としてNATとDNSを介してリダイレクトされるようにファイアウォールを設定する必要があります。

たとえば、トラフィックはwww.A_DOMAIN.com:9000次にリダイレクトされます(DNSは私のサーバーに変換されます)。hw.ANOTHER_DOMAIN.io:9998

この目標をどのように達成できますか?

ありがとう

ベストアンサー1

www.A_DOMAIN.comDNS ではエイリアスを作成できますが、hw.ANOTHER_DOMAIN.ioこれはポート番号には影響しません。したがって、サービスが通常のHTTP / HTTPSでない限り、DNSなりすましはあなたの要件を満たしていません。


サーバーポート9000からの着信トラフィックを許可するファイアウォールDNATルールを設定できます。このルールはアドレス指定をからに変更し、original_client:some port -> your_server's_IP:9000応答your_server's_IP:some port -> other_server's_IP:9998を自動的に逆マッピングし、元のクライアントに応答がクライアントがクエリを送信した場所から来たように見えます。 TCPプロトコルレベルでは、これは元の接続の一部として応答を識別するために重要です。

ただし、単純なファイアウォールルールは要求自体に対して何もしないため、HTTPを使用している場合、サーバーは要求がhw.ANOTHER_DOMAIN.ioまだ送信されていることを確認し、www.A_DOMAIN.comエラーメッセージで応答することも応答しないことがありますhw.ANOTHER_DOMAIN.io。私はそれについて何も知りませんwww.A_DOMAIN.com。同様に、クライアントのWebブラウザは、サーバーのホスト名がクライアントが要求していると思うものと一致しないという警告を表示することがあります。

TLSセキュア接続(HTTPSなど)を使用している場合、クライアントは本当に回答を生成したサーバーの証明書は、クライアントが要求したアドレスと一致せず、重大な警告が表示されます。


www.A_DOMAIN.com:9000より進化したアプローチは、着信要求を再送信し、hw.ANOTHER_DOMAIN.io:9998プロトコルヘッダを変更し、必要に応じてパケットを復号化して再暗号化するリバースプロキシを設定することです。

利用可能なオプションの中で、これはhw.ANOTHER_DOMAIN.io:9998のコンテンツをwww.A_DOMAIN.com:9000に表示する最もシームレスなソリューションですが、サーバーの最大処理能力も必要です。


クライアントが実際にリダイレクトされている接続を見ることを気にしない場合は、HTTP / HTTPSを使用するもう1つの可能性があります。そのURLにリダイレクトして、すべての要求に応答するhw.ANOTHER_DOMAIN.io:9998小さなWebサーバーを設定できます。デフォルトでは、Webブラウザに「代わりにhw.ANOTHER_DOMAIN.io:9998に移動する」と言うだけです。www.A_DOMAIN.com:9000hw.ANOTHER_DOMAIN.io:9998

これは通常、クライアントがサーバーに1回だけ要求し、その後のすべての要求が他のサーバーに直接行われることを意味するため、おそらくHTTP / HTTPSにとって最も効率的なソリューションです。ただし、クライアントはWebブラウザのアドレスバーにあるアドレスがに更新されていることを確認できるため、hw.ANOTHER_DOMAIN.io:9998配信を非公開にするためにはこの方法は適切ではありません。クライアントがに直接接続できない場合hw.ANOTHER_DOMAIN.io:9998


ご覧のとおり、ユースケースのさまざまな詳細に応じて適用することも、適用できないソリューションもいくつかあります。各ソリューションには独自の制限があり、これは重要でも重要でもない場合があります。

現在の質問方法には、実際に質問に関連するUnix / Linuxはありません。必要に応じて、Windowsで説明されているすべての回避策を実行できます。問題にTCPレベルのNATが適用されている場合は、サーバーを使用せずに企業ネットワークルーターまたはハードウェアファイアウォールデバイスで実行できます。 Linuxサーバーをお持ちでしたが、ディストリビューションの名前とバージョンを指定していないため、正確な推奨を提供することは困難です。あなたの質問は現在、「もっと注意が必要です」タイプの締め切り投票を受け始める危険があります。

そして、私がそう言うことができれば、そのようなフォーカスのない方法で質問をしなければならないという事実は、あなたがLinuxに慣れていないだけでなく、おそらく一般的なTCP / IPネットワーキングに精通していないかもしれないことを示唆しています。実際に商業プロジェクトを進めている場合は、自分の環境について正しい質問を始めるのに十分な時間を持っていない可能性があります。現在の制限を認識し、可能であれば、より技術的なレベルであなたの特定の状況を理解する組織内の人々に助けを求めるべきだと思います。

DNS、ファイアウォール、リバースプロキシなどの技術が何であるか、そして何ができるのか、何ができないのかについての基本的な理解を得るには、「IPネットワーキングの基礎」プロセスが必要なようです。そのような基本的な知識は基本的なさまざまなソリューションを評価し、特定の問題に効果があるものとそうでないことを理解できます。

おすすめ記事