Sziasztok!
Először is remélem, hogy jó témakört választottam. Másodszor pedig a problémám a következő:
Adott egy hálózat: dsl modem->router (ez kezeli a pppoe kapcsolatot)->ubuntu szerver (routeren dmz-ben)->belső hálózat. A hálózaton, hogy miért kell router, illetve miért nem a szerveren kezelem a pppoe kapcsolatot, az a probléma szempontjából lényegtelen, mert nem kiiktatható (a hálózat ráadásul év végén/jövő év elején változni fog egy kicsit, mivel dsl helyett optikai hálózat lesz a magentásoktól).
A kérdésem pedig az lenne, hogy milyen módszerrel lehet/érdemes monitorozni a szerverről a router pppoe kapcsolatát?
Első ötletként ugyanis felmerült bennem az, hogy valamilyen külső szolgáltató segítségével lekérem a külső ip-met (ez még nem bonyolult), ezt elkezdem pingelni adott TTL-el (kiküszöbölendő, hogy egy esetleges pppoe reconnect után téves adatot kapjak). Ha nincs válasz, akkor megszakadt a kapcsolat->külső ip lekérdezés ismét, ping... stb.
Elegánsnak biztosan nem elegáns megoldás, de hirtelen más értelmes opció nem ugrott be.
Ha valakinek esetleg van szebb/jobb megoldása, az remélem, hogy megdob vele.
- 1610 megtekintés
Hozzászólások
Hali!
Nem írtad mire kell, de egy tetszőleges a routered által is ismert vagy a szerveredre felrakott kliense bármelyik általad választott "dyndns" szolgáltatásnak bőven elég lehet.
A réz-optika váltásnak nem feltétlenül _kell_ együtt járnia a hálózatod módosulásával. Amennyiben van most egy jól beállított rendszered, csak annyit kell tenni, hogy amikor beüzemelik az ont-t, nem kell beállítani rajt a felhasználónevet/jelszót. A saját router ugyanúgy "ki tud tárcsázni" az ont-n keresztül és akkor gyakorlatilag egy bridge módba kapcsolt kábelmodemet kapsz optikán.
Üdv:
Feri
- A hozzászóláshoz be kell jelentkezni
Alapvetően nem sok módosulás lesz. Gyakorlatilag a szerver előtti rész cserélődik csak (igazából kis kínaiak is pakolgathatják az ethernet csomagokat a szerver uplink kábelébe, ha ezt elég gyorsan tudják csinálni).
A távlati cél az, hogy egy pfsense is bekerüljön a képbe és ez vegye át a feladatok kb 99%-át, de ez majd talán csak jövő nyáron valósul meg.
A lényeg az, hogy jelenleg a szerver előtti lépésben épül fel a pppoe kapcsolat és erről a szerveren kell tudomást szerezni valahogyan, a topológia viszont jelenleg nem módosítható, így ezt kell tényként kezelni.
- A hozzászóláshoz be kell jelentkezni
Most effektive az erdekel hogy kulso ip-d valtozik-e vagy hogy ppoe kapcsolatod megszakad-e?
Kulso ip-re valami myip lekerdezes lehet legegyszerubb.
Pppoe-re meg talan hogy megnezed mi az elso router ip szolgaltato oldalon (traceroute), ami igy mar pppoe mogott van es azt nezed elerheto-e (szolgaltatonak azok valoszinuleg ritkan valtoznak, ezert olyankor elegendo modositani a monitoringban kezzel szerintem).
- A hozzászóláshoz be kell jelentkezni
Mivel a pppoe megszakadással external ip változás is jár, így a kettő nem elkülöníthető egymástól. Alapvetően a kapcsolat újra felépülésének pillanatát akarom elkapni.
- A hozzászóláshoz be kell jelentkezni
A routert megszólítod SNMP-n, és lekérdezed belőle a téged érdeklő adatokat, pl. az interfész adminisztratív és operatív állapotát, IP címet, PPP peert, gatewayt stb.
- A hozzászóláshoz be kell jelentkezni
Az SNMP hirtelen nem ugrott be, de mint opció, kipróbálom, amint hálózat közelbe jutok.
- A hozzászóláshoz be kell jelentkezni
Én indítanék egy ingyenes Azure website-ot, elé egy Basic auth-t a zaj elkerülése miatt, azt nyitogatnám belülről ütemezetten. A website-ról visszaolvasnám a kliens forrás IP-t, illetve akár ütemezett job-bal figyelném a cím változását és riasztanék is, igény esetén.
Üdv,
Marci
A Microsoftnál dolgozom.
- A hozzászóláshoz be kell jelentkezni
nekem egy ilyen kis script van a routeremen (openwrt), ha változik az ip elküldi az új ip címet e-mailen, cronból fut
#/bin/sh
if [ ! -f ~/.current_ip ]; then
echo "o" > ~/.current_ip
fi
IPADDRESS=$(/sbin/ifconfig pppoe-wan | sed -n 's/.*inet addr:\([^ ]*\).*/\1/p')
LASTIP=`cat ~/.current_ip`;
if [[ ${IPADDRESS} != ${LASTIP} ]]
then
mailsend -domain xxxx.xx -f xxx@xxx.xx -t xx@xxxx.xx -smtp xxxx.xx -port 3333 -sub "Router new IP address is ${IPADDRESS}" -msg-body ~/.current_ip
echo ${IPADDRESS} >|~/.current_ip
fi
- A hozzászóláshoz be kell jelentkezni
Ez jó megoldás lenne, de nem az. Mivel gyári T-s eszközről beszélünk, így azon nem fog semmilyen shell script futni. Ez van, ezzel kell együttélni.
- A hozzászóláshoz be kell jelentkezni
Cron */5 * * * * 5 percenkent megnezed hogy mi az ip-d es egyben teszteled hogy van-e neted: http://ident.me
- A hozzászóláshoz be kell jelentkezni
- 1 perc beállítani
- scriptet is legenerálja
- A hozzászóláshoz be kell jelentkezni
Jó kis számokat látni... :)
Members: 2,777,266
Premium: 3,094
Records: 8,776,410
Zones: 975,209
+1
- A hozzászóláshoz be kell jelentkezni
Ha a router tud UPnP-t, akkor lekerdezheted tole a kovetkezo parancssal (Ubuntun a miniupnpc csomag kell hozza):
upnpc -s | grep ExternalIPAddress | cut -c21-
Sic Transit Gloria Mundi
- A hozzászóláshoz be kell jelentkezni
Home megoldásnak ezt használom hosszú évek óta:
#/bin/sh
while [ 1 ];
do
previpf=/home/luther/previp
ip=`wget -q checkip.dyndns.org -O - | grep -o "[0-9|.]*"`;
previp=`cat $previpf`
if [ $ip != $previp ];
then
…
echo $ip > $previpf
fi
sleep 5;
done
--------------
„If there were no hell, we would be like the animals. No hell, no dignity.”
- A hozzászóláshoz be kell jelentkezni
Az 5 másodpercenkénti futásért a dyndns még nem szólt? Erre ugyanis mint B terv, gondoltam, csak nem akarok belefutni a szabályzatuk apróbetűs részébe.
- A hozzászóláshoz be kell jelentkezni
Nem tapasztaltam ilyen problémát.
--------------
„If there were no hell, we would be like the animals. No hell, no dignity.”
- A hozzászóláshoz be kell jelentkezni
Ezt örömmel hallom. Ha a fentebb írtak nem működnek, akkor ez még jól jöhet.
- A hozzászóláshoz be kell jelentkezni
Ami számomra nem egyértelmű: hol szeretnéd tudni a dolgot? A belső hálózaton vagy a hálózaton kívülről?
Csak az aktuális cím érdekel vagy a kapcsolat elérhetősége is?
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
Belső hálón, és a kapcsolat elérhetősége annyiban érdekel, hogy nem lenne hátrányos reconnect után max 5-10 másodpercen belül ip-t szerezni.
- A hozzászóláshoz be kell jelentkezni
Arra akár jó is, amit fent javasoltam. Persze valószínű, hogy ilyesmi létező szolgáltatásként is elérhető, illetve nem ismerem a DynDNS-szerű szolgáltatások elérhetőségét, reakcióidejét.
Előnye, hogy
-magadat tutti nem fogod kirúgni ha túl sűrű a csomageső a meghívott szolgáltatáson
-megoldhatod az egészet úgy, hogy egyetlen, folyamatosan fenntartott HTTP kapcsolatra épüljön, minimális adatforgalommal.
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
Több megoldást is írtatok, ezek közül az SNMP, UPnP megoldások elegánsak, ha ezeket valamiért nem szeretné a magentás router, akkor még Luther dyndns-es megoldása járható útnak tűnik.
Mindenkinek köszönöm az ötleteket.
- A hozzászóláshoz be kell jelentkezni
Ha a dyndns megomlana ez is egy megoldás:
curl -s "http://v4.ipv6-test.com/api/myip.php"
- A hozzászóláshoz be kell jelentkezni