Можно ли дать два IP-адреса для одного и того же имени хоста?
Я хочу дать два IP-адреса для одного имени хоста.
Как в /etc/hosts
файл:
xx.x.x.x example # if system is connected to dhcp
y.y.yy.y example # if system is connected to VPN
Так возможно ли это?
1 ответ
Это не совсем возможно, как в этом конкретном примере. Ваш файл hosts по сути является частью способности вашей системы сопоставлять имя хоста с IP-адресом. Поэтому, когда ваша система хочет узнать IP-адрес "примера", она получит один IP-адрес в ответ. Файл hosts не позволяет различать разные "типы записей" для его разрешения. Таким образом, для сопоставления имени хоста с IP-адресом вы получаете только один IP-адрес на имя хоста (но несколько имен хостов могут преобразовываться в один и тот же IP-адрес, что является противоположным).
В зависимости от того, что вы делаете, возможно ли использовать внешнюю службу DNS, такую как dyndns.org, для сопоставления постоянного имени хоста, которое будет работать в любой сети, с вашим IP-адресом?
Строго говоря, приведенный выше ответ неверен.
В более старом коде, используя
gethostbyname()
действительно вернет только один результат.
В более новом коде, используя
getaddrinfo()
вернет все результаты, и файл /etc/hosts в вопросе будет работать должным образом.