Firewall neu initialisieren nach Neuvergabe der IP per dhcp, War: GTelnet / Bitel adsl Internet Firewall iptables
Stefan Pump
lug at pumpnet.de
Wed Feb 18 12:34:50 CET 2004
Hallo Dietmar und Ihr anderen
vielen Dank erstmal für Eure Antworten und Tips. Nun scheint das
Script erstmal zu laufen und ich habe wieder eine Menge gelernt.
> > iptables -A OUTPUT -o $WAN_INT -p udp --dport 68 -j ACCEPT
> >
> > oder brauche ich die zweiten nicht mehr weil ja vorher:
> >
> > iptables -A OUTPUT -o $WAN_INT -m state \
> > --state ESTABLISHED,RELATED -j ACCEPT
> >
>
> Sollte für die DHCP Antworten reichen. ...
Weil ich die dumpfe Ahnung hatte, dass genau der dhclient nicht mehr
kommunizieren konnte. Die einzige Änderung war das Firewall-Script,
also lag der Verdacht nahe, dass es genau daran lag, was sich ja auch
bestätigt hat. Paßt auch hervorragend zu dem Zeit-Problem. Zuerst
funktioniert es noch, da die IP noch gültig ist. Nach einer gewissen
Zeit gibt entweder der dhcp-Server den Client auf oder der Client
schaltet auf ehemalige IP-Adressen um via dhclient-leaves und ab da
klappt nichts mehr.
In der Tat habe ich dem dhclient die Berechtigung zum kommunizieren
entzogen :(
> ...Warum schickst Du nur Dein
> Firewall Skript? Interessant wäre das Log (kurz) bevor die
Verbindung
> hängt. Ausserdem sollte dhclient auch etwas loggen.
Weil ich es lokal zur Hand hatte und ich nicht mehr auf den Server
konnte um die Logs zu lesen, gerne hätte ich da einen Blick rein
geworfen. ;-) Aber das scheint schon eher ein common-problem zu sein,
dass man sich beim Neuaufsetzen einer Firewall (als Newbie) selbst
aussperrt.
Nun aber mal wieder eine Frage, die wahrscheinlich schon dutzendmal
gestellt wurde, für die ich beim googlen aber keine (für mich)
verständliche Lösung gefunden habe (oder die falschen Begriffe
gegooglt habe):
Es kann ja nun passieren, dass der dhcp-Server mal eine neue
IP-Adresse verteilt.
In dem Script sind ein paar Regeln, die die Externe-IP benutzen.
Diese Regeln müßten nach einer Neuvergabe der IP-Adresse sozusage
gepatcht werden, oder das komplette Firewall-Script neugestartet
werden.
Es scheint dafür einige Lösungen (und "-" meine 2 Cent dazu) zu geben:
1) zB handgestrickte, die IP-Adresse in eine Datei schreiben und diese
sehr regelmäßig überprüfen und bei Bedarf (Abweichung der aktuellen IP
von der gespeicherten) die Firewall neu zu starten.
- Kann ich nachvollziehen, klingt aber umständlich.
2) irgendwas über dhclient_exit_hocks oder dhclient_scripts
- Hab ich (noch) nicht verstanden :(
3) es im runlevel über rc2.d, rc3.d, rc5.d zu starten
- Wérden die Scripte dort auch nach Neuvergabe
4) ifupdown
- Hab ich auch nicht recht verstanden, wann das ausgelöst wird.
Sowas schönes wie if-up bei ppp0 verbindungen gibt esnicht für
dhcp-clients, oder?
Über iptables-save und iptables-restore kann ich es nicht regeln, weil
dort ja die alte IP-Adresse gespeichert ist.
System, wie gesagt Debian 3.0, dhclient-2.2.x, iptables, inetd (falls
das dabei helfen kann)
Hat jemand einen Tipp für mich, wie ich entweder das ganze regeln
kann, oder wo ich eine Debian-Dau-taugliche Erklärung dazu finde?
Momentan habe ich es so geregelt, dass die Firewall stündlich neu
gestartet wird, dh maximale Ausfallszeit der entsprechenden Regeln (59
Minuten), aber das kann es ja nicht der Weisheit letzter Schluss sein.
BTW: Bei SuSE (neuerer Versionen) gibt es die ganzen rc-Scripte um
Services zu starten.
Ist es unter Debian nicht üblich diese Scripte mit rc.. zu beginnen?
Ich finde nämlich keine.
cu und Dank im voraus,
Stefan
More information about the Linux
mailing list