Re: Jail, IPFW und reverse NAT

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Sun, 7 Jan 2018 01:00:08 +0100

Hi nochmal,

ich bin jetzt endlich wieder dazu gekommen damit noch etwas
herumzuprobieren.

On Fri, Dec 29, 2017 at 05:32:47PM +0100, Oliver Fromme wrote:
> Hallo Harold,
>
> Harold Gutch wrote:
> > [...]
> > 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
>
> Das sollte eigentlich gehen, allerdings denke ich, dass das
> „reverse“ falsch ist.

Egal ob mit oder ohne "reverse" klappte es so nicht. Was aber
funktioniert ist

  ipfw nat 1 config redirect_addr 127.0.0.2 a.b.c.d

und wie ich nach einigem Herumprobieren jetzt auch noch herausgefunden
habe,

  ipfw nat 1 config redirect_port udp 127.0.0.2:53 a.b.c.d:53

Der große Unterschied zu dem was ich davor probiert habe (s.o.) ist
die Angabe der öffentlichen Adresse. Die natd(8) Manpage führt
zumindest für TCP ein Beispiel nur mit Angabe des Ports an, also so
wie ich es zuerst probiert habe. Ob das jetzt ein Bug in der Doku
(Manpage) oder im Code ist hab ich (noch) nicht genauer geprüft.

Wie auch immer - damit kommen die Pakete jetzt richtig innen an. Der
Vollständigkeit halber, mit "redirect_proto udp" also quasi der
Zwischenstufe zwischen "redirect_port" und "redirect_addr" hat es in
meinen Tests bisher nicht funktioniert.

> Außerdem brauchst Due eine zweite
> „nat“-Regel für herausgehende Pakete (auf dieselbe nat-Instanz),
> ungefähr so:
>
> ipfw add 200 nat 1 udp from 127.0.0.2 53 to any

Richtig, wie bereits erwähnt hatte ich die erstmal weggelassen weil
sie für die einkommenden Pakete nicht wichtig war. Jetzt brauche ich
die natürlich und sie funktioniert exakt so.

Also, falls irgendwann sonst jemand dasselbe Problem hat:

  ipfw add 100 nat 1 udp from any to a.b.c.d 53
  ipfw add 101 skipto 104 udp from any to 127.0.0.2 53 keep-state :named
  ipfw add 102 check-state :named
  ipfw add 103 drop ip from 127.0.0.2 to any
  ipfw add 104 nat 1 udp from 127.0.0.2 53 to any

  ipfw nat 1 config redirect_port udp 127.0.0.2:53 a.b.c.d:53

oder alternativ statt obiger "ipfw nat"-Regel

  ipfw nat 1 config redirect_addr 127.0.0.2 a.b.c.d

Funktionell braucht es Regeln 101-103 nicht - wer die ausgehenden
Pakete aus dem Jail nicht auf (stateful) Antworten auf einkommende
Requests beschränken will kann diese auch weglassen.

Nochmals vielen Dank für die Hilfe!

Gruß,
  Harold

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 07 Jan 2018 - 01:00:29 CET

search this site