Zrywanie połączenia przy pppoe

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

Hammer
Użytkownik
Posty: 48
Rejestracja: 2008-01-19, 11:45

Zrywanie połączenia przy pppoe

Post autor: Hammer »

Witam

Mam następujący problem. Mam neostradę podłączoną do routera na Slackware 14. Do niedawna używałem modem Sagem Fast 800, ale po awarii routera linuxowego i podniesieniu prędkości przeszedłem na router TP Linka - TD-8816v6. Przez rok chodził w trybie routera. W ostatnim czasie zmieniłem tryb na brigde i postawiłem nowy router na terminalu IGEL i Slackware 14. TPLink jest podłączony do karty sieciowej. Skonfigurowałem potrzebne usługi, ale mam problem z połączeniem. Z modemem Fast 800 używałem do zestawiania połączenia polecenia pppd call neo. Działało dobrze, bez częstych restartów. Gdy działał mi jeszcze slack na Sagem-ie to zestawiłem połączenie przez pppoe, ale niestety co kilkanaście, kilkadziesiąt minut zrywało mi połączenie. To samo mam teraz.

Neostrada korzysta nominalnie z PPPoA, ale na samym TP-Linku próbowałem oba tryby i chodził jak należy.

Czy ktoś konfigurował takie połączenie, czy może źle podszedłem do tematu?
Awatar użytkownika
dienet
Moderator
Posty: 2105
Rejestracja: 2007-07-24, 18:58
Lokalizacja: Racibórz/Rybnik

Re: Zrywanie połączenia przy pppoe

Post autor: dienet »

Juka pisze:Może coś z sesją czasową (MTU) pokombinować.
Jasne, nie ma to jak sesja czasowa MTU - brzmi mądrze!
https://www.youtube.com/watch?v=o17sCBvgU00
Pozdr0
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]
Hammer
Użytkownik
Posty: 48
Rejestracja: 2008-01-19, 11:45

Re: Zrywanie połączenia przy pppoe

Post autor: Hammer »

Na razie mtu zostawię w spokoju, zmieniłem parametr LCP_FAILURE na 10 (domyślnie było 3) i od dwóch dni nie zerwało połączenia ani razu. Przetestuję przez weekend, jak sieć będzie jeszcze bardziej dociążona.
Hammer
Użytkownik
Posty: 48
Rejestracja: 2008-01-19, 11:45

Re: Zrywanie połączenia przy pppoe

Post autor: Hammer »

Przez tydzień pracowało super, żadnych problemów. Dzisiaj pojawił się problem. Najpierw nie miałem możliwości połączenia się z Internetem z komputera w sieci lokalnej, chociaż net był na routerze. Pingowały się adresy zewnętrzne i mogłem się przez ssh zalogować do routera. Zrestartowałem runlevele poleceniem

Kod: Zaznacz cały

telinit 0 && telinit 3
i zaczęła się jazda. W ciągu 30 minut zerwało mi połączenia jakieś 15 razy średnio co 1-3 minut. W logach systemowych była tylko informacja o zawieszeniu się modemu i kolejnych interfejsach ppp (1-8). Jak podejrzałem poleceniem

Kod: Zaznacz cały

ps -aux| grep ppp
jakie procesy mam uruchmione to pojawiło mi się po ok. 10 procesów

Kod: Zaznacz cały

/usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pid.pppoe -I eth0 -T 80 -U -m 1412 
/bin/sh /usr/sbin/pppoe-connect
Pięć wpisów

Kod: Zaznacz cały

/usr/sbin/pppd pty /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pid.pppoe -I eth0 -T 80 -U  -m 1412    noipdefault noauth default-asyncmap defaultroute hide-password nodetach usepeerdns mtu 1492 mru 1492 noaccomp nodeflate nopcomp novj novjccomp user bez_ochrony-mojaNazwa@neostrada.pl lcp-echo-interval 20 lcp-echo-failure 10
oraz trzy wpisy

Kod: Zaznacz cały

/usr/sbin/pppd pty /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pid.pppoe -I eth0 -T 80 -U  -m 1412    noipdefault noauth default-asyncmap defaultroute hide-password nodetach usepeerdns mtu 1492 mru 1492 noaccomp nodeflate nopcomp novj novjccomp user bez_ochrony-mojaNazwa@neostrada.pl lcp-echo-interval 20 lcp-echo-failure 3
Zabiłem ręcznie te procesy, które miały ustawiony parametr lcp-echo-failure 3 i na razie przestał mi zrywać połączenie.

Przy restartach połączenia używam kombinacji poleceń

Kod: Zaznacz cały

killall pppd 
pppoe-stop
Podobny problem z duplikoawnie procesów mam również z ddclientem, z tym, że tu za każdym razem pojawia mi się ok. 20 procesów i cały czas pracują w tle. Przy resetowaniu połączenia również używam kombinacji poleceń

Kod: Zaznacz cały

[killall ddclient]
/etc/rc.d/rc.ddclient start
Nadmienię, że użycie w konosli killall ddclient nic nie daje, pojawia się informacja, że nie ma takiego procesu (ddclient: no process found)

Skrypt uruchamiający ddclienta:

Kod: Zaznacz cały


#!/bin/bash
#
# ddclient This shell script takes care of starting and stopping
# ddclient.
CONFIG="-file /etc/ddclient/ddclient.conf"
CACHE="-cache /var/cache/ddclient/ddclient.cache"
PID="/var/run/ddclient.pid"

case "$1" in
    start)
        # Start deamon
        if [ -e $PID ]; then
            echo "DDClient is already running - pid" `cat $PID`
        else
            echo "Starting ddclient."
#            ddclient $CONFIG $CACHE -daemon 0
            ddclient $CONFIG $CACHE
        #    -debug -verbose -noquiet
        fi
    ;;
    stop)
        # Stop daemon.
        echo -n "Stoping ddclient."
        kill -TERM `cat $PID`
        echo
        rm -rf $PID
    ;;
    restart)
        # Restart deamon
        if [ -e $PID ]; then
            kill -TERM `cat $PID`
            echo "DDClient have beed just stoped"
            rm -rf $PID
            $0 start
        else
            $0 start
            #echo "Before restart you must run DDClient"
        fi
    ;;
    status)
        # Get deamon status
        if [ -e $PID ]; then
            echo "DDClient is running - pid" `cat $PID`
        else
            echo "DDClient isnt working now"
        fi
    ;;
    *)
        echo "Usage: ddclient {start|stop|restart|status}"
        exit 1
esac

exit 0
Mój plik konfiguracyjny:

Kod: Zaznacz cały

######################################################################
daemon=300                              # check every 300 seconds
syslog=yes                              # log update msgs to syslog
mail=root                               # mail all msgs to root
mail-failure=root                       # mail failed update msgs to root
pid=/var/run/ddclient.pid               # record PID in file.

use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address

protocol=dyndns2                                # default protocol

server=members.dyndns.org                       # default server

login=mojaNazwa                         # default login
password=mojehaslo                                      # default password

mojaDomena.dyndns.biz

Co robię źle, jak zapobiec duplikowaniu procesów i dlaczego prawdopodobnie przy pppd zaciągnął mi konfiga z błędnym parametrem, chyba, że rezydujący proces zdążył się wykonać przed poprawnym, a jeżeli tak to jak temu zapobiec? Ile powinno być procesów i jakie związane z ppp?
Właśnie zauważyłem, że pojawił się nowy proces z błędną wartości parametru:

Kod: Zaznacz cały

/usr/sbin/pppd pty /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pid.pppoe -I eth0 -T 80 -U  -m 1412    noipdefault noauth default-asyncmap defaultroute hide-password nodetach usepeerdns mtu 1492 mru 1492 noaccomp nodeflate nopcomp novj novjccomp user bez_ochrony-mojaNazwa@neostrada.pl [b]lcp-echo-interval 20 lcp-echo-failure 3[/b]
Co go uruchomiło i pobrało niewłaściwą wartość parametru. Czy ktoś mógłby mi podpowiedzieć co robię nie tak przy ppp i ddclient-cie?
ODPOWIEDZ