이더넷 연결시에만 핫스팟으로 자동 연결 설정


8

저는 현재 매일 다음 두 가지 설정을 전환합니다.

1) WiFi 네트워크를 통해 인터넷에 연결되어 있습니다.

2) 내 (Ubuntu 16.04) 랩톱을 유선 연결을 통해 인터넷에 연결 한 다음 Ubuntu의 내장 핫스팟 기능을 통해 다른 장치와이 연결을 공유합니다.

현재 1에서 2로 전환하려면 네트워크 관리자에서 "숨겨진 네트워크에 연결"대화 상자를 수동으로 거쳐야합니다. 마찬가지로 2에서 1로 전환하려면 핫스팟에서 수동으로 연결을 끊고 WiFi 네트워크에 연결해야합니다. 많은 일이 아니지만 자동화하기를 원할 때마다 자주합니다.

핫스팟에 자동 연결을 활성화하는 것만 큼 간단하지는 않습니다. 왜냐하면 유선 연결을 통해 연결되어 있지 않을 때 WiFi 네트워크에 연결하는 대신 다른 네트워크의 자동 연결 기능을 무시하기 때문에 핫스팟으로 끝나지만 인터넷이 없습니다. 따라서 다음과 같은 솔루션이 필요합니다.

  • 유선 연결을 통해 인터넷에 연결될 때마다 핫스팟에 연결합니다.
  • 이더넷 연결이 없을 때 핫스팟에서 나를 연결 해제합니다.
  • 사용 가능하고 이더넷 연결이 없을 때마다 autoconnect = true로 네트워크 중 하나에 나를 자동 연결합니다.

이 작업을 수행하는 방법에 대한 자세한 설명은 훌륭하지만 이러한 종류의 규칙을 설정하는 좋은 (전문가가 아닌) 매뉴얼에 대한 참조도 대단히 감사하겠습니다.


1
당신이하는 일을 100 % 확신하지 못합니다. 네트워크 관리자를 사용하는 것 같습니다. 따라서 매뉴얼을 제공하기가 어렵습니다. 내가 들여다 것 post-up/etc/network/interfaces상황에 맞는 훌륭한 개요가 여기가 . post-up기본적으로 인터페이스가 나타난 후 명령 또는 스크립트 만 호출합니다.
Robert Riedl

시작하기 좋은 곳인 것 같습니다. 감사합니다.
Bib-lost

답변:


2

Wi-Fi 연결을 능가하는 이더넷 케이블을 연결하면 Wi-Fi 연결이 자동으로 끊어진다는 것을 이해합니다. 비슷한 방식으로 이더넷 케이블 연결을 끊으면 원하는 Wi-Fi에 자동으로 연결됩니다 (물론 네트워크 관리자의 일반 탭에서 해당 Wifi 네트워크에 자동으로 연결하도록 확인란을 선택했으면 우분투 16.04.3의 기본 설치에서 테스트 됨)

따라서 올바르게 이해하고 있다면 이더넷 케이블이 연결되어있을 때 랩톱에서 핫스팟 서비스를 자동으로 시작하고 이더넷 케이블 연결이 끊어지면 서비스를 사용하지 않으려 고합니다.

이것은 bash 스크립트로 수행하는 것이 매우 간단해야하며 nmcli'nmcli'는 강력한 네트워크 nig 도구로 원하는대로 연결을 올리고 내릴 수 있으며 수많은 관련 정보를 얻을 수 있습니다.

nmcli -t monitor| grep primaryWi-Fi를 통해 연결하고 이더넷 케이블을 꽂으면 간단히 실행 되는 스크립팅 할 연결을 찾을 수 있습니다 . 당신이 데리고와 아래 관심있는 연결 nmcli들에 의해 둘러싸여됩니다 '예 : '유선 연결 한'논리 '연결'는 핫스팟을 가지고 연결되어있을 때 (당신이 필요한 명령을 사용하여 찾을 수 있다는 것입니다 sleep또는 활용 -w스위치를 만들려면 nmcli다음을 실행하기 전에 완료하는 명령에 대한 지정된 시간 (초)에 대한 스크립트 대기에.

연결을 해제하는 것은 간단하고 연결을 해제 nmcli 'connection name' down하는 것은nmcli 'connection name' up

참고 : 스크립트를 통한 완전한 제어를 위해서는 네트워크 관리자에서 Wi-Fi 연결에 대해 자동 연결 옵션을 실제로 비활성화해야합니다. 발췌 man nmcli:

There may be multiple connections that apply
       to a device, but only one of them can be active on that device at any
       given time. The additional connections can be used to allow quick
       switching between different networks and configurations.

따라서 이더넷이 연결되었다고 판단되면 명령을 실행하여 Wi-Fi 연결을 끊으십시오 ( 예 : nmcli connection my-wifi down 핫스팟 연결) . nmcli connection my-hotspot up

네트워크 연결을 기반으로 스크립트를 자동으로 실행하는 방법에 대한 자세한 내용은 다음을 참조 하십시오. 'nmcli'에 대한 자세한 내용은 매뉴얼 페이지를 확인 하십시오. 핫스팟만드는 방법에 대한 정보는 다음과 같습니다 .


Wiki 레퍼런스에 감사드립니다. 파워 유저가 아니기 때문에 맨 페이지보다 쉽게 ​​시작할 수 있습니다. 당신은 게시 유지합니다
Bib-lost

지금까지는 좋지만 자동 연결 비활성화 부분에 완전히 만족하지는 않습니다. nmcli에 대한 매뉴얼 페이지를 살펴보고 있지만 이더넷 케이블을 뽑을 때 '자동 연결 가능한 네트워크 검색'명령이 있습니까?
Bib-lost

@ Bib-lost 내 테스트에 따르면 무선 케이블을 자동 연결 가능 상태로두면 이더넷 케이블이 연결되어있을 때 무선 연결 상태를 유지하고 수동으로 연결을 끊으면 자동으로 다시 연결됩니다. 결과가 내 것과 다릅니 까?
Geek

이더넷 케이블을 꽂을 때 스크립트를 실행할 수는 없었지만 (위키의 단계를 따랐음에도 불구하고) 연결에서 수동으로 연결을 끊을 경우 (콘솔에서 자동 연결 가능하더라도) ) 다시 연결되지 않습니다.
Bib-lost

@ Bib-lost Interesting .. 추가 테스트를해야합니다. 네트워크 관리자에서 Wi-Fi가 자동 연결로 설정되어 있고 nmcli connection my-wifi down다시 연결되지 않는 상태에서 WiFi를 끄면
Geek

1

나를 위해 해낸 해결책 (Geek 장로의 도움으로 발견).

나는 자동 연결을 유지 내가 자동으로 연결하려는 모든 네트워크에 대한,하지만 오프 핫 스팟합니다. 그런 다음 폴더에 다음 스크립트 ( 이 Wiki 페이지 에 설명 된 올바른 권한으로)를 넣습니다./etc/NetworkManager/dispatcher.d

!/bin/bash

interf=$1
state=$2

if [ $interf = "my-ethernet-device" -a $state = "up" ]; then
    nmcli connection up 'my-hotspot'
fi

if [ $interf = "my-ethernet-device" -a $state = "down" ]; then
    nmcli connection down 'my-hotspot'
fi

이것은 지금까지 매우 잘 작동합니다. 이더넷 케이블을 꽂거나 이더넷 케이블을 꽂아 컴퓨터를 부팅하거나 깨울 때마다 핫스팟에 자동 연결. 이더넷 케이블을 뽑을 때마다 핫스팟에서 자동으로 분리 한 다음 사용 가능한 WiFi 네트워크에 자동으로 연결합니다.


정렬하여 내 대답이 유용하다는 것을 알게되어 기쁩니다! 건배! 새로운 회원으로서 당신은 이것을
Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.