Я собираю свое собственное ядро 3.14. Я боюсь, что, возможно, пропустил некоторые важные сетевые функции для работы DNS.
Я не могу разрешить доменные имена. Я могу пропинговать свой DNS-сервер. Я могу разрешить использование этого DNS на других машинах, так что я знаю, что это не сервер.
~ # cat /etc/resolv.conf
nameserver 192.168.13.5
~ # nslookup google.com
Server: 192.168.13.5
Address 1: 192.168.13.5
nslookup: can't resolve 'google.com'
~ # ping -c 1 google.com
ping: bad address 'google.com'
~ # ping -c 1 192.168.13.5
PING 192.168.13.5 (192.168.13.5): 56 data bytes
64 bytes from 192.168.13.5: seq=0 ttl=128 time=0.382 ms
--- 192.168.13.5 ping ststistics ---
1 packets transmitted, 1 packets recieved, 0% packet loss
reound-trip min/avg/max = 0.382/0.382/0.382 ms
Есть идеи, что я оставил? вот мой конфиг: http://pastebin.com/vt4vGTgJ
РЕДАКТИРОВАТЬ :
Если это не ядро, что я мог упустить? Я использую busybox, статически связанный. в этой системе нет общих библиотек.
dig @192.168.13.5 www.google.com
вы получаете дополнительную информацию? Можете ли вы выполнить рекурсивные запросы к вашему DNS-серверу 192.168.13.5 с других компьютеров?nameserver 8.8.8.8
.Ответы:
Проблема с занятым боксом. Я перешел на предварительно скомпилированную версию и не было проблем. Мне нужно изучить параметры компиляции с ним. Спасибо за вашу помощь.
https://gist.github.com/vsergeev/2391575 :
источник
Я столкнулся с той же проблемой, и оказалось, что busybox требователен к формату resolv.conf. Для работы nslookup между тегом nameserver и адресом должен быть ровно один пробел. Кроме того /etc/nsswitch.conf должен включать DNS для хоста.
[busybox master (git hash 349d72c19) sysroot-glibc-linaro-2.25-2018.05-arm-linux-gnueabihf]
Да, вопрос старый, но текущий busybox все еще ведет себя таким образом.
[Я использовал xxd ниже, чтобы показать количество пробелов в resolv.conf]
Это не удается:
и это работает:
источник
Я не уверен, что это та же проблема, что у меня была или нет, но я недавно обновил и старую систему внутреннего DNS-сервера с OpenBSD 3.8 до 5.6, и я потерял способность разрешать хосты с помощью ping, но команда host работала. Выяснилось, что мне пришлось добавить 127.0.0.1/8 в директиву match-clients в named в дополнение к 192.168.0.0/16, который у меня уже был, и затем он начал работать должным образом после перезапуска named.
источник
У меня такая же проблема. Я использовал buildroot для сборки файловой системы, для компиляции ядра и для добавления дополнительных пакетов с busybox.
Я был в состоянии только пинговать IP-адрес. С URL команда пинг возвратятся
bad address error
. Затем я изменилresolv.conf
файл.И все работало нормально.
источник
Я решил те же симптомы, отредактировав:
/etc/nsswitch.conf
и добавив DNS в следующую строку:источник
sudo vim /etc/resolv.conf
чтобы отредактировать resolv.conf, убедитесь, что адреса серверов имен (а также ключевое слово 'nameserver') разделены одним пробелом, а не запятой, как показано ниже:источник