У меня две машины в одной подсети, на которых запущен Debian 5.0. Они используют один и тот же DNS (/etc/resolv.conf), они направляют на тот же шлюз (#route) и имеют одинаковые настройки iptables (#iptables -L). Я могу пинговать с них обоих, как на IP-адреса, так и на имена хостов. Я могу запустить #host www.google.com и получить одинаковые результаты для них обоих. Но проблема в том, что на одном из них я не могу скручиваться или скручиваться.
Итак, на машине 1 все в порядке, но на машине 2 (с теми же настройками, что и на машине 1) я не могу wget или curl.
Я получаю следующую ошибку:
# wget google.com
--2009-10-20 16:38:36-- http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'
Но на машине 1 нет проблем с wget или curl и возвращением:
# wget google.com
--2009-10-20 16:43:55-- http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
...
Saving to: `index.html.3'
И т.п.
Я надеюсь, что кто-то здесь может указать мне в правильном направлении, чтобы я мог исправить эту проблему :)
Проверьте свои /etc/nsswitch.conf
файл (или любой другой эквивалент в Debian, если это не так).
host
и nslookup
всегда выполните поиск в DNS.
Однако другие приложения сначала будут искать в NSS другие системы именования (например, /etc/hosts
, Шекелей и т. Д.). Если что-то еще настроено, но не работает, это может помешать приложению попытаться использовать DNS.
Спасибо за ответы, ребята!
Это был файл nsswitch.conf. Я настроил LDAP из учебника, который сказал мне использовать эту строку в хостах:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Когда я изменил его на это:
hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4
Работает без проблем. Итак, я предполагаю, что конфигурационный файл nsswitch заставлял его возвращать null, если он не найден в файлах или mdns4_minimal, верно?
Спасибо за вашу помощь!
У меня была такая же проблема, но рядом с изменением /etc/nsswitch.conf
:
hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4
Мне также пришлось изменить серверы имен:
+ Изменить /etc/resolv.conf
поэтому он указывает на серверы имен Google. Те, что добавлены менеджером сети, у меня не работают.
# RED 2013-03-31
nameserver 8.8.8.8
nameserver 8.8.4.4
Первое, что нужно попробовать - это проверить, правильно ли работает DNS.
# host google.com
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com has address 74.125.53.100
Если вы не получили этого ответа, проверьте /etc/resolv.conf и найдите серверы имен, перечисленные в этом файле. Можете ли вы пинговать каждого из них?
Попробуйте запросить каждый из них по отдельности:
# host google.com 12.34.56.78
Можете ли вы разрешить другой хост?
Может быть, на машине с ошибкой настроен недействительный прокси? Попробуй это:
# wget --no-proxy google.com