Christian Schmidt schrieb:
Dachte ich eigentlich auch, aber warum funktioniert mein DHCP dann überhaupt? Es gibt doch keinen Grund, dass die erste DHCPDISCOVER-Anfrage durchgelassen wird und die zweite geblockt oder probiert ein DHCP-Client verschiedene Anfragen?Marco Ehrentreich schrieb/wrote:Ich hatte schon seit geraumer Zeit das Problem, dass mein DHCP-Server mit dynamischer DNS-Unterstüzung zwar sauber IPs vergibt und die Namenseinträge im DNS macht, aber scheinbar nichts geschieht, wenn ein Client aus dem Netz geht und eigentlich seine Lease wieder freigeben müsste. Den Grund hab ich jetzt glaub entdeckt: Die böse (von mir) falsch konfigurierte Firewall (iptables) Wenn ich an einem Windows-Client manuell mit "ipconfig /release" die IP freigebe, sehe ich anschließend in meiner mysql-Datenbank (ULOGD), dass die Firewall zwei UDP-Pakte der Artip 0.0.0.0 sport 68 > ip 255.255.255.255 dport 67blockt. Weiß jemand, ob das was mit den DHCP-Release befehlen zu tun haben könnte?Ja. Hat es auch. Der DHCP-Client fragt erstmal per Broadcast, ob jemand da ist, der ihm eine IP-Konfiguration zukommen laesst (DHCPDISCOVER). Das ganze sollte auch in /var/log/daemon.log auftauchen.
Diese Pakete sind mir früher auch schon mal aufgefallen, aber ich dachte eigentlich, dass die mit der Regel$IPTABLES -A UDP_INT -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPTdurchgelassen werden sollten!Steht die Regel auch an der richtigen Stelle? Wenn das Paket schon auf eine vorher definierte Regel "matcht", dann kommt diese gar nicht meh zum Tragen. Du hast hoffentlich "UDP_INT" auch korrekt als Chain definiert? Gruss, Christian
Also das sind meine Regeln in der UDP_INT Chain. In dieser Chain werden die UDP-Pakete von Intern behandelt (der Übersicht halber)
zur Erklärung: $INT_NET die Netzwerkadresse meines LANs $INT_BCAST die Broadcastadresse des LANs $INT_IP die interne IP meines DHCP-Servers$IPTABLES -A UDP_INT -p udp -s $INT_NET -d $INT_BCAST -m multiport --dports 67,137,138 -j ACCEPT
$IPTABLES -A UDP_INT -p udp -s $INT_NET -d $INT_IP -m multiport --dport 67,69 -j ACCEPT
$IPTABLES -A UDP_INT -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
$IPTABLES -A UDP_INT -p udp -s $INT_NET --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
Also für mich sieht's richtig aus, aber wahrscheinlich hab ich's schon viel zu oft gesehen. Vielleicht kommt ja jemand von Euch auf den Fehler?!?
Danke! Marco
-- Christian Schmidt | Germany | christian.schmidt@chemie.uni-hamburg.de PGP Key ID: 0x28266F2C