ipf und ipnat

XPectIT

the just
Wenn man schon mal versucht hat eine Wählverbindung aufzubauen und dabei ipf und ipnat zu nutzen, kennt man vermutlich das Problem:
Damit ipnat richtig arbeitet muss es die Devices mit "ipf -y" resyncen. Das macht man am geschicktesten entweder beim booten oder über "connectprog" in der isdnd.rc (natürlich nur bei isdn) bzw. ppp.linkup in /etc/ppp.
Das Problem ist jetzt, das tun0 beim booten nicht vorhanden ist und ipf -y zu diesem Zeitpunkt folglich wenig bringt. Weiter muss dieser Befehl mit superuser-Rechten ausgeführt werden um nicht mit einer Fehlermeldung zu enden. Und da die Skripte die nach der Einwahl gestartet werden unter den Rechten des einwählenden Users laufen schlägt auch hier ein resync der Interfaces fehl (sofern man sich nicht als root einwählt).

Diese ganze Problematik kann man recht einfach umgehen. Und zwar in dem man einen "dummy-provider" in der ppp.conf einrichtet, der einfach nur dafür sorgt, das es danach ein Interface tun0 gibt.
Code:
dummy:
 set phone "0"
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR
 quit
und diesen einmal vor ipf -y startet.
Zum Beispiel durch
Code:
ppp -background -quiet dummy
/sbin/ipf -y
das beim booten ausgeführt wird.

Da ich ziemlich lange im Netz nach einer Lösung gesucht und keine gefunden hab, fiel mir diese hier ein. Sie ist vielleicht nicht ganz die "feine Art" aber sie funktioniert bei meinem FreeBSD 5.1 wunderbar.

Gruss
 
Zuletzt bearbeitet:
Zurück
Oben