Hallo Leute!
Von einem Server (Debian 8) den ich administriere, bekomme ich mehrmals am Tag eine E-Mail mit dieser Fehlermeldung:
Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
Nun, jede Minute läuft per CronJob ein Skript, das die Firewall überprüft (also, eine Art "dynamische Firewall") und ggfs. ändert eine Kette (DYNIPS). Die Meldung kommt unmittelbar danach, aber nicht immer, sondern nur ab und zu.
Das Skript hat in sich ein Lock-Mechanismus, damit gleichzeitige Aufrufe des Skriptes nicht möglich sind. Wenn ich dazu im Log prüfe (das Skript loggt den Start und das Ende) würde ich auch sagen, dass kein Aufruf des Skriptes länger als 2 Sekunden dauert, so dass, auch ohne Lock, wird iptables nicht gleichzeitig aufgerufen.
Nun nach mehreren Tagen Forschung finde ich keine Stelle, die schuldig sein könnte.
Hat jemand eine Empfehlung, wie ich die Stelle finden kann, die anscheinend "ab und zu" gleichzeitig zu meinem Skript aufgerufen wird?
Besten Dank Luca Bertoncello (lucabert@lucabert.de)
Luca Bertoncello lucabert@lucabert.de (Do 04 Mai 2017 16:06:40 CEST): …
Hat jemand eine Empfehlung, wie ich die Stelle finden kann, die anscheinend "ab und zu" gleichzeitig zu meinem Skript aufgerufen wird?
fail2ban?
Zitat von Heiko Schlittermann hs@schlittermann.de:
Hat jemand eine Empfehlung, wie ich die Stelle finden kann, die anscheinend "ab und zu" gleichzeitig zu meinem Skript aufgerufen wird?
fail2ban?
Nicht installiert...
Grüße Luca Bertoncello (lucabert@lucabert.de)
Luca Bertoncello lucabert@lucabert.de (Do 04 Mai 2017 16:35:59 CEST):
Zitat von Heiko Schlittermann hs@schlittermann.de:
Hat jemand eine Empfehlung, wie ich die Stelle finden kann, die anscheinend "ab und zu" gleichzeitig zu meinem Skript aufgerufen wird?
Dann zeig doch mal den Script.
Zitat von Heiko Schlittermann hs@schlittermann.de:
Luca Bertoncello lucabert@lucabert.de (Do 04 Mai 2017 16:35:59 CEST):
Zitat von Heiko Schlittermann hs@schlittermann.de:
Hat jemand eine Empfehlung, wie ich die Stelle finden kann, die
anscheinend
"ab und zu" gleichzeitig zu meinem Skript aufgerufen wird?
Dann zeig doch mal den Script.
Es ist nicht wirklich viel zu sehen...
#!/bin/bash
############################################## # Firewallkonfiguration (dynamisch!!) # # von Luca Bertoncello # # Letzte Änderung: 18.12.2016 07:52 # ############################################## MYLCK="/var/lock/firewall.lck" if [ -e $MYLCK ] then exit 1 fi
/bin/touch $MYLCK
<hier werden die IPTables-Aufrufe stattfinden>
/bin/rm -f $MYLCK
Mehr ist ja nicht...
Dasselbe Skript auf einem anderen Server meckert überhaupt nicht.
Grüße Luca Bertoncello (lucabert@lucabert.de)
Luca Bertoncello lucabert@lucabert.de (Fr 05 Mai 2017 08:27:29 CEST):
Zitat von Heiko Schlittermann hs@schlittermann.de:
Luca Bertoncello lucabert@lucabert.de (Do 04 Mai 2017 16:35:59 CEST):
Zitat von Heiko Schlittermann hs@schlittermann.de:
Hat jemand eine Empfehlung, wie ich die Stelle finden kann, die
anscheinend
"ab und zu" gleichzeitig zu meinem Skript aufgerufen wird?
Dann zeig doch mal den Script.
Es ist nicht wirklich viel zu sehen...
#!/bin/bash
############################################## # Firewallkonfiguration (dynamisch!!) # # von Luca Bertoncello # # Letzte Änderung: 18.12.2016 07:52 # ############################################## MYLCK="/var/lock/firewall.lck" if [ -e $MYLCK ] then exit 1 fi
----> hier hast Du eine Racecondition, wenn zwei dieser Scripte ----> zeitgleich gestartet werden! ----> flock(1) kann Dir weiterhelfen.
/bin/touch $MYLCK
<hier werden die IPTables-Aufrufe stattfinden>
/bin/rm -f $MYLCK
Und die IPTables-Aufrüfe wären auch interessant, vielleicht ist da was dabei, was manchmal länger braucht? Liest Du z.B. die aktuelle Konfiguration der IPTables aus? Wenn ja, dann wie?
Zitat von Heiko Schlittermann hs@schlittermann.de:
MYLCK="/var/lock/firewall.lck" if [ -e $MYLCK ] then exit 1 fi
----> hier hast Du eine Racecondition, wenn zwei dieser Scripte ----> zeitgleich gestartet werden! ----> flock(1) kann Dir weiterhelfen.
Die werden per crontab aufgerufen, alle Minute.
/bin/touch $MYLCK <hier werden die IPTables-Aufrufe stattfinden> /bin/rm -f $MYLCK
Und die IPTables-Aufrüfe wären auch interessant, vielleicht ist da was dabei, was manchmal länger braucht? Liest Du z.B. die aktuelle Konfiguration der IPTables aus? Wenn ja, dann wie?
Es ist nichts anderes als eine Liste von iptables-Befehle. Keine Konfiguration, alles statisch wie:
/sbin/iptables -A DYNIPS -i eth0 -s lucabert.ddns.seffner-schlesier.de -j ACCEPT -m comment --comment "lucabert.ddns.seffner-schlesier.de"
Grüße Luca Bertoncello (lucabert@lucabert.de)
Luca Bertoncello lucabert@lucabert.de (Fr 05 Mai 2017 12:25:54 CEST): ….
/sbin/iptables -A DYNIPS -i eth0 -s lucabert.ddns.seffner-schlesier.de -j ACCEPT -m comment --comment "lucabert.ddns.seffner-schlesier.de"
Und wie lange dauert die Namensauflösung für lucabert.ddns… immer?
Zitat von Heiko Schlittermann hs@schlittermann.de:
Luca Bertoncello lucabert@lucabert.de (Fr 05 Mai 2017 12:25:54 CEST): ….
/sbin/iptables -A DYNIPS -i eth0 -s lucabert.ddns.seffner-schlesier.de -j ACCEPT -m comment --comment "lucabert.ddns.seffner-schlesier.de"
Und wie lange dauert die Namensauflösung für lucabert.ddns… immer?
Ich habe vergessen, dass am Ende des Skriptes ein Log ausgespuckt wird. Zwischen Aufruf des Skriptes (das sehe ich in syslog vom cron) und Ende ist 1-2 Sekunden Unterschied.
Grüße Luca Bertoncello (lucabert@lucabert.de)
Luca Bertoncello lucabert@lucabert.de (Fr 05 Mai 2017 12:25:54 CEST):
Zitat von Heiko Schlittermann hs@schlittermann.de:
MYLCK="/var/lock/firewall.lck" if [ -e $MYLCK ] then exit 1 fi
----> hier hast Du eine Racecondition, wenn zwei dieser Scripte ----> zeitgleich gestartet werden! ----> flock(1) kann Dir weiterhelfen.
Die werden per crontab aufgerufen, alle Minute.
/bin/touch $MYLCK
Ja, aber das hat nichts damit zu tun, dass keine Race-Condition auftreten kann. Wenn ein Unglück passieren *kann*, dann wird es passieren.
Hallo Leute!
Der Datei-Server verwendet ein UCS (Univention Corporate Server) welches ein abgeleitetes Debian-System ist. Nachdem Univention ein neues Update zur Verfügung gestellt hat wurde auch Samba von Version 4.5.3 auf 4.6.1 aktualisiert.
Im freigegebenen Verzeichnis werden unterhalb relative Links auf andere Verzeichnisse verwendet. Diese Links liesen sich in Windows wie normale Verzeichnisse verwenden. Seit dem Update bekommen ich die Windows-Fehlermeldung "Der Verzeichnisname ist ungültig."
Wie gehe ich weiter vor um den Fehler zu finden? Gibt es eine spezielle Änderung in der Standard-Konfiguration?
Viele Grüße
Jens
Hi Jens. Das hier in der Share-Definition sollte es loesen:
follow symlinks = yes wide links = yes
Viele Gruesse /marian
On May 8, 2017 6:17:21 PM CEST, Jens jens@bringfix.de wrote:
Hallo Leute!
Der Datei-Server verwendet ein UCS (Univention Corporate Server) welches ein abgeleitetes Debian-System ist. Nachdem Univention ein neues Update
zur Verfügung gestellt hat wurde auch Samba von Version 4.5.3 auf 4.6.1
aktualisiert.
Im freigegebenen Verzeichnis werden unterhalb relative Links auf andere
Verzeichnisse verwendet. Diese Links liesen sich in Windows wie normale
Verzeichnisse verwenden. Seit dem Update bekommen ich die Windows-Fehlermeldung "Der Verzeichnisname ist ungültig."
Wie gehe ich weiter vor um den Fehler zu finden? Gibt es eine spezielle Änderung in der Standard-Konfiguration?
Viele Grüße
Jens
lug-dd@mailman.schlittermann.de