Это дизайном - Ubuntu является в основном нестабильный Debian. При необходимости в вырезании (и выход за край) край, можно хотеть попробовать экспериментальный Debian или прокручивающийся дистрибутив выпуска как Slackware, Перекати-поле openSUSE, Дуга Linux... или просто пойти для хинду.
Проблема с busybox. Я переключился на прекомпилированную версию и у меня не было проблем. Нужно разобраться с опциями компиляции. Спасибо за помощь.
https://gist.github.com/vsergeev/2391575:
В статически скомпилированных glibc-программах (например, busybox в данном случае) известны проблемы с функциональностью DNS, так как libnss должен быть динамически загружен. Построение инструментальной цепочки uClibc и связывание busybox с ней решит эту проблему.
Я не уверен, это та же самая проблема, что и у меня, но я недавно обновил и старую систему внутреннего DNS сервера с OpenBSD 3.8 до 5.6, и я потерял возможность разрешать хосты с помощью ping, но команда хоста работала. Оказалось, что мне пришлось добавить 127.0.0.1/8 к директиве match-clients в названии в дополнение к 192.168.0.0/16, которое у меня уже там было, а затем она начала работать корректно после перезапуска с именем.
У меня была такая же проблема. Я использовал BuildRoot, чтобы построить файловую систему, чтобы скомпилировать ядро и добавить дополнительные пакеты с Bitebox.
Я мог пинговать только IP-адрес. С URL-адресом команды Ping возвращается: ошибка плохого адреса
. Затем я изменил файл resolv.conf
.
sudo vim /etc/resolv.conf
nameserver gateway_ip_address
nameserver 8.8.8.8
nameserver 8.8.4.4
И все работало нормально.
Я устранил те же симптомы, отредактировав: /etc/nsswitch.conf
и добавив DNS в следующую строку:
hosts: files dns
Я столкнулся с той же проблемой, и оказалось, что busybox требователен к формату resolv.conf. Для работы nslookup между тегом сервера имен и адресом должен быть ровно один пробел. Кроме того, /etc/nsswitch.conf должен включать DNS для хоста.
[мастер busybox (git hash 349d72c19 )sysroot -glibc -linaro -2.25 -2018.05 -arm -linux -gnueabihf ]
root@4000000a:~# cat /etc/nsswitch.conf
passwd: files compat
shadow: files compat
hosts: files dns compat
Да, вопрос старый, но текущий busybox по-прежнему ведет себя так.
[Я использовал xxd ниже, чтобы показать количество пробелов в resolv.conf]
Это не удается:
root@4000000a:~# xxd /etc/resolv.conf
00000000: 6e61 6d65 7365 7276 6572 2020 382e 382e nameserver 8.8.
00000010: 382e 380a 8.8.
root@4000000a:~# nslookup www.cnn.com
nslookup: bad address ' 8.8.8.8'
и это работает:
root@4000000a:~# xxd /etc/resolv.conf
00000000: 6e61 6d65 7365 7276 6572 2038 2e38 2e38 nameserver 8.8.8
00000010: 2e38 0a .8.
root@4000000a:~# nslookup www.cnn.com
Server: 8.8.8.8
Address: 8.8.8.8:53
Non-authoritative answer:
www.cnn.com canonical name = turner-tls.map.fastly.net
Name: turner-tls.map.fastly.net
Address: 151.101.1.67
Name: turner-tls.map.fastly.net
Address: 151.101.65.67
Name: turner-tls.map.fastly.net
Address: 151.101.129.67
Name: turner-tls.map.fastly.net
Address: 151.101.193.67
Non-authoritative answer:
www.cnn.com canonical name = turner-tls.map.fastly.net
Name: turner-tls.map.fastly.net
Address: 2a04:4e42::323
Name: turner-tls.map.fastly.net
Address: 2a04:4e42:200::323
Name: turner-tls.map.fastly.net
Address: 2a04:4e42:400::323
Name: turner-tls.map.fastly.net
Address: 2a04:4e42:600::323
sudo vim /etc/resolv.conf
чтобы отредактировать resolv.conf, убедитесь, что адреса серверов имен (, а также ключевое слово «сервер имен» )разделены одним пробелом, а не запятой, как показано ниже:
nameserver 8.8.8.8 8.8.4.4