1

У меня есть сервер, размещенный в моей домашней сети. Обычно я получаю доступ к этому из его значения DNS (например, example.com .) Однако у моего провайдера есть неловкая настройка, при которой я не могу получить доступ к внешнему IP-адресу моей домашней сети изнутри сети, поэтому, находясь дома, я вынужден изменить то значение, которое я использую. Это сложно для некоторых вещей.

Могу ли я установить значение /etc/hosts указывающее example.com на мой локальный IP-адрес, но сделать так, чтобы он сразу откатывался, даже если у него возникли малейшие проблемы с достижением устройства, чтобы моя работа из других источников не замедлялась?

1 ответ1

2

Способ разрешения (разрешение DNS) работает так, что приложение запрашивает у преобразователя IP-адрес, соответствующий имени хоста. Средство распознавания пробует несколько методов (настраиваемых), в том числе /etc/hosts , и возвращает адреса из первого успешного источника в приложение.

Резольвера обычно нельзя попросить объединить информацию из всех источников; он использует первый найденный результат, в этом случае он всегда возвращает информацию только из /etc /hosts.

Кроме того, распознаватель не контролирует фактическое установление соединения. Само приложение решает, какой адрес использовать при создании соединения и как долго ждать, прежде чем отказаться, прежде чем пытаться использовать следующий (если он вообще есть).

Так что нет, у вас не может быть автоматического отката "если у приложения есть хоть малейшая проблема с подключением к устройству", если вы специально не запрограммируете приложение на такое поведение.

Однако вы можете определить, находитесь ли вы в домашней сети, и использовать разные конфигурации в зависимости от того, находитесь ли вы или нет.

Это потребует либо небольшого количества скриптов на вашем ноутбуке, либо DNS (прокси) сервера в вашей домашней сети, которым вы управляете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .