Jail, IPFW und reverse NAT
Harold Gutch <[email protected]> Wed, 27 Dec 2017 23:34:53 +0100
| Newsgroups | gmane.os.freebsd.questions.german |
|---|---|
| Message-ID | <[email protected]> |
Hi, wenn man ein Jail mit loopback-net IP (z.B. 127.0.0.2) betreibt dann kann man einen TCP-Dienst darin relativ einfach mit einer "ipfw fwd" Regel von der AuÃenwelt erreichbar machen. Bei einem UDP-Dienst (in diesem Fall named) sieht es aber anders aus. named bindet an 127.0.0.2:53, Pakete kommen mit Ziel a.b.c.d:53 (UDP) an, eine ipfw Regel leitet die an den named weiter. Der sieht dass die Pakete Zieladresse a.b.c.d:53 haben, sendet dann via sendmsg() die Antworten mit Quelladresse a.b.c.d:53 zurück und der Kernel meckert mit einem EFAULT weil diese IP-Adresse im Jail nicht verfügbar ist (bei TCP braucht es das alles nicht, da schickt man die Pakete einfach über den Verbindungssocket zurück ohne sich um irgendwelche Adressen zu kümmern und der Kernel übernimmt den Rest). Was also tun? Destination-NAT (reverse NAT) um für einkommende Pakete an UDP a.b.c.d:53 die Zieladresse auf 127.0.0.2:53 umzuschreiben. Nur probiere ich das ganze nun schon ein paar Stunden ohne groÃen Erfolg. Egal was ich mache, named sieht keine einkommenden Pakete. Was ich versuche ist im Prinzip: ipfw add 100 nat 1 udp from any to a.b.c.d 53 ipfw nat 1 config redirect_port udp 127.0.0.2:53 53 reverse (wohlgemerkt, ohne irgendeine "ipfw fwd" Regel), alternativ ipfw nat 1 config redirect_proto udp 127.0.0.2 a.b.c.d reverse oder ipfw nat 1 config redirect_addr 127.0.0.2 a.b.c.d reverse aber nichts davon funktioniert bisher, irgendwo stehe ich also derzeit auf dem Schlauch. Hat irgendjemand vielleicht einen Tipp, einen minimalen Satz an IPFW-Regeln die DNAT zu einem Jail machen? Oder wenn mir jemand alternativ sagt dass (und wieso?) das bei einem Jail so gar nicht funktionieren kann würde das wohl auch helfen. Danke und noch erholsame Tage zum Jahreswechsel, Harold To Unsubscribe: send mail to [email protected] with "unsubscribe de-bsd-questions" in the body of the message