В /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.
Взято из 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>"