ドメインまたはサブドメインを特定の IP にポイントすることは非常に一般的です。
しかし、私はその逆をやりたいのです。
IP 42.42.42.42 をサブドメイン、たとえば test.example.com にポイントして、42.42.42.42 にアクセスすると test.example.com のコンテンツが表示されるようにしたいと思います。
/etc/hosts を編集しようとしましたが、機能しません。IP をサブドメインにポイントすることはできないようです。
何かアイデアはありますか?Googleで検索すると、ドメインをIPにリダイレクトする方法を説明するチュートリアルが表示されます...しかし、私はその逆が必要です
更新: 私はIPを所有しておらず、ドメイン名も所有していません
答え1
そのために DNS は必要ありません。
test.example.com
httpd の設定のサーバー ブロックに IP をエイリアスとして追加するだけです。
Apache の例:
<VirtualHost *:80>
DocumentRoot "/www/example1"
ServerName test.example.com
ServerAlias 42.42.42.42
# Other directives here
</VirtualHost>
答え2
ホスト名を IP アドレスに解決することは、HTTP 接続を確立するための通常の手順の一部であるため、[サブ] ドメインを IP アドレスにポイントするのは簡単です。
IP アドレスを別のドメイン名にポイントするには、プロセスに DNS 解決の別のラウンドを導入する必要があります。これは HTTP プロトコル レベルで実行できます。これが HTTP リダイレクトです... ただし、宛先システムを 42.42.42.42 IP アドレスで制御する必要があります。下位のプロトコル レイヤーには、DNS 解決の別のラウンドを導入する機能は実際にはありません。ただし、事前に test.example.com の IP アドレスを調べておけば、42.42.42.42 の代わりにその IP アドレスを代入できます。
IP アドレスをリダイレクトする場合は、クライアント システム、そのネットワーク、またはリダイレクトする IP アドレスを保持しているシステムのいずれかを制御する必要があります。ターゲット IP アドレスを制御しないとおっしゃっているので、クライアント側で行う必要があります。
クライアント システムを制御する場合は、iptables
OUTPUT ルール チェーンで DNAT ルールを使用して、42.42.42.42 からターゲット FQDN にトラフィックをリダイレクトできます。これを行うと、ルールを構成するときにターゲット FQDN の名前解決が 1 回だけ行われるため、リダイレクトによって実際には 1 つの IP アドレスが別の IP アドレスに置き換えられます。クライアントのルールは次のようになります。
iptables -t nat -A OUTPUT -p tcp -d 42.42.42.42 --dport 80 -j DNAT --to-destination test.example.com:80
クライアントのネットワークを制御する場合は、通常の WWW プロキシ (クライアントが制御可能なプロキシを使用するように構成されている場合) または透過プロキシ (クライアントに明示的なプロキシ構成がない場合) でリダイレクトを実行するオプションもあります。