Как мне установить сервер имен (dns) для initramfs Ubuntu?

В /etc/initramfs-tools/initramfs.conf есть несколько параметров конфигурации для initramfs Ubuntu.

Среди прочего здесь можно установить IP и сетевое УСТРОЙСТВО для начальной файловой системы RAM, например DECCIVE = wlan1 или IP = 192.168.0.10 :: 192.168.0.1: 255.255.255.0 .

Я установил dropbear для разблокировки зашифрованных дисков через SSH , и у меня возникла проблема, заключающаяся в том, что мой сервер сохраняет конфигурацию сети initramfs даже после разблокировки и полной загрузки. Поскольку эта конфигурация не включает DNS, мне нужно добавить его вручную позже, и он не сохраняется.

Итак, как мне настроить сервер имен в initramfs?



Что я пробовал:

Когда я установил IFDOWN = * в / etc / dropbear-initramfs / config ], после загрузки завинчивается вся сеть (а не только сервер имен), и мне нужно сделать что-то вроде:

sudo ip link set <device> up
sudo ip a a 192.168.0.10/24 dev <device>
sudo ip r a default via 192.168.0.1
sudo resolvectl dns <device> 192.168.0.1 1.1.1.1

Внутри initramfs файл / run / net-enp2s0 , кажется, отвечает за точная конфигурация сети:

# cat /run/net-enp2s0.conf 
DEVICE='enp2s0'
PROTO='none'
IPV4ADDR='192.168.0.10'
IPV4BROADCAST='192.168.0.255'
IPV4NETMASK='255.255.255.0'
IPV4GATEWAY='192.168.0.1'
IPV4DNS0='0.0.0.0'
IPV4DNS1='0.0.0.0'
HOSTNAME=''
DNSDOMAIN=''
NISDOMAIN=''
ROOTSERVER='0.0.0.0'
ROOTPATH=''
filename=''
UPTIME='9'
DHCPLEASETIME='0'
DOMAINSEARCH=''

Но я понятия не имею, как она создается и как изменять ее содержимое. К сожалению, мне не хватает документации по initramfs.

1
задан 23 March 2019 в 21:10

1 ответ

Взято из https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt

 ip=:::<сетевая маска>:<имя хоста>:<устройство>::
 ::

Этот параметр сообщает ядру, как настроить IP-адреса устройств, а также как настроить таблицу IP-маршрутизации. Первоначально он назывался nfsaddrs, но теперь конфигурация IP во время загрузки работает независимо от NFS, поэтому он был переименован в ip, а старое имя осталось в качестве псевдонима из соображений совместимости.

Если этот параметр отсутствует в командной строке ядра, предполагается, что все поля пусты, и применяются значения по умолчанию, указанные ниже. В общем случае это означает, что ядро ​​пытается настроить все с помощью автоконфигурации.

...

В вашем случае используйте enp1s0 как сетевое устройство (может понадобиться также использовать eth0):

IP="192.168.0.10::192.168.0.1:255.255.255.0::enp1s0:off:<DNS-Server>"
0
ответ дан 28 August 2020 в 01:17

Другие вопросы по тегам:

Похожие вопросы: