Хосты не обнаруживаются сервером после перезапуска и требуют ручного ввода DNS-сервера для работы

Хосты не обнаруживаются сервером после перезапуска и требуют ручного ввода DNS-сервера для работы

Мой сервер Raspbian «забывает» свои хосты после перезагрузки.

Единственное решение, которое я нашел, — вручную запустить:

sudo sh -c 'echo "nameserver 8.8.8.8" >> /etc/resolv.conf'

Однако он стирается при перезапуске и требует, чтобы я ввел его снова. Я хочу сделать это как можно более автоматическим.

Поскольку я использую его и как сервер печати, и как ядро ​​IRC, у него должен быть статический IP-адрес.

Мой текущий файл /etc/network/interfaces выглядит так:

auto lo

iface lo inet loopback
iface eth0 inet static

address 192.168.0.64
netmask 255.255.255.0
gateway 192.168.0.1

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

address 192.168.0.64
netmask 255.255.255.0
gateway 192.168.0.1

Я попытался добавить DNS-сервер Google в этот файл в конце, но это не сработало.

Кроме того, при запуске моего сервера появляется сообщение об ошибке:

[FAIL] Not running dhcpcd client because /etc/network/interfaces defines some interfaces that will use a DHCP client.

Я уверен, что это как-то связано, но не уверен, как именно.

Пожалуйста, помогите мне найти решение, которое будет постоянным, чтобы я мог перезапустить свой сервер удаленно, без необходимости подключаться к нему и вручную запускать:

sudo sh -c 'echo "nameserver 8.8.8.8" >> /etc/resolv.conf'

Спасибо!

решение1

Прежде всего, вам нужно удалить лишнее из вашего файла. Закомментируйте все, начиная с wpa-roam#символом в начале каждой строки) и далее.


/etc/resolv.confне должны быть изменены вами в современных дистрибутивах. Первые несколько строк файла на моем Raspbian (и других) говорят:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

Поэтому прочитайте, man resolvconfкак он обновляется — это могут быть ваши сетевые скрипты или сетевой менеджер.

Если вы не используете Network Manager, то, скорее всего, вам придется добавить соответствующую строфу в /etc/network/interfaces:

auto lo
auto eth0

iface lo inet loopback

iface eth0 inet static
    address 192.168.0.64
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 8.8.8.8

Обратите внимание на dns-namserversзапись.

Если вы используете Network Manager и графическую среду рабочего стола, то вы, вероятно, сможете добавить DNS-серверы туда.

Если вы не используете графическую среду рабочего стола, а используете Network Manager, то этот nmcliинструмент может помочь вам настроить DNS-резолверы:

$ sudo nmcli con mod eth0 ipv4.dns "8.8.8.8"

Связанный контент