Можно использовать GNU sed
как в следующем примере:
for file in /path/*; do
sed -i 's/\x04/\\&/g' "$file"
done
Знайте это -i
опция изменяет файл на месте, так убедиться иметь резервное копирование, что-то должно пойти не так, как надо.
/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 это.
/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.
search
и domain
записи в/etc/resolv.conf независимы от nameserver
запись/записи. Они указывают, какие домены искать пустые имена хостов, в то время как записи сервера имен указывают который сервер (серверы) запросить.
– cas
07.09.2012, 17:15
/etc/network
и/etc/resolvconf
). С установкой по умолчанию Ваш компьютер непосредственно соединился бы с ISP для перевода (т.е. у Вас будут адреса ISP в Вашем компьютере/etc/resolv.conf
, хотя, возможно, некоторые поля включают сервер DNS (затем, Ваш компьютер имел бы адрес поля какnameserver
). – Gilles 'SO- stop being evil' 07.09.2012, 12:19127.0.0.1
(т.е. localhost). Таким образом, Вы, по-видимому, выполняете локальный сервер имен. Если Вы не знаете, который, узнайте сlsof -i udp:53
. Необходимо будет настроить тот сервер имен. – Gilles 'SO- stop being evil' 07.09.2012, 14:17