데비안 - 범위 내에 있으면 자동으로 Wi-Fi에 연결

데비안 - 범위 내에 있으면 자동으로 Wi-Fi에 연결

Lemuntu가 설치된 LeMaker 기타가 있습니다. 내 wpa_supplicant.conf파일은 다음과 같습니다.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
   ssid="MySSID"
   psk="MyPasswd"
}

/etc/network/interfaces파일은 다음과 같습니다.

auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
pre-down killall -q wpa_supplicant

기타의 전원을 켜고 Wi-Fi 라우터가 이미 실행 중이면 Wi-Fi 연결이 제대로 작동합니다. 그런데 기타를 시작하고 라우터 전원을 켜면 연결이 되지 않습니다. 매분마다 실행되는 크론 작업을 만들어 보았 dhclient wlan0으나 성공하지 못했습니다.

그래서 제 질문은 기타를 시작한 후 해당 Wi-Fi가 나타나면 어떻게 해당 Wi-Fi에 자동으로 연결하느냐는 것입니다.

답변1

솔루션: GUI가 없는 네트워크 관리자.

wpa-supplicant, iw및 를 사용하여 6개의 튜토리얼을 시도했습니다 /etc/network/interfaces. 하지만 그들 중 누구도 나를 위해 일하지 않습니다. 아마도 그들이 무엇을 하고 있는지 전혀 설명하지 않았기 때문일 것입니다. 그래서 저는 항상 작동하지 않고, 오류 메시지도 없고, 문제의 원인을 파악할 방법이 없는 상황에 직면합니다.

결국 기본 네트워크 관리자를 설치해 보았습니다. 이는 gnome-network-manager이지만 GUI 구성 요소(-> --no-install-recommends)가 없습니다.

간단히 말해서 해결책은 다음과 같습니다.

sudo apt install --no-install-recommends network-manager
nmcli connection add ifname wlan0 type wifi ssid MySSID
nmcli connection edit wifi-wlan0

구성 파일을 편집할 때 WPA-PSK 및 일반 텍스트 비밀번호를 설정해야 합니다.

nmcli> goto wifi
nmcli 802-11-wireless> set mode infrastructure 
nmcli 802-11-wireless> back 
nmcli> goto wifi-sec 
nmcli 802-11-wireless-security> set key-mgmt wpa-psk 
nmcli 802-11-wireless-security> set psk your-plain-text-password
nmcli 802-11-wireless-security> save 
nmcli 802-11-wireless-security> quit 

다시 시작하고 즐기세요! 네트워크 관리자가 모든 것을 처리해 드립니다!

권한에 대해 불평하는 경우 권장되는 접근 방식은 수정/덮어쓰기인 것 같습니다 /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy.sudo혹시 깨끗한 방법 아시는 분 계시면 알려주세요!

다음은 정말 좋은 가이드입니다. 하지만 독일어로 되어 있습니다.https://wiki.ubuntuusers.de/NetworkManager/NetworkManager_ohne_GUI/

답변2

wlan0다음은 dhcp를 통해 통계를 확인하고 연결하고 IP 주소를 얻는 샘플 스크립트입니다 .

/bin/ip link set wlan0 up
if grep -q 0 /sys/class/net/wlan0/carrier
then
killall wpa_supplicant
/sbin/wpa_supplicant -B -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf  > /dev/null 2>&1
/sbin/dhclient -r
/sbin/dhclient  > /dev/null 2>&1
fi

1분마다 이 스크립트를 실행하는 크론 작업입니다.

* * * * * /path/to/script.sh

편집하다: 연결을 테스트하는 데 사용할 수 있습니다 ping.

/bin/ping -q -c3 8.8.8.8  > /dev/null
if [ $? -ne 0 ]
then
killall wpa_supplicant
/bin/ip link set wlan0 up
/sbin/wpa_supplicant -B -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf  > /dev/null 2>&1
/sbin/dhclient -r
/sbin/dhclient  > /dev/null 2>&1
fi

관련 정보