Beiträge von KB19

    Irgendwas sollte schon in den Logs stehen: mail.info und mail.err
    Ansonsten einmal mittels telnet versuchen auf den Mailserver zu verbinden: http://www.msxfaq.de/internet/smtptelnet.htm


    Falls er da auch nicht reagiert bitte einmal prüfen: Ob der Port stimmt, der Mailserver überhaupt läuft und/oder eine Firewall den Zugriff blockiert. Vielleicht ist auch einfach nur der DNS Eintrag der Domain fehlerhaft?



    MfG Christian

    Zu früh gefreut, seit gestern 19 Uhr spinnt es wieder :rolleyes:
    Bis ich den Fehler gefunden habe, vorerst diese Lösung als Daemon-Script :D
    [PHP]#!/usr/bin/php
    <?php


    // MySQL Problem - siehe http://forum.netcup.de/showthread.php?t=1492
    // Durchsucht das Syslog andauernd, ob das Problem wieder aufgetreten ist,
    // falls ja wird das MySQL Socket neu gelinkt und den Fehler zu umgehen.
    $pattern = 'Number of processes running now: 0';
    $syslog = '/var/log/syslog';
    $email = 'admin@froonix.com';


    if(posix_getuid() !== 0)
    {
    trigger_error('You are not root', E_USER_ERROR);
    }


    // Pipes vorbereiten
    $desc = array(
    // 0 => array('pipe', 'r'), // STDIN ist eine Pipe, von der das Child liest
    1 => array('pipe', 'w'), // STDOUT ist eine Pipe, in die das Child schreibt
    );


    // Los geht's
    // $proc = proc_open('tail -f ' . escapeshellarg($syslog) . ' | grep '.escapeshellarg($pattern), $desc, $pipes);
    // $proc = proc_open('tail -n 1000 -f ' . escapeshellarg($syslog) . ' | grep '.escapeshellarg($pattern), $desc, $pipes);
    $proc = proc_open('tail -f ' . escapeshellarg($syslog), $desc, $pipes);
    if(!is_resource($proc))
    {
    trigger_error('Can\'t start log detection', E_USER_ERROR);
    }
    else
    {
    // Damit die Pipes auch wieder geschlossen werden ;)
    register_shutdown_function('close_pipes');

    // Und verändern den Modus
    // stream_set_blocking($pipes[0], 0);
    stream_set_blocking($pipes[1], 0);
    }


    // Wir starten unsere Endlosschleife *gg*
    $proc_get_status = 0;
    while(true)
    {
    // Dann versuchen wir einmal etwas einzulesen
    $line = fgets($pipes[1]);
    if($line === false || $line === '' || is_null($line))
    {
    // Lebt unser Child noch?
    if($proc_get_status < (time() - 10))
    {
    if(!($tmp = proc_get_status($proc)) || !$tmp['running'])
    {
    trigger_error('Child terminated', E_USER_ERROR);
    }
    else
    {
    $proc_get_status = time();
    }
    }

    // Zur Zeit gibt es wohl nichts zum Lesen
    usleep(1000 * 1000);
    continue;
    }
    elseif(strpos($line, $pattern) !== false)
    {
    // Debug
    // echo '...'."\n";

    // Link neu erstellen
    @unlink('/var/spool/postfix/var/run/mysqld/mysqld.sock');
    exec('ln /var/run/mysqld/mysqld.sock /var/spool/postfix/var/run/mysqld/mysqld.sock');

    // Postfix neu starten
    exec('/etc/init.d/postfix restart');

    // Loggen und ausgeben
    syslog(LOG_CRIT, 'Linking mysqld.sock to the postfix-jail and restarting postfix!');
    echo 'Linking mysqld.sock to the postfix-jail and restarting postfix!'."\n";

    // Mail versenden
    mail($email, 'MySQL Problem Report', 'Linking mysqld.sock to the postfix-jail and restarting postfix!');

    // Zur Sicherheit hier auch etwas warten
    sleep(30);
    }
    }


    // Pipes am Ende wieder schließen
    function close_pipes()
    {
    global $pipes;

    // fclose($pipes[0]);
    fclose($pipes[1]);
    }


    ?>[/PHP]


    Und zum Testen recht nett :D

    Code
    php -r "var_dump(syslog(7, 'Number of processes running now: 0'));"



    MfG Christian

    Zitat von turhost;13182

    und dazu noch pro Sekunde 3 Afragen pro Client-IP


    Etwas wenig, oder? Da macht der Apache doch schon bei normalen Websites dicht, jede CSS-Datei, Bild, Javascript usw. ist ja eine Anfrage :eek:
    Für solche Sachen empfehle ich übrigens mod_evasive beim Apache, das hat teilweise bessere Optionen gegen kleine Flooding-Attacken ;)



    MfG Christian

    Ich habs wie gesagt nur kurz am Testsystem ausprobiert, mein Produktivsystem kann und will ich damit nicht lahm legen. Ich habe gestern nur mit TCP-Port 80 rumgespielt. Vielleicht werden doch die Pakete blockiert, weil bei dir gleich alles offline ist?



    MfG Christian

    Sollte passen, Artimis. Ob pro IP oder global weiß ich gerade nicht, ich hatte gestern nur auf einem Server "ab" laufen lassen ;)
    Eine vollständige Doku zur VCP Firewall wäre echt praktisch *sigh*



    MfG Christian

    Also seit damals gab es jetzt keine Probleme mehr, geändert habe ich allerdings nichts mehr, nur Logs in Echtzeit beobachtet. Heute kam auch ein Update für MySQL bei Lenny heraus, vielleicht behebt das dann eventuelle Fehler. Wie auch immer, ich werde es beobachten. Trotzdem danke für eure Tipps :)



    MfG Christian

    Zitat von ice-breaker;13133

    Falls dein Synflood nicht die Netzwerkbandbreite übersteigt, dann kannst du in der Firewall eine max. Anzahl an Connections pro Sekunde einstellen, das sollte wenigstens einen Schutz bieten.


    Jetzt bin ich seit mehr als einem Jahr bei Netcup und entdecke dieses Feature in der Firewall erst durch deinen Beitrag :eek:
    Danke für den Hinweis, das habe ich gestern am Testsystem gleich ausprobiert, feine Sache :)



    MfG Christian

    Zitat

    Unknown codec 'libx264'
    Unknown codec 'libfaac'


    Hast du ffmpeg über den Paketmanager installiert oder selbst kompiliert? Weil in Debian Lenny z.B. sollten diese Libs automatisch mitinstalliert werden, das habe ich letzte Woche selbst erst gesehen und getestet, ebenfalls bei einem H.264 Video.


    EDIT: Ok, scheinbar selbst kompiliert, steht ja da: FFmpeg version SVN-rUNKNOWN :rolleyes:
    Probiere es doch einmal mit einer stabilen Version aus dem Paketmanager, damit hat es bei mir vor kurzem funktioniert :)



    MfG Christian