intern:start

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.

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

  • EX42 #1011951, FSN1-DC8, RZ Falkenstein
  • tokoeka.netzwissen.de 138.201.52.41
  • PVE single node Setup
  • Subnetz ipv4 public 1 an vmbr0: 138.201.52.1/26
  • Subnetz ipv4 public 2 an vmbr0: 136.243.85.128/27
  • Subnetz ipv4 privat an vmbr1: 10.10.10.1
  • Subnetz ipv6: 2a01:4f8:172:d22:: / 64

DNS Rekursive Server

185.12.64.1
185.12.64.2
2a01:4ff:ff00::add:1
2a01:4ff:ff00::add:2
  • Server 39,00 €/mtl. netto, 46,41 € brutto
  • BX30 Storage, 1 TB, 7,90 €/mtl. netto, 9,40 € brutto
  • Zusatz IPs x 4, 12,12 €/mtl brutto, Setup pro neuer IP einmalig 22,61 €

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

<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.

  • 138.201.52.41 tokoeka.netzwissen.de PVE
  • 138.201.52.38 devel.netzwissen.de HAPROXY SSL Accelerator/Load Balancer
  • 136.243.85.153 mail.netzwissen.de smtp/imap
  • 136.243.85.155 gitea.netzwissen.de GITEA
  • 138.201.52.53 tmp.netzwissen.de temporäre VM
  • 136.243.85.156 old.netzwissen.de gekündigt 28.5.22
  • 138.201.52.27 mail.netzwissen.de Mail Server ALT(kvm) gekündigt 28.5.22

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

  • 138.201.52.53, Gateway 138.201.52.1
  • Externer A Record tmp.netzwissen.de

</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).

  • 102 idp5 10.10.10.17
  • 108 kc1 10.10.10.20
  • 112 lb1 10.10.10.21
  • 111 app1 10.10.10.22
  • 113 app2 10.10.10.25
  • 121 app3 10.10.10.26
  • 117 app4 10.10.10.27
  • 118 app5 10.10.10.28
  • 118 app6 10.10.10.30
  • 114 mail 10.10.10.24
  • 115 doc1 10.10.10.23
  • 119 gitea1 10.10.10.29
  • 123 db1b 10.10.10.16
  • 124 db2b 10.10.10.18

</WRAP>

  • CX11 # 12757836 (1 vcpi, 2 GB RAM, 20 GB Disk)
  • cloud3.netzwissen.de
  • IPv4 95.217.188.165
  • IPv6 2a01:4f9:c011:28bc::/64

Kosten

  • Server 2,96 €/mtl. brutto (Neuanlage ab 1.9.21 4,15 €/mtl.)
  • zusätzliche Floating IP ab 1.8.21, 3,57 €/mtl. brutto
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
  • intern/start.txt
  • Zuletzt geändert: 05/03/2024 - 10:52
  • von 127.0.0.1