Статический маршрут в initramfs
К сожалению, мой хостинг-провайдер требует использования статических маршрутов для настройки сети (шлюз находится в другой подсети, чем IP-адрес хоста). Для этого я добавил следующие строки в файл конфигурации сети (/etc/network/interfaces):
post-up route add -host 172.31.1.1 dev ens3 && route add default gw 172.31.1.1
Чтобы разблокировать зашифрованный корневой диск с помощью cryptsetup, я устанавливаю dropbear, чтобы я мог использовать SSH в busybox для предоставления пароля шифрования. Однако я не нашел способа добавить статические маршруты в файл конфигурации initramfs. У кого-нибудь есть идеи, как это можно сделать? Рассматриваемый сервер работает под управлением Ubuntu 16.04.
2 ответа
Создайте небольшой вспомогательный скрипт, который настраивает вашу статическую маршрутизацию. В соответствии с инструкциями руководства initramfs-tools скрипты в / etc / initramfs-tools / scripts / nfs-premount выполняются после включения сетевого интерфейса, но вам может потребоваться поместить скрипт в другой подкаталог.
Вам нужно будет использовать ip route
Синтаксис, потому что AFAIK старше route
команда не будет доступна:
#!/bin/sh
# /etc/initramfs-tools/scripts/nfs-premount/static-routes
ip route add default via 172.31.1.1 dev ens3
exit 0
и убедитесь, что скрипт исполняемый (chmod 755 /etc/initramfs-tools/scripts/nfs-premount/static-routes
) перед запуском update-initramfs
,
Добавление маршрута через скрипт initramfs не работает. Не знает, почему нет.
Ответ в другой ветке сработал: полное шифрование диска Ubuntu в Hetzner Cloud добавление добавления статического маршрута в initramfs
Открыть файл /usr/share/initramfs-tools/scripts/functions
, найдите configure_networking()
(вокруг строки 412 в Ubuntu 18.04) и добавьте следующее непосредственно перед закрытием }
:
ip route add ${IPV4GATEWAY}/${IPV4NETMASK} dev ${DEVICE}
ip route add default via ${IPV4GATEWAY} dev ${DEVICE}
diff -p /usr/share/initramfs-tools/scripts/functions{.orig,}
*** ./functions.orig 2019-03-27 14:00:57.685412556 +0000
--- ./functions 2019-03-27 13:59:09.758130638 +0000
*************** configure_networking()
*** 410,415 ****
--- 410,418 ----
/run/net-${DEVICE}.conf /run/net-*.conf /run/net6-*.conf
netinfo_to_netplan /run/netplan \
/run/net-${DEVICE}.conf /run/net-*.conf /run/net6-*.conf
+
+ ip route add ${IPV4GATEWAY}/${IPV4NETMASK} dev ${DEVICE}
+ ip route add default via ${IPV4GATEWAY} dev ${DEVICE}
}
netinfo_to_resolv_conf() {