ADSL Router mit mpd, ipfw, natd

gelbasack

Member
Hallo,
wollte mir einen Router/Server unter FBSD aufsetzen, was aber nicht ganz klappt. Händisch komme ich mit folgenden Schritten problemlos zum Ziel: Netzwerkkarten Adressen zuweisen,
ipfw add allow all from any to any via ... # für all 3 Karten (inkl. lo0)
mpd starten (ich komme aus Österreich, hier funktioniert das ADSL anders, deswegen leider auch sehr wenig Doku dazu :( )
mpd gibt mir sehr schnell eine IP Adresse nach außen zum neuen Interface ng0
Jetzt kann ich entweder die restlichen Firewall regeln laden oder einfach mit "natd -interface ng0" gleich NAT aktivieren, funktioniert auch alles.
Automatisch starten haut aber nicht hin. Firewall habe ich in /etc/rc.conf aktiviert, startet auch, allerdings funktioniert mpd nicht. (Dieser wird automatisch beim Start des Interfaces gestartet, in /etc/start_if.ng0 eingetragen. Starten tut er, aber ng0 bekommt keine Adresse, hab' ich von http://www.freebsd.at/metadot/index.pl?iid=2095&isa=Category )
Hab' dann den mpd in /etc/rc.firewall starten lassen (ich find's auch grauslich), weil ich mir dachte, die 3 Regeln, die ich oben erwähnte, sind von Nöten. Nein, bringt auch nix. ng0 kriegt noch immer keine Adresse. Wenn ich die Schritte händisch ausführe, klappt's, beim Starten über rc.conf nicht. Jemand Ideen? Bzw. jemand vielleicht aus Österreich mit einer funktionierenden Konfiguration? Hab' auch schon sleep's (wäh) reingepackt in's Skript, damit mpd genug Zeit hat, eine Adresse zu kriegen, wieder nix :(
 
Ich denke, ich erinnere mich an ein solches Problem. So, wie ich es in Erinnerung habe, war das Problem, daß sich die Firewall nicht per rc laden ließ, da bind noch nicht geladen war und hostnamen nicht aufgelöst werden konnte, da das Public-Interface noch nicht da war.

Das ließ sich nur durch Änderung der Startreihenfolge von: Firewall, mpd und bind korrigieren.

Allerdings hatte ich pf als Firewall auf der Maschine im Einsatz.

BTW, würde ich Dir auch den Einsatz von pf statt ipfw empfehlen, da Du damit dann generische Regeln für Deine Maschine beim Starten aufsetzen kannst und die Regeln, die sich auf das Public-Interface (ng0 in Deinem Fall) kannst Du im linkup-Script von mpd nachladen.

Solltest Du FreeBSD 5.x oder 6.x einsetzen, kannst Du die Startreihenfolge der rc.d Scripte über rcng ändern. Das erfordert einige Experimente, um das korrekt hinzubekommen.

ng0 bekommt sicherlich eine Adresse, aber es dauert einige Sekunden. In dieser Zeit schmieren dann Firewall und / oder bind wieder ab. Du kannst ja mal eine zeitliche Verzögerung (z.B. sleep 10) in das mpd rc-Script einbauen.
 
Zurück
Oben