여러 개의 WiFi 네트워크를 설정하는 방법은 무엇입니까?


113

나는 Pi와 함께 집에서 학교로왔다 갔다합니다. 방금 집에서 Wi-Fi를 사용하는 wpa.conf대신 wpa_supplicant.conf사용했던 책이 대신 사용되었습니다. 많이 사용하는 것 같지만 wpa_supplicant왜 그런지 모르겠습니다.

어쨌든, 홈 네트워크에 WiFi IP를 고정시키는 방법을 알고 있지만 학교 WiFi에 자동 연결하기 위해 어떻게 설정하고 해당 네트워크에 다른 고정 IP를 사용합니까?

네트워크를 위해 나는 또 다른를 추가하려면 어떻게해야합니까 network={}내에서 wpa.conf파일? 두 번째 고정 IP의 경우 학교 네트워크에 어떻게 고정합니까?

답변:


106

/etc/wpa_supplicant/wpa_supplicant.conf를 편집 하고 학교 wpa 정보 아래 에 id_str = "school"을 추가 하고 집 wpa 정보 아래에 id_str = "home" 을 추가하십시오. 파일이 이제 다음과 유사하게 나타납니다.

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

network={
    ssid="SCHOOLS NETWORK NAME"
    psk="SCHOOLS PASSWORD"
    id_str="school"
}

network={
    ssid="HOME NETWORK NAME"
    psk="HOME PASSWORD"
    id_str="home"
}

그런 다음 iface school inet staticiface home inet static 으로 / etc / network / interfaces 를 설정 하여 다음과 같이 표시하십시오.

이는 2015-05-05 이전 (및 Jessie) 이전의 Raspbian Wheezy에 적용됩니다. 네트워킹 / WiFi / 고정 IP를 설정하는 방법을 참조하십시오.

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface school inet static
address <school address>
gateway <school gateway>
netmask <school netmask>

iface home inet static
address <home address>
gateway <home gateway>
netmask <home netmask>

참고할 가치가 있습니다. 설명서를 올바르게 이해하면이 방법을 사용하려면 wpa_supplicant.conf 파일의 모든 네트워크에 대해 id_str 속성이 있어야합니다. 그렇지 않으면 이것은 작동하지 않습니다. 확인 할수 있어요?
PICyourBrain

나는 이것이 사실이라고 생각하지 않습니다.

3
그러나이 방법은 효과가 있지만 Pi를 다시 시작하지 않고도 WiFi를 전환 할 수 있습니까?
MetalGodwin

2
id_str지정 하지 않으면 값은입니다 default.
랩터

1
@MetalGodwin wpa_cli여기에 제안 된대로 사용할 수 있습니다 : raspberrypi.org/forums/viewtopic.php?t=179387
iwillnot

34

나는 최근에 모든 무선 구성을 정리하는 콘솔 응용 프로그램을 우연히 발견했습니다. 이 도구를 사용하여 LAN 인터페이스를 구성 할 수도 있습니다.

sudo apt-get install wicd-curses

꽤 많은 다른 패키지를 설치하지만 백그라운드에서 자체 데몬을 실행합니다. 네트워크를 관리하고 원하는 네트워크에 연결해야합니다. 다음과 같이 실행하십시오.

sudo wicd-curses

wicd-curses의 스크린 샷

네트워크가 감지되지 않았다는 메시지가 표시되면 P(자본은 반드시 [SHIFT] p를 사용하고) 무선 인터페이스 필드에 wlan0을 입력하고 F10을 눌러 저장하십시오.

  1. R 목록을 새로 고칩니다.
  2. 키보드의 커서를 사용하여 목록을 위아래로 탐색하십시오.
  3. 무선 연결을 구성하려면 오른쪽을 누르십시오
  4. 몇 번 누르고 "이 네트워크에 자동 연결"을 확인하십시오.
  5. 다시 몇 번 누르고 키 필드에 비밀번호를 입력하십시오.
  6. F10을 눌러 저장
  7. 1부터 시작하여 다른 네트워크에 대해 다시 수행하십시오.

여기에 이미지 설명을 입력하십시오

를 눌러 C액세스 포인트에 연결 해야 할 수도 있습니다 . 케이블을 통해 연결 한 경우 LAN 인터페이스가 종료되고 무선이 켜질 가능성이 높습니다.

또한 연결을 관리하므로 어떤 이유로 든 연결이 끊어지면 구성된 무선 액세스 포인트에 다시 연결되지만 Windows, Macintosh 또는 Linux 데스크톱과 같이 사용 가능한 모든 네트워크에 연결하려고 시도합니다.

그것이 도움이되기를 바랍니다!


2
이 유형의 도구는 내가 찾던 것입니다. GUI가 제공하는 모든 유연성, 대신 터미널. 감사합니다!
FoamyGuy

공감 : 이것을 실행 한 후 두 서브넷의 고급 IP 스캔을 수행했고 Rpi3이 두 서브넷에 모두 표시됩니다. 흥미롭게도, 처음에 이것을 설치하려고 할 때, 나는 이미 최신 버전을 가지고 있다고 나에게 말했다.
SDsolar

약간의 세부 사항 : 추가 범위를 얻으려면 외부 안테나와 함께 wlan1을 사용하고 있으므로 저주로 해당 어댑터를 지정하기 위해 prefs로 이동해야했습니다. wlan0을 종료 할 필요는 없었지만 wcon0 wlan0을 중지하면 sudo로 어쨌든했습니다.
SDsolar

32

Raspbian Jessie릴리스에서는 interface파일 을 편집 할 필요가 없습니다 . wpa_supplicant여러 네트워크로 파일을 업데이트하면 충분합니다. 그 모습은 다음과 같습니다.

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

network={
    ssid="SCHOOLS NETWORK NAME"
    psk="SCHOOLS PASSWORD"
    id_str="school"
}

network={
    ssid="HOME NETWORK NAME"
    psk="HOME PASSWORD"
    id_str="home"
}

이것은 저에게 효과적이며 Wi-Fi는 항상 위 파일에 언급 된 사용 가능한 네트워크 목록에 연결되어 있습니다. 도움이 되길 바랍니다.


23

실제로 우선 순위 옵션을 추가 할 수 있습니다. 이렇게 :

network={
      ssid="open"
      key_mgmt=NONE
      id_str="open"
      priority=3
}

network={
        ssid="secure"
        key_mgmt=WPA-EAP
        proto=WPA2
        group=CCMP
        pairwise=CCMP
        eap=TLS
        ca_cert="/etc/certs/cacert.pem"
        client_cert="/etc/certs/client.pem"
        private_key="/etc/certs/client.key"
        private_key_passwd="somepwd"
        identity="me"
        priority=5
}

network={
        ssid="AndroidAP"
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        psk="SomeP4ssw0rd"
        priority=4
}


network={
        ssid="Spooky"
        key_mgmt=NONE
        group=WEP104
        psk="A4ABC2FC27412D4D23CAEBCA23"
        priority=2
}

network={
        ssid="another"
        key_mgmt=WPA-PSK
        proto=WPA2
        pairwise=CCMP
        group=CCMP
        psk="A very long and secret passphrase here"
        priority=1
}

우선 순위 : 여러 네트워크를 동시에 사용할 수있는 경우 우선 순위 값이 가장 높은 네트워크가 선택됩니다.

id_str : 각 네트워크에 대해이 매개 변수에 특정 값 (문자열)을 제공 할 수 있습니다. 아무 것도 제공하지 않으면 "default"가 텍스트 문자열로 사용됩니다. 이 문자열은 / etc / network / interfaces에서 가상 인터페이스 식별자로 사용됩니다. 이를 통해 각 네트워크에 대한 특정 구성 블록을 만들 수 있습니다. 유일한 요구 사항은 "inet manual"방법을 사용하여 물리적 인터페이스를 갖추는 것입니다 (이것은 필수입니다).


여기서 다시 확인하면 우선 순위가 별표로 묶여 있습니까? 내가 읽은 바에 따르면, 이중 별표로 묶어서는 안되지만 여기서 잘못되었을 수 있습니다.
ericmjl

@ericmjl 그는 코드를 굵게 표시하려고했는데 편집하겠습니다.
Patrick Cook

자동으로 다시 스캔하고 우선 순위가 높은 네트워크가 사용 가능한지 확인하고 전환하는 방법이 있습니까?
Michal

@Michal 그렇습니다. 백그라운드 프로세스를 실행하면됩니다.
les

@les 어떻게 작동합니까? 어떤 명령입니까?
luckydonald
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.