crotchmaster
happy BSD user
Moin in die Runde,
ich brauche mal Hilfe zu Hairpin NAT.
Ich habe eine Maschine mit FreeBSD 14.3 die seinen Sack voll Jails hat, die private IP-Adressen haben. Nur ein Jail ist von außen über https erreichbar. In diesem Jail läuft ein Caddy als Reverse Proxy, der je nach angefragter Domain die Requests auf die Jails verteilt. Das funktioniert von außen auch.
Von den Jails auf der gleichen Maschine geht das nur über die interne IP-Adresse des Caddy Jails. Dafür muss ich extra einen lokalen unbound betreiben, der für die Jails alle FQDNs des Caddy Jails auf die private IP-Adresse des Caddy Jails auflöst. Das ist irgendwie unschön und fehlerträchtig.
Ich hatte nun gelesen, dass man das auch mit Hairpin NAT hinbekommt. Ein Jail kommuniziert über die externe IP-Adresse des Caddy Jails mit dem Reverse Proxy, dabei wird der Request auf die externe IP-Adresse genatet und dann über ein Portforwarding ins Caddy Jail weitergeleitet.
Nur leider sind dafür meine PF Kenntnisse zu limitiert. Ich habe natürlich danach gesucht, aber bisher kein funktionierendes Beispiel gefunden. ChatGPT konnte auch nicht weiterhelfen.
Hat jemand das schon mal hinbekommen?
ich brauche mal Hilfe zu Hairpin NAT.
Ich habe eine Maschine mit FreeBSD 14.3 die seinen Sack voll Jails hat, die private IP-Adressen haben. Nur ein Jail ist von außen über https erreichbar. In diesem Jail läuft ein Caddy als Reverse Proxy, der je nach angefragter Domain die Requests auf die Jails verteilt. Das funktioniert von außen auch.
Von den Jails auf der gleichen Maschine geht das nur über die interne IP-Adresse des Caddy Jails. Dafür muss ich extra einen lokalen unbound betreiben, der für die Jails alle FQDNs des Caddy Jails auf die private IP-Adresse des Caddy Jails auflöst. Das ist irgendwie unschön und fehlerträchtig.
Ich hatte nun gelesen, dass man das auch mit Hairpin NAT hinbekommt. Ein Jail kommuniziert über die externe IP-Adresse des Caddy Jails mit dem Reverse Proxy, dabei wird der Request auf die externe IP-Adresse genatet und dann über ein Portforwarding ins Caddy Jail weitergeleitet.
Nur leider sind dafür meine PF Kenntnisse zu limitiert. Ich habe natürlich danach gesucht, aber bisher kein funktionierendes Beispiel gefunden. ChatGPT konnte auch nicht weiterhelfen.
Hat jemand das schon mal hinbekommen?
