WGET не может разрешить хост
У меня есть 2 машины в одной подсети с 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'
И т.п.
Я надеюсь, что кто-то здесь может указать мне правильное направление, чтобы я мог решить эту проблему:)
5 ответов
Проверьте свои /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 заставлял его возвращать ноль, если он не найден в файлах или 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
Может ли быть неверный прокси настроен на машине с ошибкой? Попробуй это:
# wget --no-proxy google.com
Первое, что нужно попробовать, это проверить, правильно ли работает 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
Можете ли вы разрешить другой хост?