DNSは同じIPの後ろにホストします
-
26-10-2019 - |
質問
最近、www.active-domain.comでドメイン名を購入しました。ホームネットワークに使用しているため、NATとDynamic IPについて話しています。私のIPは動的であるため、独自のDNSサーバーを使用する代表団を作成することはできません。 Active-DomainはDNSサーバーとして機能するため、A、CNAME、URLリダイレクト、URLフレーム、TXTレコードのみを作成できます。
とはいえ、私の質問はここにあります。私はNATの背後にいるので、同じIPの背後にあるいくつかのホストを作成することは可能ですか?
例 :
私のネットワークでは、srv1.mydomain.comが192.168.0.101を指していることを望んでいます。
私のネットワークでは、srv2.mydomain.comが192.168.0.102を指していることを望んでいます。
しかし、外側からは、両方のポイント(例)74.0.0.1
要するに :
srv1.mydomain.com-> 74.0.0.1-> 192.168.0.101
srv2.mydomain.com-> 74.0.0.1-> 192.168.0.102
ありがとう。
解決
いずれにせよ、DNSの外側 yourhost.example.com
と anotherhost.example.net
ファイアウォールの外部アドレスを指します(IN A 74.0.0.1
ここ)、またはファイアウォールのホスト名で(例: IN CNAME yourfirewall.example.org.
).
ただし、DNS(ドメイン名IPアドレス解像度)は、接続処理とルーティングとは別に行われることに注意してください。これが意味すること:
- クライアントコンピューターは、DNSホスト名に直面したときに、それを調べようとします - 例えば、そのローカルDNSサーバー、「YourHost.example.com」を尋ねます。 DNSサーバーは「74.0.0.1」と返信します。
- IPスタックに関する限り、ホスト名が最後に使用されるのはこれが最後です。これからは、クライアントはアドレスのみで動作します。
- クライアントは、アドレスとポートへの接続を開きます。ただし、着信パケットは「アドレス74.0.0.1のコンピューター用」のみとマークされており、「DNS名がそのアドレスを取得するために使用されたもの」を示すことなく。
一部のプロトコル(HTTPなど) そうかもしれない パケットのデータ部分でホスト名を使用します(HTTPを使用して、それは Host:
ヘッダー)、しかし、すべてのプロトコルがこれを行うわけではありません。これらは可能性です:
実行される2つのサーバーがある場合 さまざまなポートで, 、これは本当に問題ではありません:私はあなたを紹介します スーパーユーザーのポート転送に関するQ&A.
2つのサーバーを実行する必要がある場合 同じポートで, 、これは困難になりますが、不可能ではありません。トラフィックを逆転させることが可能かもしれません(そして、あるサーバーのデータを他のサーバーのデータから分離します)。問題のプロトコルがこれを行わない場合(例:SMTPまたはSSH)、あなたはほとんどSOLです。
- 具体的には、2つの異なるHTTPサーバー(両方ともポート80)にトラフィックを向けることを目的としている場合、ファイアウォールで何らかの逆プロキシを実行する必要があります(
74.0.0.1
)。 Apacheを使用すると、最もシンプルな構成がこのように見えるかもしれません:
- 具体的には、2つの異なるHTTPサーバー(両方ともポート80)にトラフィックを向けることを目的としている場合、ファイアウォールで何らかの逆プロキシを実行する必要があります(
<VirtualHost *:80>
ServerName yourhost.example.com
ProxyPass / http://192.168.0.101/
ProxyPassReverse / http://192.168.0.101/
</VirtualHost>
<VirtualHost *:80>
ServerName anotherhost.example.net
ProxyPass / http://192.168.0.102/
ProxyPassReverse / http://192.168.0.102/
</VirtualHost>