Сплошное мучение длинной в десятки ребутов! К сожалению, этот пост будет без скриншотов. Сегодня расскажу Вам всё без наглядных материалов.
Мне нужно было ввести в домен Active Directory компьютер с десктопной Linux Ubuntu 22.04 на борту. И вот с этим, кстати, проблем не возникло. Проблемы начались позже.
Есть в системе такой замечательный файл вот по этому пути:
/etc/resolv.conf
Если всё упростить, этот файл отвечает за разрешение имён в операционной системе. Если в нём будут какие-то (условно) не те данные — система не увидит домен. До кучи и сайт какой-нибудь нам не откроет, но это уже частности.
В моём случае в этом файле должны быть примерно такие данные:
nameserver 192.168.1.1 search domain.local
Именно их я и внёс в resolv.conf, но сразу после перезапуска системы его содержимое вернулось к умолчаниям:
nameserver 127.0.0.53 search .
Разумеется, если с таким багажом залукапить (losst.pro знает про это вот всё) домен:
nslookup domain.local
Консоль скажет, что она понятия не имеет о чём идёт речь. Конечно, не имеет. Ей просто некуда двигаться, чтобы найти домен.
Над разгадкой этой чехарды я бился по меньшей мере час, пока не набрёл на достаточно простое решение. Первый шаг — установка пакета resolvconf.
sudo apt install resolvconf
Дальше — проверяем запустилась ли служба resolvconf:
sudo systemctl status resolvconf.service
Если служба отключена, то запускаем её и включаем для автозагрузки:
sudo systemctl start resolvconf.service && sudo systemctl enable resolvconf.service
Все необходимые данные нужно будет внести в этот файл:
sudo nano /etc/resolvconf/resolv.conf.d/head
Повторюсь, что в моём случае содержимое файла должно быть таким:
nameserver 192.168.1.1 search domain.local
И теперь reboot никак не повлияет на содержимое resolv.conf. Как только система загрузится — можете смело лукапить домен. Всё должно работать.