18.04: Bionic Beaver: принудительное применение статического /etc/resolv.conf


10

Ранее, в Ubuntu 16.04, я чувствовал себя преданным, когда обновление Ubuntu установило dnsmasqпакет, настроило его и дало ему преимущество перед моим собственным сверхстабильным, сверхбыстрым и настроенным DNS-сервером BIND. Я чувствовал, что Ubuntu взломал мою рабочую станцию.

Так как мне довелось работать системным администратором, это было крайне неприемлемо. Это был ужасный звонок. Это когда вы решаете проблему и на одном из ваших шагов вы используете digили, nslookupи вы ошеломлены, увидев, что loинтерфейс отвечает вам. ПАНИКА

Есть ли способ не только исправить эту проблему, но и гарантировать, что /etc/resolv.confона будет защищена от подделки?

Ответы:


5

Простое редактирование /etc/NetworkManager/NetworkManager.confи отключение systemd-resolved.service(как в этом ответе https://askubuntu.com/a/907249/719422 ). Но это само по себе, хотя и существенно, не гарантирует защиту от взлома resolv.conf.

Чтобы действительно применять статические свойства, /etc/resolv.confкоторые, как вы знаете, будут действовать после перезапусков любого типа, вам нужно установить для них неизменный атрибут. Добавляя ответ Бастиана Фойгта, упомянутый выше, вы делаете это как SuperUser:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

... изменение nameserverвыбранного вами значения. Таким образом, вы можете быть действительно статичным /etc/resolv.conf.


3
Файл /etc/NetworkManager/NetworkManager.conf не существует в 18.04
— hfranco

@hfranco, если это не так, в чем я сомневаюсь, тогда просто создайте! И, кстати, если это ваш случай, то это не стандартная установка; твой случай ненормальный. Я бы сказал, что вы ошиблись при поиске!
— МК

@hfranco стара как 12.04 unix.stackexchange.com/questions/154338/...
— МК

Это единственное, что сработало для меня в Ubuntu 18.04
— Лукас Бустаманте

1

Лучшее решение, которое я нашел, - запретить NetworkManager обновить /etc/resolv.conf и затем создать новый файл /etc/resolv.conf со статическим DNS-сервером. См. Https://www.ctrl.blog/entry/resolvconf-tutorial, чтобы узнать, как это сделать.


1
Спасибо за спам! Но вам все равно не хватает неизменного атрибута!
— МК

0

Согласно документации, вы можете написать resolv.confTo /usr/lib/systemd/resolv.conf, который является статическим файлом , который может быть связан с /etc/resolv.conf. Это не должно быть переписано.

sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc3

/etc/resolv.conf

Поддерживаются четыре режима обработки /etc/resolv.conf (см. Resolv.conf (5)):

...

Предоставляется статический файл /usr/lib/systemd/resolv.conf, который перечисляет заглушку DNS 127.0.0.53 (см. Выше) в качестве только DNS-сервера. Этот файл может быть символической ссылкой из /etc/resolv.conf для подключения всех локальных клиентов, которые обходят локальные API-интерфейсы DNS, к systemd-resolved. Этот файл не содержит никаких поисковых доменов.


2
Нет простите. Что происходит, когда спецификация меняется или метод конфигурации изменяется по собственному желанию Ubuntu ? Вы знаете, это то же самое фиаско, для которого я оставил испорченные мечты Сати об ОС. И это то же самое фиаско, которого должен избегать Linux. Что не так с resol.conf? Почему хлопот? Зачем пытаться подражать ненавистному и утомительному сетевому конфигу Redhat, так или иначе? Извините, я буду придерживаться только моего решения.
— МК

Откуда вы знаете, что ваш файл просто не будет игнорироваться в будущем? Я знаю, что форсирование статического поведения некоторых приложений будет работать, а других - нет. С решением Wisbucky, по крайней мере, мы можем использовать текущий способ. Я тоже не видел необходимости их менять, но не получил голоса. Кто-то отверг это решение, хотя на самом деле оно работает и является самым простым. +1
— Марлон

@Marlon "Откуда вы знаете, что ваш файл просто не будет игнорироваться в будущем"? Потому что оно установлено неизменным; и, если /etc/resolv.conf будет проигнорирован, так почему суета все равно строит вокруг него фреймворк ?? Игнорирование файла произойдет только в том случае, если кто-то из Ubuntu wacko решит, что он бесполезен (например, что-то внедряется в файл интерфейсов!)
— MK

Если бы я хотел, чтобы кто-то принимал решения за меня, я бы вернулся к сумасшедшему Microsoft Windows, чьи программисты и дизайнеры и Сатья над ними все думают, что они знают о вас лучше, чем вы, и что у вас нет права выбирать, как их запускать создание". Суета!
— MK

Зачем суете строить ОС на благо человечества, если человечество не может наслаждаться ею? Что за суета является неизменным атрибутом, если кто-то скажет мне, когда его использовать или нет. Речь идет не о «следовании галактическим наставлениям Веги», а о свободе выбора; никто не должен навязывать вам свой собственный твердый целеустремленный импульс. Вы существо и у вас есть права.
— MK

-2

Представленный файл является символической ссылкой на другой файл. Удалить файл

rm /etc/resolve.conf
vim / etc resol.conf
введите ваши данные
: WQ

Файл больше не является символической ссылкой, а постоянным файлом.


Шаги уже направлены к удалению /etc/resolv.conf заранее.
— MK
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.