Inhaltsverzeichnis

netzwissen.de Server-Landschaft

Server und Dienste werden bei Hetzner und ausgelagert betrieben. Server bei Hetzner laufen virtualisiert über Proxmox PVE in lxc Containern oder als Docker Container in KVM VMs. Ergänzend gibt es Hetzner Cloud Instanzen. Dazu kommt das Hausnetz Urbanstrasse.

Hetzner AG

Primäre Domäne @netzwissen.de, Backup-Domäne @netzwissen.eu

DNS Rekursive Server

185.12.64.1
185.12.64.2
2a01:4ff:ff00::add:1
2a01:4ff:ff00::add:2

Kosten Server

Netzwerk tokoeka

Auf der physischen eth0 existieren zwei virtual bridges, vmbr0 für das öffentliche Netz und vmbr1 für ein privates Netzsegment, das nur zwischen den Containern/VMs existiert. Bridge vmbr0 arbeitet mit einer großen Netzmaske, um beide von Hetzner zugewiesenen Subnetze zu erlauben.

Physical Interface IP/route/port Bridge Network/Mask Mask Gateways Info
enp0s31f6 138.201.52.41 vmbr0 138.201.52.1/26 255.255.255.192 138.201.52.1 public network
vmbr0 136.243.85.128/27 255.255.255.224 136.243.85.129 public network
vmbr1 10.10.10.1 255.255.255.0 10.10.10.1 internal network

Das interne Netz auf vmbr1 ist nur für Kommunikation zwischen Containern/VMs gedacht. Die interne Bridge arbeitet mit NAT Masquerading, damit interne VMs/Container aktualisiert werden können. Ausgehende Pakete werden per iptables auf die IP des root Servers umgeschrieben und Antwortpakete wieder zurück geroutet (siehe https://pve.proxmox.com/wiki/Network_Configuration#_masquerading_nat_with_tt_span_class_monospaced_iptables_span_tt)

auto vmbr1 \\ iface vmbr1 inet static \\ address 10.10.10.1 \\ netmask 255.255.255.0 \\ bridge-ports none \\ bridge-stp off \\ bridge-fd 0''

post-up iptables -t nat -A POSTROUTING -s '138.201.52.41/26' -o enp0s31f6 -j MASQUERADE \\ post-down iptables -t nat -D POSTROUTING -s '138.201.52.41/26' -o enp0s31f6 -j MASQUERADE

**DNS (ipV4 + ipV6)**

<code>
213.133.98.98
213.133.99.99
213.133.100.100

2a01:4f8:0:1::add:1010
2a01:4f8:0:1::add:9999
2a01:4f8:0:1::add:9898

Samba

Auf tokoeka läuft ein Samba mit einem Gast Share, um Daten von den Containern/VMs zeivintral weg zu sichern. Der Samba horcht nur auf der internen Schnittstelle (vmbr1, 10.10.10.1) und ist von allen Containern, die "privileged" sind, beschreibbar:

smbclient -U smbguest //10.10.10.1/guests

mit put werden Dateien hochkopiert

Port Weiterleitungen von außen

Für Admin Zwecke gibt es Port Weiterleitungen, die vom Host ausgehen:

* tokoeka.netzwissen.de:8442 nach 10.10.10.16:22 - ssh auf Datenbank Container db1 (mariadb) * tokoeka.netzwissen.de:8452 nach 10.10.10.18:22 - ssh auf Datenbank Container db2 (postgresql) * tokoeka.netzwissen.de:8422 nach 10.10.10.17:22 - ssh auf UCS VM IDP * tokoeka.netzwissen.de:8443 nach 10.10.10.17:443 - https auf UCS VM IDP * tokoeka.netzwissen.de:8462 nach 10.10.10.15:22 - ssh auf Mail Container mail3

## Port forwarding from host
        # db1: ssh port forwarding from proxmox host to db1 container
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8442 -j DNAT --to-destination 10.10.10.16:22
        post-up iptables -t nat -A POSTROUTING -p tcp --sport 22 -s 10.10.10.16 -j SNAT --to-source 138.201.52.41:8442

        # db2: ssh port forwarding from proxmox host to db2 container
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8452 -j DNAT --to-destination 10.10.10.18:22
        post-up iptables -t nat -A POSTROUTING -p tcp --sport 22 -s 10.10.10.18 -j SNAT --to-source 138.201.52.41:8452

        # idp4: ssh port forwarding from proxmox host to idp server
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8422 -j DNAT --to-destination 10.10.10.17:22
        post-up iptables -t nat -A POSTROUTING -p tcp --sport 22 -s 10.10.10.17 -j SNAT --to-source 138.201.52.41:8422

        # idp4: http port forwarding from proxmox host to idp server
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8443 -j DNAT --to-destination 10.10.10.17:443
        post-up iptables -t nat -A POSTROUTING -p tcp --sport 443 -s 10.10.10.17 -j SNAT --to-source 138.201.52.41:8443

       # mail3: ssh port forwarding from proxmox host to mail3 container
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8462 -j DNAT --to-destination 10.10.10.15:22
        post-up iptables -t nat -A POSTROUTING -p tcp --sport 22 -s 10.10.10.15 -j SNAT --to-source 138.201.52.41:8462

PVE: Masquerading von intern

Damit VMs, die nur eine interne 10.x Adresse haben, auch raus können, gibt es masquerading Regeln: https://pve.proxmox.com/wiki/Network_Configuration#_masquerading_nat_with_tt_span_class_monospaced_iptables_span_tt

# internal private network with NAT masquerading to allow internet access from "private only" VMs
# https://pve.proxmox.com/wiki/Network_Configuration
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o enp0s31f6 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o enp0s31f6 -j MASQUERADE

IP Adressen

<WRAP center round box 60%>

Externe IPs

Subdomains/Domains werden über DNS cname nach HAPROXY zentralisiert und auf App Server Backends weitergeleitet. Hetzner forciert den Wechsel auf IPv6. Bei Bedarf wird für einmalig 15 € ein zusätzliches IPv6 /56 Netz angelegt.

"Temporäre IP" wird für eine VM benutzt.

</WRAP>

<WRAP center round box 60%>

Interne IPs

HAPROXY empfängt externe Requests auf vmbr0 und leitet auf interne IPs und Ports weiter (vmbr1). Applikations-Server haben nur eine interne Schnittstelle (vmbr1).

</WRAP>

Cloud Server Helsinki

Kosten

Ausgelagertes

URL IP Service
meet.netzwissen.de 5.1.71.69 SAAS Mars Services Göppingen
zammad.netzwissen.de 138.201.252.143 SAAS zammad.com

Hausnetz in der Urbanstrasse

urbanstrasse