Forum » Operacijski sistemi » [Linux]Zagon skripte pri priklopu LAN kabla
[Linux]Zagon skripte pri priklopu LAN kabla
![](https://static.slo-tech.com/stili/avatar_gray.gif)
MrStein ::
Živjo!
Pozna kdo mehanizem, ki požene skripto (recimo ifup) ko se vtakne LAN kabel v priključek računalnika?
To ima vsaka distribucija, iščem komponento/mehanizem, ki to dejansko implementira.
Lp,
David
Pozna kdo mehanizem, ki požene skripto (recimo ifup) ko se vtakne LAN kabel v priključek računalnika?
To ima vsaka distribucija, iščem komponento/mehanizem, ki to dejansko implementira.
Lp,
David
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
![](https://static.slo-tech.com/stili/avatar_gray.gif)
AndrejO ::
Preveč odvisno od distribucije in programja, ki obdeluje sporočila strojne opreme, da se bi dalo povedati splošno rešitev.
V drobovju to deluje tako, da imaš proces, ki odpre netlink povezavo in na njej sprejema sporočila. Eno izmed teh sporočil je tudi NEWLINK, ki ti sporoči stanje vmesnika.
Za primer katera vse sporočila se na vmesnikih pojavljajo lahko narediš enostaven eksperiment:
Terminal #1:
Terminal #2:
Kar se zgodi je, da na terminalu #1 dobiš tri sporočila:
Po vrsti gredo:
- 'there' je šel v "administrative up"
- 'there' je našel "povezavo"
- 'here' je našel "povezavo"
V obratni smeri, če povezavo "odklopiš" nato enako v nasprotno smer.
Na koncu samo še počisti:
Fedora in Ubuntu sta se nekako standardizirala na NetworkManager, ki ta sporočila posreduje naprej preko D-Bus vmesnika.
V katero smer te od tukaj naprej zanima bolj v podrobnosti.
V drobovju to deluje tako, da imaš proces, ki odpre netlink povezavo in na njej sprejema sporočila. Eno izmed teh sporočil je tudi NEWLINK, ki ti sporoči stanje vmesnika.
Za primer katera vse sporočila se na vmesnikih pojavljajo lahko narediš enostaven eksperiment:
Terminal #1:
ip link add here type veth peer name there ip link set here up ip monitor link
Terminal #2:
ip link set there up
Kar se zgodi je, da na terminalu #1 dobiš tri sporočila:
5: there: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN link/ether c6:c1:e7:8c:a1:37 brd ff:ff:ff:ff:ff:ff 5: there: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP link/ether c6:c1:e7:8c:a1:37 brd ff:ff:ff:ff:ff:ff 6: here: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP link/ether b6:33:a7:65:98:c9 brd ff:ff:ff:ff:ff:ff
Po vrsti gredo:
- 'there' je šel v "administrative up"
- 'there' je našel "povezavo"
- 'here' je našel "povezavo"
V obratni smeri, če povezavo "odklopiš" nato enako v nasprotno smer.
Na koncu samo še počisti:
ip link del here
Fedora in Ubuntu sta se nekako standardizirala na NetworkManager, ki ta sporočila posreduje naprej preko D-Bus vmesnika.
V katero smer te od tukaj naprej zanima bolj v podrobnosti.
Zgodovina sprememb…
- spremenil: AndrejO ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
MrStein ::
Zanima me za OpenWRT.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
![](https://static.slo-tech.com/stili/avatar_gray.gif)
AndrejO ::
netifd. Verjetno boš za začetek pogledal design guide.
Zadeva je namenska za OpenWRT, ker so ostale rešitve preveč požrešne. Čisto do konca zadeve ne poznam in morda se je v zadnjem času tudi že kaj spremenilo. V osnovi pa imaš tri komponente, ki sodelujejo:
ubusd: RPC strežnik preko katerega poteka vsa komunikacija.
netifd: posluša za dogodke iz jedra, posreduje ukaze jedru (netlink).
odjmalci, ki pošiljajo zahteve preko ubusd "vodila" ali pa čakajo na dogodke preko tega vodila.
netifd torej prejme dogodek iz jedra, ta dogodek objavi preko ubusd vodila, na drugi strani pa mora odjemalec poslušati za te dogodke.
Kolikor vem OpenWRT nima prevzetega odjemalca, ki bi zaganjal skripto, ko dobiš DEV_EVENT_LINK_UP/DEV_EVENT_LINK_DOWN. Ne bi pa smela biti težava takšno skripto spisati. Poglej si primere.
Zadeva je namenska za OpenWRT, ker so ostale rešitve preveč požrešne. Čisto do konca zadeve ne poznam in morda se je v zadnjem času tudi že kaj spremenilo. V osnovi pa imaš tri komponente, ki sodelujejo:
ubusd: RPC strežnik preko katerega poteka vsa komunikacija.
netifd: posluša za dogodke iz jedra, posreduje ukaze jedru (netlink).
odjmalci, ki pošiljajo zahteve preko ubusd "vodila" ali pa čakajo na dogodke preko tega vodila.
netifd torej prejme dogodek iz jedra, ta dogodek objavi preko ubusd vodila, na drugi strani pa mora odjemalec poslušati za te dogodke.
Kolikor vem OpenWRT nima prevzetega odjemalca, ki bi zaganjal skripto, ko dobiš DEV_EVENT_LINK_UP/DEV_EVENT_LINK_DOWN. Ne bi pa smela biti težava takšno skripto spisati. Poglej si primere.
![](https://static.slo-tech.com/stili/avatar_gray.gif)
MrStein ::
Zgleda obetavno, hvala!
ifplugd so še omenili na IRC-u
ifplugd so še omenili na IRC-u
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Zgodovina sprememb…
- spremenil: MrStein ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [PHP+ArchLinux]zajem podatkov o mreznih vmesnikihOddelek: Programiranje | 1833 (1617) | KernelPanic |
» | router asus WL550ge, ARP tabela in WOLOddelek: Omrežja in internet | 1762 (1616) | mNeRo |
» | Kako v linuxu naštimat dva IP naslova na eni mrežni karticikartici?Oddelek: Operacijski sistemi | 1294 (1203) | Bakunin |
» | ebtables+linux+brctl+siol-tvOddelek: Omrežja in internet | 2387 (2239) | korenje_ver2 |
» | mac spoofingOddelek: Pomoč in nasveti | 1665 (1401) | Suhy |