Статический маршрут в 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() {

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