Chciałbym obniżyć wlan0, jeśli kabel Ethernet jest podłączony. Korzystam z systemu Ubuntu - który używa systemd. Dlatego chciałbym to zrobić w sposób przyjazny dla systemu.
Chcę też zrobić coś przeciwnego. Chciałbym UP wlan0, gdy kabel Ethernet jest odłączony.
Pytanie dotyczące tego - czy muszę także zaktualizować tabelę routingu?
systemd
bezpośrednio, są raczej obsługiwane przez tak zwane „usługi menedżera sieci”, takie jakNetworkManager
lubifupdown
, ewentualniesystemd-networkd
, opcjonalna usługa systemd , chociaż ta ostatnia nie jest obecnie wystarczająco zaawansowana, aby śledzić zdarzenia kablowe i dlatego wymaga dodatkowej dedykowanej usługi. Dlatego może możesz określić, którzy menedżerowie sieci są akceptowalni dla twojej konfiguracji?Odpowiedzi:
Klasyczne rozwiązanie:
W systemach opartych na Debianie, takich jak komendy ubuntu oparte na stanie sieci, można z reguły ustawić pod
/etc/network/interfaces
; ta odpowiedź pokazuje przypadek dwóch interfejsóweth0
iwlan0
/etc/network/interfaces
pomocą edytora tekstu (ten plik zawiera reguły i ustawienia dla twoich interfejsów sieciowych, zauważ również, że menedżer sieci nie powinien zarządzać interfejsami wymienionymi w tym pliku)pre-up
ipre-up
) lub (post-down
ipost-up
) zgodnie z potrzebami, aby wyłączyć interfejs wlan0, gdy przewód sieciowy jest podłączony / odłączony, możesz użyćifconfig wlan0 down
lubip link set wlan0 down
(w przykładzie jest używany ifconfig) ... przykład:Systemowe alternatywne rozwiązanie:
Oficjalna dokumentacja tutaj wyjaśnić, co jest obsługiwany przez Systemd a więc bezpośredni proste rozwiązanie jak w klasycznej jeden nie jest zaimplementowany jako od 05/2019
Systemowe alternatywne rozwiązanie:
Można także użyć programu rozsyłającego do uruchomienia skryptu, jak wyjaśniono w tej odpowiedzi , w tym jednym lub w tym artykule
Systemowe alternatywne rozwiązanie:
Jak podałeś w komentarzu, ta odpowiedź może być alternatywnym rozwiązaniem zaimplementowanym z usługą
Związane z:
Cel sieci tu i tutaj może być używany do uruchamiania innych usług w zależności od stanu sieci
źródło
mogą być pomocne: Link Link2 . Skrypt może być jednowierszowy (coś w linii
ip link set yourIface down
) . Tabela routingu powinna aktualizować się automatycznie, chyba że korzystasz z niektórych tras statycznych, więc prawdopodobnie musisz ją zaktualizować.źródło