Jak mogę wyłączyć moje połączenie internetowe z terminala?

14

Opcja połączenia automatycznego jest dozwolona dla mojego przewodowego połączenia przewodowego 1 . Rozłączanie połączenia działa, gdy robię to z menu Sieć> Rozłącz . Ale kiedy robię to z poleceniem:

nmcli con down id "Wired connection 1"

nie wcześniej niż rozłącza się, połączenie jest ponownie włączone.

Jak działa Sieć> Rozłącz ? Czy możemy zrobić to samo nmclibez wyłączania automatycznego połączenia?

Uwaga:

  1. nmcli con down id "Wired connection 1"działa jak przy wyłączonym automatycznym połączeniu (ale znowu nie jest to opcja),
  2. Nie chcę używać sudo(nie byłoby dobrze wdrożyć w skrypcie!).
precyzyjny
źródło
Może to pomoże. To również działało dla mnie. [Tutaj] [1] [1]: askubuntu.com/questions/276822/…
Tak, to jest sposób… ale nie chcę uruchamiać polecenia z podniesionymi uprawnieniami…
dokładnie

Odpowiedzi:

21

Następujące polecenie działa dla mnie jak urok, jeśli chcę wyłączyć dowolne połączenie internetowe z terminala:

nmcli nm enable false

Aby włączyć to ponownie:

nmcli nm enable true

UWAGA: Jak skomentował CPBL , nie działa to już w Ubuntu 15.04 i nowszych. Zamiast tego użyj nmcli networking offi nmcli networking on.


Innym sposobem bardzo zbliżonym do zadania jest użycie:

nmcli dev disconnect iface eth0

Aby ponownie włączyć eth0, musisz wpisać:

nmcli -p con up id "<connection name>" iface eth0

Przykład połączenia o nazwie „Połączenie przewodowe 1”:

nmcli -p con up id "Wired connection 1" iface eth0

Zmień eth0nazwę interfejsu przewodowego. Zapobiegnie to dalszym połączeniom bez interwencji użytkownika / użytkownika, jak man nmcimówi:

disconnect iface <iface> [--nowait] [--timeout <timeout>]
           Disconnect a device and prevent the device from automatically
           activating further connections without user/manual intervention.

           Available options are:
                --nowait     – exit immediately without waiting for
                command completion

                --timeout    – how long to wait for command completion
                (default is 10 s)

Proszę przeczytać man nmcliwięcej informacji.

Radu Rădeanu
źródło
1
nmcli nm enable falseróżni się bardzo od tego, co robi opcja Sieć -> Rozłącz ... ta ostatnia po prostu wyłącza określone połączenie (nie są wymagane podwyższone uprawnienia), ale pierwsza z nich wyłącza sieć !
dokładnie
@ zardzewiały dobrze, wyłączając sieć, masz pewność, że twoje połączenie internetowe jest wyłączone. Jeśli nie o to pytasz, wyjaśnij swoje pytanie.
Radu Rădeanu
Chcę wyłączyć określone połączenie, ale nie samą sieć ...
dokładnie
@ Rusty Pease zobacz moje nowe zmiany.
Radu Rădeanu
.. nmcli dev disconnect iface eth0jest tym; rozłącza aktywne połączenie (powiedz „Połączenie przewodowe 1”) skonfigurowane do korzystania z urządzenia eth0... a następnie mogę użyć nmcli con up id "Wired connection 2"do połączenia z inną konfiguracją .. (przy nmcli nm enable falseczym to zajmie nmcli nm enable true && nmcli con up id "Wired connection 2")
dokładnie