Что такое resolv.conf и почему взлом клиента VPN это?

Можно использовать GNU sed как в следующем примере:

for file in /path/*; do
  sed -i 's/\x04/\\&/g' "$file"
done

Знайте это -i опция изменяет файл на месте, так убедиться иметь резервное копирование, что-то должно пойти не так, как надо.

6
13.04.2017, 15:36
2 ответа

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

Обычно, кто бы ни обеспечивает Ваш доступ в Интернет (например, Ваш ISP) обеспечивает серверы имен для использования. К самим серверам имен нужно получить доступ через их IP-адрес, конечно. Обычно, когда Вы соединяетесь с DHCP или PPP, Ваш компьютер получает адреса сервера DNS и обновления программного обеспечения /etc/resolv.conf автоматически, чтобы добавить адреса серверов DNS Вашего поставщика и удалить их, когда Вы разъединяетесь.

В простых случаях Вам только нужен единственный сервер DNS, перечисленный в /etc/resolv.conf. Тот сервер опросит другие серверы по мере необходимости, если он не будет иметь ответа на запрос. Часто, когда Вы соединяетесь через поставщика или в крупной организации, Вы будете видеть два адреса: основной сервер и сервер нейтрализации в случае, если основной сервер идет офлайн.

С находящимися в Debian дистрибутивами удостоверьтесь, чтобы Вы имели resolvconf пакет установил (он теперь установлен по умолчанию в соответствии с Ubuntu), поскольку он заботится об управлении /etc/resolv.conf. Это обычно разбирается в вещах автоматически, и если это не делает легко настроить.

Если с Вашими двумя VPNs можно использовать единственный сервер имен, примите меры, чтобы некоторый рабочий сервер имен закончился в /etc/resolv.conf. Предпочтительно, настройте клиента VPN, от которого Вы не хотите DNS не перезаписать /etc/resolv.conf (любой хороший клиент VPN должен иметь это как опцию в ее конфигурационном файле или в сопутствующем сценарии).

При необходимости в нескольких серверах имен, например, потому что каждая VPN предоставляет Вам доступ к различной внутренней сети, необходимо будет соединиться с единственным сервером имен, который диспетчеризирует запросы. Я рекомендую dnsmasq, который легок, легок настроить, и достаточно мощный для большей части единственной машины и установок небольшой сети. Если Вы выполняете свой собственный сервер имен, /etc/resolv.conf должен содержать nameserver 127.0.0.1 и никто другой nameserver директива, поэтому удостоверьтесь что ни одно из Вашего переопределения клиентов VPN это.

2
27.01.2020, 20:27
  • 1
    Спасибо за этот подробный ответ. Я все еще получаю вопрос с resolve.conf, который всегда пуст на моей Ubuntu, когда я подключен непосредственно к своему "Полю", обеспеченному моим ISP. Где это настроено, и кто переводит адреса, мой компьютер или мое Поле? –  Manuel Selva 07.09.2012, 09:55
  • 2
    @ManuelSelva Обычно поле соединяется с ISP по PPP и получает серверы DNS, когда это инициирует соединение PPP; Ваш компьютер соединяется с полем и получает адрес, а также серверы DNS по DHCP. Это обычно работает из поля (оно все заботилось о сценариями под /etc/network и /etc/resolvconf). С установкой по умолчанию Ваш компьютер непосредственно соединился бы с ISP для перевода (т.е. у Вас будут адреса ISP в Вашем компьютере /etc/resolv.conf, хотя, возможно, некоторые поля включают сервер DNS (затем, Ваш компьютер имел бы адрес поля как nameserver). –  Gilles 'SO- stop being evil' 07.09.2012, 12:19
  • 3
    Хорошо еще раз спасибо. Странно, меня resolv.conf всегда пуст, когда я не использую клиентов VPN. как я могу объяснить это? –  Manuel Selva 07.09.2012, 14:10
  • 4
    @ManuelSelva, Если у Вас нет объявленного сервера имен, это эквивалентно наличию 127.0.0.1 (т.е. localhost). Таким образом, Вы, по-видимому, выполняете локальный сервер имен. Если Вы не знаете, который, узнайте с lsof -i udp:53. Необходимо будет настроить тот сервер имен. –  Gilles 'SO- stop being evil' 07.09.2012, 14:17
  • 5
    у меня нет открытого соединения UDP ('lsof-i' udp) результатом, является empty:-( –  Manuel Selva 07.09.2012, 14:48

/etc/resolv.conf определяет, как компьютер разрешает имена хостов (например, который, если таковые имеются, ищутся доменные имена по умолчанию, когда Вы пытаетесь разрешить non-FQDN имя хоста.... поиск для пустого www становится www.yourdomain.example.com), и какие серверы имен используются, чтобы сделать поиск.

Одна из причин и наиболее вероятное, что клиенты VPN могли бы изменить/etc/resolv.conf, состоят в том, чтобы заставить компьютер клиента VPN использовать конкретный сервер имен для разрешения сетевых имен - например, если маршрутизатор VPN выполняет кэширующийся сервер имен.

Нет ничего мешающего Вам возвратить/etc/resolv.conf к тому, чем Вы хотите, чтобы он был, и программное обеспечение клиента VPN может даже предоставить Вам некоторый автоматизированный метод выполнения этого (иначе просто CP резервная копия resolv.conf назад в место)...., но Вы можете испытать затруднения при разрешении некоторых имен (например, некоторые домены настраиваются с общедоступными и частными представлениями - посторонние видят только "общедоступные" имена, в то время как инсайдеры - включая клиентов VPN - видят все внутренние, частные имена также).

Одним способом решить это была бы к CP не резервная копия исходного resolv.conf, а измененная копия и с Вашими предпочтительными серверами имен и с областями поиска, а также что хочет программное обеспечение клиента VPN.

6
27.01.2020, 20:27
  • 1
    Но если я сохраню новое значение домена, то все мои запросы non-FQDN будут добавлены с этим значением домена, означая, что оно должно перейти маршрутизатор VPN DNS.не так ли? DI do not хочет это. –  Manuel Selva 07.09.2012, 09:50
  • 2
    search и domain записи в/etc/resolv.conf независимы от nameserver запись/записи. Они указывают, какие домены искать пустые имена хостов, в то время как записи сервера имен указывают который сервер (серверы) запросить. –  cas 07.09.2012, 17:15

Теги

Похожие вопросы