Toon posts:

[linux] Interface down als link down?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een laptop met 2 netwerk-interfaces:
- eth0, naar het bedrade netwerk, met ip adres 192.168.1.15/24
- eth1, naar het wireless netwerk, met ip adres 192.168.2.15/24

Er zijn 2 default routes, eentje naar eth0/192.168.1.1, de ander naar eth1/192.168.2.1.

code:
1
2
3
4
5
6
7
8
root@laptop:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0


Tot zover alles prima. Maar, als ik nu m'n laptop oppak, de kabel uit eth0 trek en over wil op het wireless netwerk, blijft eth0 up en dus blijft de route staan. Doe ik handmatig "ifconfig eth0 down", dan gaat alles weer prima. Is het mogelijk om (net als bijvoorbeeld op een Cisco router) de interface automatisch down te laten gaan, zodra de link wegvalt (en liefst ook weer op als hij terugkomt?

Het is natuurlijk mogelijk om een scriptje te schrijven die zodra de melding "eth0: link down" in het log verschijnt de interface down te laten gaan, maar het is netter om zonder te doen, omdat elke paar seconden zo'n scriptje laten runnen best wel wat resources kost.

Ik heb met Google gezocht, op keywords als "ifconfig" "link down" "linux automatic interface down", maar kan niks vinden.

Verwijderd

Het lijkt me een probleem wat niet echt op een "mooie manier" is op te lossen.

Zoals je zelf al schrijft, je hebt twee default routes. Die zin klopt eigenlijk natuurlijk al niet :)

Je verwacht van je systeem dat die voelt wanneer welke van de 2 default routes te gebruiken, terwijl dat eigenlijk een taak is die door netwerkapparatuur (idd router?) gedaan zou moeten worden als het al zou moeten.

Ik heb te weinig achtergrond om een echt zinnig antwoord te kunnen geven, maar ik vermoed dat er geen betere oplossing is dan met cron een simpel scriptje je interface up/down laten brengen. Elke minuut dus.

En elke minuut een scriptje van 2 regels uitvoeren kost weinig hoor. Vooral als de eerste regel een if is die bijna altijd het scriptje al gelijk laat exiten..

Verwijderd

maar ik vermoed dat er geen betere oplossing is dan met cron een simpel scriptje je interface up/down laten brengen. Elke minuut dus.
Als je nooit traffic hebt wel ja. Je zal maar iets aan het downloaden zijn, Plop ! verbinding weg. Die komt wel weer terug maar dan heb je er niets meer aan. Je transfer is dan wel naar de knoppen.

Verwijderd

Verwijderd schreef op 16 August 2003 @ 02:03:
Als je nooit traffic hebt wel ja. Je zal maar iets aan het downloaden zijn, Plop ! verbinding weg. Die komt wel weer terug maar dan heb je er niets meer aan. Je transfer is dan wel naar de knoppen.
Je kunt natuurlijk een slimmer script schrijven (if, then, else).

Daarnaast hangt het af van de applicatie of de sessie/download/... stopt of dat er eerst wordt gewacht op een timeout.

Verwijderd

Topicstarter
Krijg nou wat... vrijwel dezelfde zoekwoorden en die heeft wel resultaat _/-\o_

Als ik niks anders kan vinden dan ga ik dit gebruiken. Maar nu zit ik in de c source van de driver (/usr/src/linux/drivers/net/sis900.c) te kijken en heb net het punt gevonden waar hij detecteert dat de link down is... nu alleen nog kijken of ik vanaf daar ifconfig aan kan roepen ofzo... iemand een idee? (ik heb nog niet gegoogled, maar dat ga ik nu doen ;))

edit:
Ik denk dat ik het toch maar andersom ga doen: ifplugd installeren en bevalt dat niet, dan kan ik altijd nog in de kernel source gaan zitten hacken :)
Bedankt allemaal, hiermee is het dus opgelost

[ Voor 15% gewijzigd door Verwijderd op 16-08-2003 10:40 ]


Verwijderd

Topicstarter
Verwijderd schreef op 16 augustus 2003 @ 01:38:
Zoals je zelf al schrijft, je hebt twee default routes. Die zin klopt eigenlijk natuurlijk al niet :)
Twee default routes zou geen probleem moeten zijn
Je verwacht van je systeem dat die voelt wanneer welke van de 2 default routes te gebruiken, terwijl dat eigenlijk een taak is die door netwerkapparatuur (idd router?) gedaan zou moeten worden als het al zou moeten.
Linux kan prima als router gebruikt worden, dus dat zou geen probleem moeten zijn..

Verwijderd

Verwijderd schreef op 16 August 2003 @ 10:26:
[...]


Krijg nou wat... vrijwel dezelfde zoekwoorden en die heeft wel resultaat _/-\o_
Ik denk dat het verschil zit in het gebruik van automatically i.p.v. het bijvoegelijk naamwoord (automatic kan ook als zelfstandig naamwoord gebruikt worden).

Ik ken de search algoritmes van Google niet, maar precies formuleren en een beetje uitproberen met verschillende frases, kan uitkomst bieden.

  • igmar
  • Registratie: April 2000
  • Laatst online: 20-04 22:06

igmar

ISO20022

Verwijderd schreef op 16 augustus 2003 @ 10:28:
Twee default routes zou geen probleem moeten zijn
Dat is het wel. Het werkt namelijk niet zoals bedoeld.
Linux kan prima als router gebruikt worden, dus dat zou geen probleem moeten zijn..
2 default routes zonder metrics is gewoon niet bruikbaar.

Verwijderd

Topicstarter
igmar schreef op 16 August 2003 @ 13:19:
Dat is het wel. Het werkt namelijk niet zoals bedoeld.
Ik zie niet in waarom het een probleem zou zijn, of niet werkt zoals bedoeld. Vraag: hoe is het volgens jou bedoeld?
Volgens mij wordt er op de volgende manier gerouteerd:
1. Er wordt een route gezocht met een match met de destination.
2. Als dat er meer dan 1 is, wordt degene met de meest nauwkeurige match gepakt (voor destination 192.168.20.1 gaat 192.168.20.0/24 boven 192.168.0.0/16).
3. Zijn dat er nog steeds meer dan 1, gaat de laagste metric voor
4. Zijn dat er nog steeds meer dan 1, pakt hij gewoon de eerste.
2 default routes zonder metrics is gewoon niet bruikbaar.
Ik zou niet weten waarom niet, zie hierboven. Met metrics kan je meer invloed uitoefenen op de routerings-beslissingen, maar ook zonder gaat het prima.

Verwijderd

Een default route is een default route. Er is niet zoiets als default routes; wel static/dynamic routing. Een default route word ook wel een "Gateway of last resort" genoemd. Die laatste benaming legt mischien wat beter uit wat een default route nou daadwerkelijk is. Voor alles wat je wilt routeren, gebruik je static/dynamic routing. Alles wat niet door de static/dynamic routing rules word ge-forward, word automatisch naar de "default route" gestuurd. Eigenlijk is het dus een soortement van fall-back mechanisme voor routering. TCP/IP is er simpelweg niet voor gemaakt om meerdere "default routes" te gebruiken. (Neemt niet weg dat de hedendaagse stack daarme kan omgaan...)

[ Voor 9% gewijzigd door Verwijderd op 17-08-2003 08:46 ]


  • jurri@n
  • Registratie: Maart 2000
  • Laatst online: 10:22
http://freshmeat.net/projects/backroute/

Je zou dit 1x per minuut kunnen laten draaien... als je van werkplek wisseld ben je toch vaak 1 minuut bezig, dus merk je niet dat je verbinding eigelijk even 1 minuut onbereikbaar bent...

Verwijderd

Topicstarter
Verwijderd schreef op 17 August 2003 @ 08:42:
Een default route is een default route. Er is niet zoiets als default routes; wel static/dynamic routing. Een default route word ook wel een "Gateway of last resort" genoemd. Die laatste benaming legt mischien wat beter uit wat een default route nou daadwerkelijk is. Voor alles wat je wilt routeren, gebruik je static/dynamic routing. Alles wat niet door de static/dynamic routing rules word ge-forward, word automatisch naar de "default route" gestuurd. Eigenlijk is het dus een soortement van fall-back mechanisme voor routering. TCP/IP is er simpelweg niet voor gemaakt om meerdere "default routes" te gebruiken. (Neemt niet weg dat de hedendaagse stack daarme kan omgaan...)
IMHO is er niks speciaals aan een default route, het is gewoon een route die toevallig zo weinig specifiek is dat alle pakketjes matchen en het is dus geen enkel probleem om meerdere default routes te hebben. En inderdaad, de stacks kunnen er prima mee omgaan.

Verwijderd

http://slog.dk/~jensen/in...piron_rh9.0.html#wireless

hier wel een leuke hack (onder Setup) :)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 02-05 18:38

deadinspace

The what goes where now?

Als alternatief op ifplugd is laptop-net misschien interessant, dat is een programma dat de link-status van een interface in de gaten houdt, en deze up brengt en configured (static of DHCP) als er een link beat verschijnt, en down doet als de link beat pleite is. Ik gebruik dit op mijn laptop, en het werkt vrij aardig :)

Verwijderd

Topicstarter
Ik heb inmiddels ifplugd geinstalleerd, en na het "action" script (het script wat uitgevoerd wordt als de interface up of down gaat) ietsje aan te passen werkt het prima. Zelfs als ik mijn Accessppoint uit het stopcontact trek heeft hij dat binnen een paar seconden door. Ik moet alleen nog even kijken wat er gebeurt als ik nét binnen bereik van het AP zit, want dan gebeurt het af en toe dat hij z'n bereik eventjes kwijt raakt en het is niet handig als hij dan steeds de interface down brengt.
Pagina: 1