указать IP на поддомен

указать IP на поддомен

Очень часто домены или поддомены привязываются к некоторым IP-адресам.

Однако я хотел бы сделать наоборот:

Я хотел бы связать IP-адрес 42.42.42.42 с поддоменом, например, с test.example.com, чтобы при посещении 42.42.42.42 мне показывалось содержимое test.example.com.

Я пробовал редактировать /etc/hosts, но это не сработало. Похоже, что нельзя указать IP-адрес поддомена.

Есть идеи? Все мои поиски в Google приводят меня к руководствам, объясняющим, как перенаправить домен на IP... Но мне нужно просто обратное.

обновление: я не владею IP и не владею доменным именем

решение1

Для этого вам не нужен DNS.

Просто добавьте IP-адрес в качестве псевдонима в test.example.comблоке сервера в конфигурации вашего httpd.

Пример для Apache:

<VirtualHost *:80>
    DocumentRoot "/www/example1"
    ServerName test.example.com
    ServerAlias 42.42.42.42

    # Other directives here
</VirtualHost>

решение2

Указать [под]домен на IP-адрес легко, поскольку преобразование имени хоста в IP-адрес является частью обычной процедуры установления HTTP-соединения.

Указание IP-адреса на другое доменное имя действительно потребует введения еще одного раунда разрешения DNS в процесс. Это можно сделать на уровне протокола HTTP: это то, что такое HTTP-перенаправление... но это потребует управления целевой системой по IP-адресу 42.42.42.42. Любые более низкие уровни протокола на самом деле не имеют возможности ввести еще один раунд разрешения DNS. Но если вы посмотрите IP-адрес test.example.com заранее, подстановка его IP-адреса вместо 42.42.42.42 возможна.

Если вы хотите перенаправить IP-адрес, вам, по сути, нужно будет контролировать либо клиентскую систему, либо ее сеть, либо систему, содержащую IP-адрес, который вы хотите перенаправить. Поскольку вы сказали, что не контролируете целевой IP-адрес, вам нужно будет сделать это на стороне клиента.

Если вы контролируете клиентскую систему, вы можете использовать iptablesправило DNAT в цепочке правил OUTPUT для перенаправления трафика с 42.42.42.42 на целевой FQDN. Если вы это сделаете, разрешение имени для целевого FQDN произойдет только один раз, когда вы настроите правило: поэтому перенаправление фактически заменяет один IP-адрес на другой. Правило на клиенте будет таким:

iptables -t nat -A OUTPUT -p tcp -d 42.42.42.42 --dport 80 -j DNAT --to-destination test.example.com:80

Если вы контролируете сеть клиента, то у вас также есть возможность выполнить перенаправление через обычный WWW-прокси (если клиент настроен на использование прокси-сервера, которым вы можете управлять) или через прозрачный прокси (если в клиенте нет явной конфигурации прокси-сервера).

Связанный контент