Re: Jail, IPFW und reverse NAT

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Fri, 29 Dec 2017 01:34:33 +0100

Hi,

On Thu, Dec 28, 2017 at 09:01:49AM +0100, Harold Gutch wrote:
> Hi Peter,
>
> On Thu, Dec 28, 2017 at 11:46:37AM +1100, Peter Ross wrote:
> > On Wed, 27 Dec 2017, Harold Gutch wrote:
[...]
> > >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.
[...]
> > >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.
> > Hallo Harold,
> >
> > Leider kann ich das nicht - es sei denn, dass Du den natd verwendest -
> > damit kenne ich mich aus.
> >
> > Ich habe offensichtlich Kernel-NAT verschlafen.. und nachgeguckt, gibt es
> > seit 2008 (FreeBSD 7)..
> >
> > .. aber nicht im Handbuch! (Das hat immer noch natd).
>
> Vielleicht sollte ich es erst mit natd versuchen. Den hab ich vor
> langem schon mal benutzt, und dann irgendwann nur noch die interne NAT
> Implementation von ppp(8) (und inzwischen gar keins mehr, das NAT
> übernimmt wird jetzt von einer anderen "black box" gemacht).
>
> Das hier ist mein erster Versuch mit IPFW Kernel-NAT. Nach meinem
> Verständnis konfiguriert man das fast identisch wie NAT mit natd, nur
> werden die Pakete nicht an einen Userland-Prozess ausgeliefert der sie
> dann umschreibt, sondern das alles wird in-Kernel gelöst. Das
> natd-Prinzip fand ich schon immer irgendwie seltsam/unschön, aber es
> erfüllte natürlich schon seinen Zweck.
>
>
> > Vom Lesen her koennte "ip" die Loesung sein?
> >
> > "ipfw nat 1 config ip a.b.c.d reverse" ?
>
> Vermutlich 127.0.0.2, oder? Das machte aber auch keinen Unterschied.
>
>
> > Ich bin auf Deine Loesung gespannt, und werde vielleicht mal selbst die
> > Tage damit spielen.
>
> Vielleicht probier ich mal natd, das könnte im Zweifelsfall einfacher
> zu debuggen sein als Kernel-NAT. An sich könnte ich ja auch pf oder
> ipf für das NAT benutzen, aber zwei Paketfilter gleichzeitig zu haben
> macht natürlich auch wieder die Fehlersuche schwer. Und soweit ich
> weiß gibt es in pf und ipf kein Äquivalent zu "ipfw fwd", für
> TCP-Dienste im Jail ist das schon sehr praktisch.

Anstatt ewig weiter zu probieren hab ich es gar nicht erst mit natd
mehr versucht sondern hab jetzt für NAT ipfilter benutzt:

  kldload ipl.ko
  echo "rdr nfe0 a.b.c.d/32 port 53 -> 127.0.0.2/32 port 53 udp" \
    | ipnat -f -

und fertig. Solange ich nicht auf die Idee komme jetzt auch noch
Filterregeln via ipfilter anzulegen sollten wohl auch die von mir
herbeigeschworenen Problemchen bei einer Fehlersuche ausbleiben.

Wenn jemand doch noch einen Hinweis hat wie man das in ipfw lösen kann
wäre ich dennoch daran interessiert. Ich werde vermutlich auch noch
ein wenig daran herumspielen, vielleicht finde ich ja dennoch heraus
wie man das mit IPFW hinkriegt.

Trotzdem nochmal danke und viele Grüße,
  Harold

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 29 Dec 2017 - 01:34:48 CET

search this site