18

The connect automatically option is allowed for my wired Wired connection 1. Disconnecting the connection works when I do it from the panel's Network > Disconnect menu. But when I do that with command:

nmcli con down id "Wired connection 1"

no sooner than it disconnects, the connection is back on.

How does Network > Disconnect work? Could we do the same with nmcli without disabling the automatic connection?

Note:

  1. nmcli con down id "Wired connection 1" works as with automatic connection disabled (but again that's not an option),
  2. I don't want to use sudo (wouldn't be good to implement in a script!).
Zanna
  • 70,465
rusty
  • 16,327

1 Answers1

26

The following command works for me like a charm if I want to disable any internet connection from terminal:

nmcli networking off

To enable it again:

nmcli networking on

Note: As commented by CPBL, this works in Ubuntu 15.04 and later. For older versions try nmcli nm enable false and nmcli nm enable true.


Another way very close to your quest is to use:

nmcli dev disconnect iface eth0

To enable eth0 again you need to type:

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

Example for connection named "Wired connection 1":

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

Change eth0 to your wired interface name. This will prevent any further connections without user/manual intervention as man nmci says:

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)

Please read man nmcli for more info.

Pablo Bianchi
  • 15,657
Radu Rădeanu
  • 169,590
  • 1
    nmcli nm enable false is very different from what Network -> Disconnect option does.. the latter just disables the specified connection (no elevated privileges required), but the former disables networking! – rusty Mar 15 '14 at 16:46
  • @rusty well, by disabling networking, you are sure that your internet connection is disabled. If this is not what you asked, please clarify your question. – Radu Rădeanu Mar 15 '14 at 16:49
  • I'm looking to disable a particular connection but not the network itself.. – rusty Mar 15 '14 at 16:58
  • @rusty Pease see my new edits. – Radu Rădeanu Mar 15 '14 at 17:10
  • ..nmcli dev disconnect iface eth0 is the one; it disconnects the active connection (say "Wired connection 1") configured to use the device eth0.. and following that I can use nmcli con up id "Wired connection 2" to connect with it's another configuration.. (with nmcli nm enable false that would take nmcli nm enable true && nmcli con up id "Wired connection 2") – rusty Mar 15 '14 at 17:26
  • Regarding @Radu's original response, it no longer works in Ubuntu 15.04. Instead nmcli networking off is the new way to shut down all networking until manually restarted, and it does not require sudo. – CPBL Aug 25 '15 at 12:29
  • To get the wired interfaces: ip -o link show | awk -F': ' '{if ($2 ~ /en/) print $2}' – Pablo Bianchi Jun 11 '22 at 05:14