Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ
-
Hallo,
es ist jetzt leider schon wieder einige Jahre her, dass ich mich mit der Konfiguration einer Virtualisierungslösung auf einem dedizierten Server bzgl. zusätzliche IP beschäftigt habe.Diesmal bin ich bei Hetzner und als Virtualisierungslösung ist Proxmox im Einsatz. (nur als Info).
Die Haupt-IP & Port 22 und 8006 = Proxmox-Management, gelangen direkt zum Proxmoxhost. Via iptables am Host habe ich den Rest so eingestellt, dass alle anderen Ports an die IP 10.0.0.5 weitergeleitet werden.
10.0.0.5 ist das WAN-Port der pfsense VM -> Port 443 und 25 leite ich (via NAT Regel in der pfsense) weiter in die DMZ (192.168.10.x)
Das funktioniert auch soweit (mit der Haupt-IP).
Nun hätte ich noch eine zusätzliche IP (im gleichen Netz) die lt. Hetzner auf die Haupt IP geroutet wird.
Frage: Kann ich der "Sense" irgendwie mitteilen, dass Anfragen auf die Haupt-IP Port 443, 25 auf 192.168.10.1 und Anfragen auf die Zusatz-IP Port 443, 25 auf 192.168.10.2 "genattet" werden sollen, oder ist das nicht umsetzbar, da Hetzner alles auf die Haupt-IP routet?
Danke!
-
@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Die Haupt-IP & Port 22 und 8006 = Proxmox-Management, gelangen direkt zum Proxmoxhost. Via iptables am Host habe ich den Rest so eingestellt, dass alle anderen Ports an die IP 10.0.0.5 weitergeleitet werden.
Ist das Proxmox-Interface nicht als Bridge konfiguriert?
-
@viragomann
vmbr0 mit bridge-ports auf die physische NIC. Allerdings kommt diese Konfiguration aus der Zeit, in der ich nur eine IP hatte. jetzt hätte ich eine zweite IP.auto lo iface lo inet loopback iface lo inet6 loopback iface enp2s0 inet manual auto vmbr0 iface vmbr0 inet static address 136.243.xx.yyy/26 gateway 136.243.xx.yyy bridge-ports enp2s0 bridge-stp off bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m multiport ! --dport 2222,8006 -j DNAT --to 10.0.0.5 post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp -j DNAT --to 10.0.0.5 up route add -net 136.243.xx.yyy netmask 255.255.255.192 gw 136.243.22.193 dev enp2s0 auto vmbr1 iface vmbr1 inet static address 10.0.0.1/24 bridge-ports none bridge-stp off bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE auto vmbr2 iface vmbr2 inet static address 192.168.10.1/24 bridge-ports none bridge-stp off bridge-fd 0
-
@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Allerdings kommt diese Konfiguration aus der Zeit, in der ich nur eine IP hatte. jetzt hätte ich eine zweite IP.
Damit hat es aber gar nichts zu tun.
Die simpelste Möglichheit wäre, Proxmox die 2. IP auch auf vmbr0 zu setzen, der pfSense eine 2. IP im 10.0.0.0/24 Netz zu geben (Firewall > virtual IPs > IP Alias) und auf Proxmox ebenso alles, was die 2. IP zum Ziel hat, auf die 2. pfSense IP weiterzuleiten.
Ein andere mögliche Option, aber etwas heikler: der pfSense ein zusätzliches Interface zu geben und mit vmbr0 zu verbinden. Auf diesem kann dann direkt die 2. IP eingerichtet werden.
Das wäre dann quasi eine Dual-WAN Konfiguration (nehme an, 10.0.0.1 ist das Standardgateway auf der pfSense). Das bedeutet dann, dass aller einkommender Traffic vom Internet nur auf den jeweiligen Interface-Tabs erlaubt werden darf, keine Floating-, keine Interface-Group-Regeln.Beide Varianten würden auch NAT 1:1 ermöglichen, falls das von Interesse ist, so dass auch alle ausgehenden Verbindungen von 192.168.10.1 die 1. und die von 192.168.10.2 die 2. IP im Internet erhalten.
-
Hallo,
danke für die Rückmeldung!@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Die simpelste Möglichheit wäre, Proxmox die 2. IP auch auf vmbr0 zu setzen
Du meinst also, die zweite IP direkt in der adressdefinition (address) dazuzuschreiben und kein vmbr0:0 zu erstellen?
So:
iface vmbr0 inet static #Erste IP: address 136.243.xx.yyy/26 #Zweite IP: address 136.243.xx.yyy/26 gateway 136.243.xx.yyy bridge-ports enp2s0 bridge-stp off bridge-fd 0
-
@mcdaniels
Wenn beide im selben Subnetz sind und damit dasselbe Gateway haben, ja.Auf Proxmox kannst du dann die 2. IP unabhängig von der 1. auf eine 2. pfSense IP weiterleiten und auf dieser wiederum ebenso vorgehen, damit sie auf eine andere interne IP weitergeleitet wird.
-
@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Wenn beide im selben Subnetz sind und damit dasselbe Gateway haben, ja.
ok, ich werde das mal testen und mich wieder melden.
-
@mcdaniels
Hetzner hat eh eine schöne Anleitung dafür: https://docs.hetzner.com/de/robot/dedicated-server/ip/additional-ip-adresses/ -
@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
o
Ja, ich weiß. Das hab ich bereits mehrfach durchgelesen und jetzt gerade wird mir klar, dass ich eigentlich im Routed-Setup unterwegs bin und nicht bridged. ;-) D.h. ich brauche jedenfalls keine separate MAC-Adresse.
Was ich bis jetzt gemacht habe ist: vmbr0 hat jetzt beide IPs (die Haupt IP und die Zusatzip), was auch lt ip a und weiters durch den Aufruf des Proxmoxhost via Webgui per IP funktioniert hat.
Abgesehen davon hab ich Pfsense 10.0.0.6 als Aliasadresse gegeben.
Allerdings wird bei Hetzner alles auf die Haupt-IP geroutet. Sieht Iptables dann überhaupt, dass die "Anfrage" auf die Zusatz IP gekommen ist.
Woran ich jetzt noch scheitere, sind die korrekten iptables-Regeln in der /etc/network/interfaces.
Momentan hab ich hier ja:
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m multiport ! --dport 2222,8006 -j DNAT --to 10.0.0.5 post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp -j DNAT --to 10.0.0.5
D.h. aktuell wird alles was auf vmbr0 reinkommt - ohne Berücksichtigung darauf welche IP angefragt wird - an 10.0.0.5 durchgereicht.
Wie kann ich das korrekt separieren?
gibt es sowas wie:
post-up iptables -t nat -A PREROUTING -i vmbr0 -s <meine zweite offizielle ip> -p tcp -m multiport ! --dport 2222,8006 -j DNAT --to 10.0.0.6 post-up iptables -t nat -A PREROUTING -s <meine zweite offizielle ip> -i vmbr0 -p udp -j DNAT --to 10.0.0.6
kann ich trotz:
post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/24' -o vmbr0 -j MASQUERADE
ein 1:1 NAT auf der Pfsense machen?
Btw. ich frage deshalb so genau nach, da ich a.) nicht sicher bin was iptables angeht (und ich das noch lerne) und b.) da ich keine Möglichkeit habe via Remote auf den Host zu kommen wenn ich mir das Proxmoxnetzwerk "zerschieße".
Danke für deine Hilfe!
-
@mcdaniels
Ich hatte bislang noch nichts bei Hetzner laufen. Von da her k.A.
Aber soweit ich das verstanden habe, wäre die zusätzliche IP auf vmbr0:1 zu definieren.
Das kann dann vermutlich auch mit eigenen NAT-Regeln belegt werden.@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Allerdings wird bei Hetzner alles auf die Haupt-IP geroutet. Sieht Iptables dann überhaupt, dass die "Anfrage" auf die Zusatz IP gekommen ist.
Ja. Die Ziel-IP in den Paketen wird dadurch nicht verändert, das ist dennoch die zusätzliche (ansonsten wäre es ja NAT).
-
@viragomann
ok.Hab jetzt ein paar Dinge getestet.
iface vmbr0:1 inet static address <zweite IP>/26 gateway 136.243.22.193 bridge-ports enp2s0 bridge-stp off bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A PREROUTING -i vmbr0:1 -p tcp -m multiport ! --dport 2222,8006 -j DNAT --to 10.0.0.6 post-up iptables -t nat -A PREROUTING -i vmbr0:1 -p udp -j DNAT --to 10.0.0.6 up route add -net 136.243.22.192 netmask 255.255.255.192 gw 136.243.22.193 dev enp2s0
Nun habe ich im Proxmox bei den Netzwerkinterfaces ein vmbr0:1 mit der zweiten IP.
Weiters sagt iptables:
Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere anywhere multiport dports !2222,8006 to:10.0.0.5 DNAT udp -- anywhere anywhere to:10.0.0.5 DNAT tcp -- anywhere anywhere multiport dports !2222,8006 to:10.0.0.6 DNAT udp -- anywhere anywhere to:10.0.0.6 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 10.0.0.0/24 anywhere
auf der Pfsense dann ein NAT : Quelle WAN -> Source: Single Host mit der zweiten offiziellen IP -> Port 80,443
Destination 192.168.10.15 (Apache Testserver) -> Port 80,443Wenn ich nun die zweite offizielle IP von einem Client aufrufe, lande ich immer auf der Haupt IP. :-/ und nicht (wie erhofft) auf der zweiten IP und via NAT auf dem Apacheserver.
Hast du eine Ahnung woran das liegen könnte? Fehlt mir hier die virtuelle IP 10.0.0.6 auf der Pfsense?
Danke!
-
Deine Public-IPs solltest du verstecken!
@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
bridge-ports enp2s0 bridge-stp off bridge-fd 0
Diese Zeilen sollten nicht nochmals für die Alias IP definiert werden, die Bridge gibt es schon auf vmbr0.
Die Port-Ausnehme
! --dport 2222,8006
wird wohl für die 2. IP auch nicht benötigt.
@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
auf der Pfsense dann ein NAT : Quelle WAN -> Source: Single Host mit der zweiten offiziellen IP -> Port 80,443
Destination 192.168.10.15 (Apache Testserver) -> Port 80,443Nein. Quelle ist "any" (irgendeine IP im WWW)
Ziel ist 10.0.0.6, Zielport 80,443 (nehme an, du hast einen Alias dafür)In der NAT-Regel für die 1. IP ist das Ziel "WAN address".
@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Wenn ich nun die zweite offizielle IP von einem Client aufrufe, lande ich immer auf der Haupt IP. :-/ und nicht (wie erhofft) auf der zweiten IP und via NAT auf dem Apacheserver.
Falls es dennoch nicht klappt, mach ein Packet Capture auf der pfSense am WAN, um zu sehen, ob das NAT auf Proxmox funktioniert.
-
@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Nein. Quelle ist "any" (irgendeine IP im WWW)
Ziel ist 10.0.0.6, Zielport 80,443 (nehme an, du hast einen Alias dafür)Ich hab das jetzt so:
NAT:
Interface : WAN
Protokoll: TCP
Destination Single Host or Alias: 10.0.0.6
Destination Portrange: 80-80
Redirect target IP: Apacheserver (192.168.10.15)
Redirect target Port: 80Virtual IPs: 10.0.0.6 -> IP Alias
Via Webbrowser komme ich nicht hin.
@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Falls es dennoch nicht klappt, mach ein Packet Capture auf der pfSense am WAN, um zu sehen, ob das NAT auf Proxmox funktioniert.
Nur Einträge zu sehen, die an die 10.0.0.5 weitergeleitet werden.
Also funktioniert wohl das DNAT am Proxmox für die zweite IP nicht.
-
So mittlerweile hab ich es mit einem Interface vmbr4 getestet, dem ich im Proxmox die zweite IP gegeben habe.
auto vmbr4 iface vmbr4 inet static address 136.243.22.zzz/26 gateway 136.243.22.193 # bridge-ports enp2s0 # bridge-stp off # bridge-fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A PREROUTING -i vmbr4 -p tcp -j DNAT --to 10.0. 0.6 post-up iptables -t nat -A PREROUTING -i vmbr4 -p udp -j DNAT --to 10.0. 0.6 up route add -net 136.243.22.192 netmask 255.255.255.192 gw 136.243.22.1 93 dev enp2s0
Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere anywhere multiport dports !2222,8006 to:10.0.0.5 DNAT udp -- anywhere anywhere to:10.0.0.5 DNAT tcp -- anywhere anywhere to:10.0.0.6 DNAT udp -- anywhere anywhere to:10.0.0.6
Wenn ich die Zusatz-IP eingebe, lande ich auf dem Produktivwebserver (der eigentlich über die Hauptadresse angesprochen wird). Alle IPs führen quasi zum Produktivwebserver. (also auf das NAT auf die 10.0.0.5)
Vielleicht sollte ich das gesamte Setup nochmals überdenken und den Server exakt nach der Hetzneranleitung aufziehen. Meine Konfigurationsform stammt aus einem How To welches nicht von Hetzner ist.
-
@mcdaniels said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
So mittlerweile hab ich es mit einem Interface vmbr4 getestet, dem ich im Proxmox die zweite IP gegeben habe.
auto vmbr4
iface vmbr4 inet static
address 136.243.22.zzz/26
gateway 136.243.22.193
# bridge-ports enp2s0
# bridge-stp off
# bridge-fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A PREROUTING -i vmbr4 -p tcp -j DNAT --to 10.0. 0.6
post-up iptables -t nat -A PREROUTING -i vmbr4 -p udp -j DNAT --to 10.0. 0.6
up route add -net 136.243.22.192 netmask 255.255.255.192 gw 136.243.22.1 93 dev enp2s0Da fehlt mir jetzt aber die Bindung zum Netzwerkport. Oder ist die anderswo schon für vmbr4 definiert?
Vielleicht wäre es zielführender im Hetzner-Forum nach Hilfe zu suchen.
-
@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Vielleicht wäre es zielführender im Hetzner-Forum nach Hilfe zu suchen.
ja, da hast du vermutlich recht. Das ist sicher kein pfsense - Problem. Eher ein Konfigurationsproblem.
Ich werd mir das alles nochmal genauestens anschauen und nach einer Lösung suchen. Melde mich jedenfalls wieder, wenn ich die Lösung habe.
@viragomann said in Hetznerserver - Konfiguration Zusatzip für zweiten Rechner in DMZ:
Da fehlt mir jetzt aber die Bindung zum Netzwerkport. Oder ist die anderswo schon für vmbr4 definiert?
Nein, mein Fehler!