Re: Jail, IPFW und reverse NAT

From: Oliver Fromme <oliver(at)fromme.com>
Date: Fri, 29 Dec 2017 17:32:47 +0100 (CET)

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. 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

(Ich habe das jetzt nicht selbst getestet; das ist nur aus
dem Kopf.)

IPFW ist ein ziemlich mächtiges Werkzeug, das über die Jahre
viele Features angesammelt hat, was leider zur Folge hat,
dass es recht komplex ist. Daher ist eine Ferndiagnose von
Problemen auch sehr schwierig, da die Ursache an einer ganz
anderen, unerwarteten Stelle verborgen sein kann.

Als erstes wäre zu prüfen, ob die FW-Regeln stateful oder
stateless sind. Sind sie stateful, sollte die „nat“-Regel
für die hereinkommenden Pakete VOR der check-state-Regel
stehen, und die „nat“-Regel für die herausgehen Pakete sollte
NACH der check-state-Regel stehen.

Als nächstes: Ist der systctl net.inet.ip.fw.one_pass auf
1 oder auf 0 gesetzt? Das entscheided, ob ein Paket nach
Abarbeiten einer „nat“-Regel fertig ist, oder ob es dann mit
der darauffolgenden Regel weiterbehandelt wird.

Außerdem ist natürlich zu prüfen, ob die Pakete nicht durch
andere Regeln bereits verworfen oder modifiziert werden.
Das kann man relativ einfach herausfinden, indem man das
Logging für die „nat“-Regeln aktiviert (entweder per syslog
oder per tcpdump auf ipfw0, siehe das „log“-Keyword in der
ipfw(8)-Manpage).

Wie gesagt: Grundsätzlich sollte das mit IPFW gehen, was
Du versuchst.

Gruß
   Olli

-- 
Oliver Fromme, München   --   FreeBSD + DragonFly BSD
``We are all but compressed light'' - Albert Einstein
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 - 17:32:52 CET

search this site