Ich versuche aktuell ein Debian 12 in der Hetzner cloud mittels cloud-init vollständig zu initialisieren.
Die virtuelle Maschine hat keine öffentliche IP Adresse sondern befindet sich in einem privaten cloud Netzwerk und nutzt einen vorgeschalteten Reverse Proxy als Gateway.
Bei Hetzner gibt es zwar eine Beschreibung wie man das prinzipiell mit cloud-init machen kann. Leider funktioniert das aber nicht mit Debian 12:
Hat jemand eine Idee wie man das mit Debian 12 realisieren kann?
Ich habe mich damit noch nicht weiter beschäftigt, bin dir also zunächst keine Hilfe. Ich hoffe du meintest einen Reverse Proxy als Gateway dafür das von außen Gäste auf diesen Server zugreifen können.
So nach einigem Testen habe ich es zumindest für den internen Server geschafft. Folgende cloud-init Konfiguration kann man nutzen:
#cloud-config
write_files:
- path: /etc/network/interfaces.d/61-internal-network.cfg
permisions: '0644'
content: |
auto enp7s0
iface enp7s0 inet dhcp
pointopoint 10.0.0.1
post-up ip route add default via 10.0.0.1
dns-nameservers 185.12.64.1 185.12.64.2
runcmd:
- reboot
Voraussetzung ist, dass der gateway Routing und NAT aktiviert hat.
Also folgende Einstellungen für das Gateway/Router:
#cloud-config
# Einstellungen:
# - Router mit NAT
write_files:
- path: /etc/sysctl.d/61-routing.conf
permissions: '0644'
content: |
# Routing IPv4 packets
net.ipv4.ip_forward=1
package_update: true
package_upgrade: true
packages:
- ufw
runcmd:
- sed -i '10 i #NAT table rules' /etc/ufw/before.rules
- sed -i '11 i *nat' /etc/ufw/before.rules
- sed -i '12 i :POSTROUTING ACCEPT [0:0]' /etc/ufw/before.rules
- sed -i '13 i # Forward traffic through eth0 - Change to match you out-interface' /etc/ufw/before.rules
- sed -i '14 i -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE' /etc/ufw/before.rules
- sed -i '15 i # don't delete the 'COMMIT' line or these nat table rules won't' /etc/ufw/before.rules
- sed -i '16 i # be processed' /etc/ufw/before.rules
- sed -i '17 i COMMIT' /etc/ufw/before.rules
- sed -i -e 's/DEFAULT_FORWARD_POLICY="DROP"/DEFAULT_FORWARD_POLICY="ACCEPT"/' /etc/default/ufw
Leider funktioniert das noch nicht ganz. Der Eintrag in die /etc/default/ufw wird vorgenommen. Allerdings nicht der Eintrag in die /etc/ufw/before.rules
Hat jemand eine Idee?