네트워크 관리자 그놈에서 wlan0 및 USB 0을 통한 이중 연결 방지

네트워크 관리자 그놈에서 wlan0 및 USB 0을 통한 이중 연결 방지

TP-Link umts 라우터가 있습니다. 대부분의 경우 WLAN을 통해 연결합니다.

때로는 라우터에 전원이 공급되지 않을 때도 있으므로 USB 케이블을 통해 노트북에 연결합니다. Network-Manager-gnome 이더넷 연결로 다시 연결하되 WLAN 연결을 닫지는 마십시오. 이 작업을 수동으로 수행해야 합니다. 네트워크 인터페이스 USB 0을 연결에 사용할 수 있는지 네트워크 관리자에게 알리고 WLAN 연결도 닫으려면 어떻게 해야 합니까? 스크립트를 통해 이 작업을 수행할 수 있나요 /etc/NetworkManager/dispatcher.d/? 어떻게? 아니면 내 구성에 문제가 있는 것 같습니다.

LANG=C cat /etc/NetworkManager/system-connections/Digiworld 
[connection]
id=Digiworld
uuid=cf380e60-ae56-405e-ba6c-82913b308d14
type=wifi
timestamp=1479637021

[wifi]
ssid=Digiworld
mode=infrastructure
mac-address=20:7C:8F:01:A1:61
security=802-11-wireless-security

[wifi-security]
key-mgmt=wpa-psk
psk-flags=1

[ipv4]
method=auto

[ipv6]
method=ignore
ip6-privacy=0

이더넷 연결에서 conf

LANG=C cat /etc/NetworkManager/system-connections/Kabelgebundene\ Verbindung\ 2 
[ethernet]
duplex=full
mac-address=92:3D:73:D7:5A:62

[connection]
id=Kabelgebundene Verbindung 2
uuid=a8358ccf-6fdb-43ec-bad8-4c406a2d0307
type=ethernet
timestamp=1487757956

[ipv6]
method=auto
ip6-privacy=0

[ipv4]
method=auto

답변1

매뉴얼 nmcli-examples페이지에는 이더넷 연결이 활성화되어 있을 때 Wi-Fi를 비활성화하고 이더넷 연결이 끊어지면 Wi-Fi를 다시 켜는 NetworkManager 스케줄러 스크립트의 예가 있습니다.

#!/bin/bash
export LC_ALL=C

enable_disable_wifi ()
{
    result=$(nmcli dev | grep "ethernet" | grep -w "connected")
    if [ -n "$result" ]; then
        nmcli radio wifi off
    else
        nmcli radio wifi on
    fi
}

if [ "$2" = "up" ]; then
    enable_disable_wifi
fi

if [ "$2" = "down" ]; then
    enable_disable_wifi
fi

매뉴얼 페이지에서:

이 스크립트의 이름을 70-wifi-wired-exclusive.sh로 지정하고 /etc/NetworkManager/dispatcher.d/ 디렉터리에 배치합니다. NetworkManager 스케줄러 스크립트에 대한 자세한 내용은 NetworkManager(8) 매뉴얼 페이지를 참조하십시오.

답변2

방글라데시님 조언 감사드립니다. 그런데 제 경우에는 이더넷 카드가 있어서 조정을 해야 했습니다. 라우터를 분리하면 nmcli에서 완전히 제거되고 장치 노드는 정적이 아니며 Umts 라우터가 모뎀 모드로 전환될 수 있습니다. 이것은 나에게 맞는 것 같습니다 (독일어)

#!/bin/bash
                 enable_disable_wifi ()
       {
            result=$(nmcli device | grep "usb0")
            if [ -n "$result" ]; then
                 nmcli radio wifi off
            else
                 nmcli radio wifi on
            fi
       }

       if [ "$2" != "usb0" ]; then
            enable_disable_wifi
       fi

       if [ "$2" = "usb0" ]; then
       enable_disable_wifi
       fi

아마 엉성할 겁니다. 그리고 스크립트에는 접미사 sh가 없습니다. 작동하지 않습니다

관련 정보