Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Witam,

Mam postawiony Serwer PPPoE (slackware + pppoe-server) - wszystko działa pięknie (oparte o MySQL) naklikaliśmy sobie własny plugin i te sprawy. Zapisuję całą historię logowania userów do sql'a (ile pobrali/wysłali, kiedy się połączyli/rozłączyli) i tutaj mam problem, ponieważ potrzebuję dokładny czas rozłączenia usera - wszystko jest OK gdy user sam się rozlączy ale problem występuje w tedy gdy user się rozłączy np. dlatego że padł jakiś switch (brakło prądu) - wtedy sesje PPPoE wiszą jakiś czas - zazwyczaj różny.

Postawiłem sobie switcha podpiołem do niego 2 laptopy (windows XP) i wyłączyłem zasilanie w switchu - oby dwóch rozłączylo, ale na serwerze interferjsy ppp* były cały czas podniesione, dopiero po:

1 user - 00:03:30 (czas połączenia)
2 user - 00:07:00 (czas połączenia)

i tutaj pytanie - dlaczego jeden rozłączyl się szybciej a drugi interfejs byl cały czas podniesiony ?

Jak zmusić serwer pppoe do kontrolowania stanu sesji userów ?


Będę wdzięczny za pomoc ;)

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Podejrzewam że chodzi o to że np. co 10 minut serwer wysyła jakiś rodzaj "keepalive" i akurat jeden timer był na 7 a drugi na 3 minuty. Pewnie da się ustawić na krótszy ;]

konto usunięte

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Michał Błaszczak:
Jak zmusić serwer pppoe do kontrolowania stanu sesji userów ?

ja bym sie porozgladal w manie do konfiga czy nie ma tam opcji ustawienia jakichs keepalive dla sesji PPP. IMHO powinno byc cos takiego... czesto sa 2 parametry - keepalive jako taki np xx sec + po ilu probach (keepalive timeout) sesja ma zostac ubita.
Jacek Lakomiec

Jacek Lakomiec Freelance Search
Services Engineer,
Vodafone Global

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Polecam man pppd i opcje:
lcp-echo-failure
lcp-echo-interval

i byc moze lcp-max-*
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Mam dodane te opcje do pliku options i nic to nie zmienia, ustawiłem nawet najmniejsze wartości i niestety ;/

maxfail 2
lcp-echo-interval 1
lcp-echo-failure 2
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Moj aktualny /etc/ppp/options i niestety nic nie pomaga ;/

auth
debug
mtu 1492
mru 1492
#1496
-pap
+chap
#ms-dns 192.168.4.1
#ms-dns 192.168.5.1
ms-dns 85.11.66.105
ms-dns 192.168.2.1
plugin mysql.so
SQLuser xxx
SQLname xxxx
SQLpassword xxxx
SQLserver 127.0.0.1
maxfail 2
lcp-echo-interval 1
lcp-echo-failure 2
lcp-max-configure 1
lcp-max-failure 1
lcp-max-terminate 1

konto usunięte

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Jak nic nie wymyslisz to zawsze mozna dookola i mniej elegancko. Mozna napisac skrypt, ktory by wykorzystal arp sprawdzajac czy user zyje i jesli nie to kladziemy sesje. Jesli bys pisal w bashu to do wykorzystania arping, ale tak ogolnie to troche rzezba i moze ktos kto pracuje z pppoe podpowie cos...
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

W protokole PPPoE nie da rady puścić arpinga

myślalem czy by tcpdumpem nie nasluchiwac jakis PADT ale to na prawde na opkoło by było :)

Teraz różnica w czxasie to okolo 20-30 sec, zależy mi żeby nie było żadnej róznicyMichał Błaszczak edytował(a) ten post dnia 04.08.09 o godzinie 11:54

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Jak zejdziesz do bardzo małych wartości to może dojść do tego że będzie ci zrywało połączenie przez chwilowe "lag spike" więc trzeba uważać ;].

Może kup switcha który nie pada? ;]. Tak z ciekawości do czego to ? rozliczanie klientów czy kontrola dostępu ?
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Mariusz Gronczewski:
Jak zejdziesz do bardzo małych wartości to może dojść do tego że będzie ci zrywało połączenie przez chwilowe "lag spike" więc trzeba uważać ;].

Może kup switcha który nie pada? ;]. Tak z ciekawości do czego to ? rozliczanie klientów czy kontrola dostępu ?


Wiem, żeby nie przesadzić z wartościami - dlatego potestuje sobie teraz z tymi ustawieniami.

A do czego? - dobre pytanie ;-)
Aktualnie administruje siecią w mieście i tutaj niestety często pada zasilanie w różnych rejonach - nie wszystkie switche są zarządzalne więc sobie obmyśliłem tak że każdy CHAP (login PPPoE) dopiszę w jakiejś skrzynki (w której jest switch do którego jest podłączony) i jeśli w tym samym czasie system wykryje rozłączenie przynajmniej u 2 userów, którzy należą do jednej skrzynki ze switchem powiadomi o tym techników - aby Ci szybko usuneli awarię. W sumie mi to działa - bo jak padnie jakiś segment sieci (minimum z 5 switchy) to wtedy system wykrywa awarię, gorzej jeśli padnie ostatni switch (te rozbiezności czasowe przy rozłączeniu) ;//

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Czy to są switche zarządzalne ? Jeżeli tak to mógłbyś podpiąć to pod nagiosa (nawet głupi ping na ipek switcha), wtedy jak poprawnie podasz mu połączenia między nimi to pokaże Ci ładne drzewo i który z nich padł a które są niedostępne (z punktu widzenia serwera z nagiosem) przez ten pad
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Aktualnie administruje siecią w mieście i tutaj niestety często pada zasilanie w różnych rejonach - nie wszystkie switche są zarządzalne

Więc jak już napisałem wcześniej - switche nie są zarządzalne - znaczy jest ich tylko kilka, ale duża większość to niezarządzalne switche.

Nagiosa mam zrobionego na mikrotiki, adaptery VoIP i te kilka zarządzalnych switchy podpietych po snmp pod cactiMichał Błaszczak edytował(a) ten post dnia 04.08.09 o godzinie 13:07

konto usunięte

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Michał Błaszczak:
W protokole PPPoE nie da rady puścić arpinga

Chwila moment... user, ktory zaczyna negocjowac polaczenie z serwerem PPPoE ma juz jakis swoj adres ipv4 i jest to zwykle polaczenie po ethernecie, zadnego PPP. Potem po udanej negocjacji polaczenia dostaje adres z serwera PPPoE, tworzony jest tunel, system operacyjny klienta dodaje default gw na adres serwera pppoe etc... ALE - caly czas mozna zrobic skojarzenie adresow przed-PPPoE z tymi po... i caly czas mozna zrobic arping na adres nie-tunelowy.
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

No ale jak? Bo do poprawnego korzystania z PPPoE wyłączam protokół TCP/IP na karcie u usera.

a gdy puszczam arping -I interfejs ip
to arping nie idzie

konto usunięte

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Michał Błaszczak:
No ale jak? Bo do poprawnego korzystania z PPPoE wyłączam protokół TCP/IP na karcie u usera.

Powiem szczerze, ze nie wiem co w Windowsie w rzeczywistosci to robi i po co to sie robi... ja mialem kiedys w sieci pptp wdrozone to takich czarow nie wymagalo, ale nawet jakby to na logike - tcp to l4, ip l3, a arp to l2, wiec nie powinno miec znaczenia.
a gdy puszczam arping -I interfejs ip
to arping nie idzie

masz usera iksinski, ktory
1) ma adres LAN 10.0.0.5
2) po zestawieniu tunelu ppp dostaje dodatkowo 10.0.1.5

arping na 10.0.0.5 nadal bedzie dzialal i po tym sprawdzasz czy fizycznie jest on w sieci.
Michał Błaszczak

Michał Błaszczak Pentester / Linux
Administrator / VoIP
/ Blockchain /
Cry...

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

No tak ale docelowo po to robiłem PPPoE żeby nikt nie ustawiał sobie żadnego adresu IP, więc to mija się z celem ;)

Musze dowiedzieć się, jak zmusić pppoe-server do kontroli czy user jeszcze jest czy juz utracił połączenie.
Jacek Lakomiec

Jacek Lakomiec Freelance Search
Services Engineer,
Vodafone Global

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

Sławek: zeby pingnac usera to musisz miec zdaje sie jakis adres IP przypisany do interfejsu, ktorym go siegniesz zanim pojawi sie tunel ppp. A na iface z pppoe-server wcale takowego posiadac nie musi. Wiec potrzebowalby jeszcze interfejs wpiety do tej samej sieci ktory np. nie akceptuje zadnego innego ruchu oprocz icmp (fw), by mogl sobie pingac userow.Jacek Lakomiec edytował(a) ten post dnia 04.08.09 o godzinie 17:27

konto usunięte

Temat: Serwer PPPoE (kontrola rozłączań użytkowników)

edit:
bzdure walnalem.

btw. przy pptp to troche inaczej wyglada niz przy pppoe i rzeczywiscie mozliwe jest, zeby zostal aktywny tylko 1 ip tunelu bez adresu LAN.Sławomir Kawała edytował(a) ten post dnia 04.08.09 o godzinie 18:02



Wyślij zaproszenie do