Hetzner Cloud 上的 Ubuntu 全盘加密在 initramfs 中添加添加静态路由

use*_*109 5 ubuntu static-routes initramfs dropbear hetzner

我尝试在 Hetzner Cloud 上使用全盘加密设置 Ubuntu。除了 initramfs 中的网络连接外,我一切正常。感谢 UI 控制台,它可以解锁,但我需要在初始化中使用 SSH(dropbear)。我成功地在他们的根服务器上使用了相同的配置,没有任何问题。

如果我设置 dropbear 通过 dhcp 获取 IP 总是导致NETWORK IS UNREACHABLE. 但它从 dhcp 服务器获取正确的参数。我问了 Hetzner 支持。他们告诉我,他们认为 dhcp 客户端不支持 RFC 3442 无类静态路由选项,并建议添加带有ip r a 172.31.1.1 dev ens3. 就像在这个问题上一样,我添加了路线,但总是出现相同的错误:NETWORK IS UNREACHABLE。我测试在不同的脚本中设置路由,但没有任何改变。我测试了 Ubuntu 16.04 和 18.04。

我很高兴有任何关于此的建议。谢谢!

小智 5

与技术支持人员有同样的问题/小讨论,initramfs 不能仅在像这样的 Hetzner 云实例中失败。

但是 Hetzner Support 反复声明他们的 DHCP 服务器符合RFC3442RFC3442宣布了到内部云 GW 的默认主机路由。所以这一定是 initramfs dhcp 客户端的问题,他们不能(不会?)尝试设置一个可能的 BootP 响应,例如使用正确的 IP=... 参数。

我建议更新自己的文档,这一点,但它似乎是“随意使用我们的维基文件” ...的(市场)...)答案在这里是那么不对的:

Hetzner_OL 6 个月前 [-]

感谢您对 Docker/dbaas 的建议。我已将其传递给我们的开发团队。在准备就绪之前,我们通常不会发布我们正在开发的新产品和功能,但我们会在开发过程中继续发布有关升级的信息。

关于 DSGVO:你们支持文件系统加密吗?->

Hetzner Cloud 服务器已完全虚拟化。所以客户甚至可以 完全加密整个服务器。——凯蒂,市场营销,Hetzner Online

我尝试为这个问题寻找问题/解决方案,但我今天找到的唯一匹配是你的问题;)

您设置界面的参考答案部分正确。但是从问题来看,不清楚他还需要一个到网关的静态主机路由,所以答案中缺少它。

我对这个问题的快速解决方案是像这样“动态”手动修补所需的函数 - 您可以检查所有变量/run/net-ens3.conf

root@image-debian-jessie-94 ~ # diff -p /usr/share/initramfs-tools/scripts/functions{.orig,}
*** /usr/share/initramfs-tools/scripts/functions.orig   2018-07-31 12:46:40.911167456 +0200
--- /usr/share/initramfs-tools/scripts/functions        2018-07-31 12:50:30.736742035 +0200
*************** configure_networking()
*** 274,279 ****
--- 274,284 ----
                # ipconfig should have quit after first response
                . /run/net-*.conf
        fi
+
+       # Hack for Hetzner vServer static route enhanced like shown partly in this answer:
+       # https://serverfault.com/questions/909040/static-route-in-initramfs
+       ip route add ${IPV4GATEWAY}/${IPV4NETMASK} dev ${DEVICE}
+       ip route add default via ${IPV4GATEWAY} dev ${DEVICE}
  }

  # Wait for queued kernel/udev events
Run Code Online (Sandbox Code Playgroud)

经过测试,对我来说效果很好。我可以设置/快照最小的图像。

与未加密的 0.5 GB 相比,加密快照约为 18 GB,但与提高的安全性相比,快照价格仍然不错(通常基于 Openstack 的系统可以/应该有一个可以透明地进行此操作的密钥管理器服务。;)


小智 3

对于那些遇到这个线程的人:

至少在 Debian Stretch 中,更通用的配置(不会在软件包更新时中断)可以工作。我们只需使用 init-premount 中的脚本静态配置网络:

vi /etc/initramfs-tools/scripts/init-premount/static-routes

#!/bin/sh 
# /etc/initramfs-tools/scripts/init-premount/static-routes

# to avoid race condition
# we have to wait until the automatic network configuration via dhcp
# is finished
sleep 15

ip a add 192.168.0.18/32 dev eth0
ip route add 192.168.178.1 dev eth0
ip route add default via 192.168.178.1 dev eth0

exit 0
Run Code Online (Sandbox Code Playgroud)

chmod 755 /etc/initramfs-tools/scripts/init-premount/静态路由