Raspberry Pi 3에 내장된 무선랜(WiFi)를 사용하기 위해 필요한 설정 방법에 대해서 다룹니다.

Raspbian 2018년 6월 27일 버전으로 테스트 완료했습니다.




   1. raspi-config를 사용시 문제점


   2. 커맨드 명령으로 WiFi 연결 설정 및 테스트


   3. 두 장소 이상에서 무선랜(WIFI) 사용하기




최종 업데이트 - 2018. 11. 9




1. raspi-config를 사용시 문제점

최근 라즈비안 버전의  라즈베리파이 설정 도구 raspi-config에 와이파이를 설정할 수 있는 방법이 추가되었습니다.


하지만 실행시켜보면 아래 화면처럼 설정 파일에 평문 패스워드가 입력이 됩니다.


이 방법으로 해도 문제없이 동작은 하지만 보안상 문제가 있을듯 하면 wpa_passphrase 명령을 사용해야 할 듯 보입니다.

pi@raspberrypi:~ $ cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=KR

network={
       ssid="webnautes"
       psk="qwerty2018"
}




wpa_passphrase  명령을 사용하면 평문 패스워드를 암호화서 사용할 수 있게 해줍니다.   자세한 내용은 다음 장을 확인하세요.

pi@raspberrypi:~ $ sudo wpa_passphrase webnautes qwerty2018
network={
       ssid="webnautes"
       #psk="qwerty2018"
       psk=ba9073738f6920d7e2309d0db9ab7a6b525dd1d7de8aa074d09bdfea0b8066c4
}




또한  raspi-config에서 WiFi 국가를 한국으로 변경했다면 다음처럼 문제가 생길 수 있습니다.


pi@raspberrypi:~ $ cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=KR

pi@raspberrypi:~ $ sudo iwlist wlan0 scan
wlan0     Interface doesn't support scanning : Invalid argument

pi@raspberrypi:~ $



디폴트 값으로 되돌리려면 raspi-config에서 Localisation Options  > Change Wi-fi Country > US United States를 선택하면 됩니다.




2. 커맨드 명령으로 WiFi 연결 설정 및 테스트

2-1. iwconfig 명령을 사용하면 라즈베리파이에 연결되어 있는 네트워크 어댑터들을 보여주는데 무선 네트워크 기능이 없으면 no wireless extensions라고 출력됩니다.


리스트 중 wlan0이 Raspberry Pi 3에 내장되어있는 무선랜 어댑터입니다.





2-2. sudo iwlist wlan0 scan 명령을 사용하여 접속 가능한 주변 무선 네트워크(AP, 무선공유기)를 검색합니다.


이미 무선 네트워크의 SSID를 알고 있다면 다음 단계를 진행하세요.


간혹 아래 명령어를 실행시켰는데  wlan0 No scan results라고 나올 수도 있습니다.

이유는 모르겠지만 여러번 다시 실행시켜보다보면 아래와 같은 결과가 나옵니다.




검색 결과에서 다음 2가지를 확인하면 됩니다.

ESSID:”webnautes  → webnautes가 무선 네트워크 이름입니다.  

IE: IEEE 802.11i/WPA2 Version 1   →  무선 네트워크 접속시 WPA2 보안정책을 사용해야 합니다.




2-3. /etc/wpa_supplicant/wpa_supplicant.conf 설정 파일을 수정하여 접속할 무선 네트워크 무선 네트워크 접속시 사용할 보안 정책을 설정할 수 있습니다.


보안 상의 이유로 wpa_supplicant.conf 설정 파일접속할 무선 네트워크의 암호를 직접 입력하지 않습니다.

대신에 wpa_passphrase 명령을 사용하여  접속할 무선 네트워크의 암호에 대한  PSK를 생성하여 입력합니다.



wpa_passphrase 명령은 다음처럼 사용합니다.


$ wpa_passphrase  접속할_무선_네트워크의_SSID  접속할_무선_네트워크의_암호



접속할 무선 네트워크의 SSID가 webnautes이고 접속할 무선 네트워크의 암호가 testpassword 인경우 입니다.

wpa_passphrase 명령을 실행하면 암호 testpassword에 대한 PSK가 생성됩니다. (빨간색 사각형 부분)





2-4. /etc/wpa_supplicant/wpa_supplicant.conf 설정 파일에 위 명령의 결과를 전부 복사해와서 #psk로 시작하는 줄만 삭제합니다.


$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf





다음처럼 설정 파일에 더 적어줘야 하는 옵션들이 있지만 보통 없어도 잘 됩니다.





2-5. Raspberry Pi를 재부팅을 해야 적용됩니다.


랜선을 연결한 상태에서 재부팅하세요.  WiFi 어댑터에 할당된 IP를 확인하고 이후에는 랜선 없이 사용하면 됩니다.


ifconfig 명령을 실행해보면 WiFi 어댑터인 wlan0에 아이피가 할당된 것을 볼 수 있습니다.

이후 사용시에도 같은 아이피를 계속 할당 받기 때문에 적어놓았다가 사용하면 됩니다.





2-6. 이제 랜선은 빼고 전원선만  Raspberry Pi에 연결해서 사용할 수 있습니다.

이때 SSH 접속 아이피로 위에서 확인한 아이피를 사용하면 됩니다.




2-7. 주의할 점은 Raspberry Pi가 스마트폰의 핫스팟을 사용하도록 했다면 Raspberry Pi에 SSH 접속할 컴퓨터도 핫스팟을 사용해야 합니다.


스마트폰의 핫스팟으로 할당받은 아이피는 외부 네트워크에서 접속할 수 없는 아이피이기 때문입니다.



Raspberry Pi와 컴퓨터가 핫스팟을 사용하도록 해주어야




컴퓨터에서 Raspberry PI에서 사용중인 아이피를 사용하여 SSH 접속이 가능합니다.





3. 두 장소 이상에서 무선랜(WIFI) 사용하기

앞에서 무선 네트워크에 접속하기 위한 정보를 /etc/wpa_supplicant/wpa_supplicant.conf에 추가했습니다.  

이번엔 다른 장소에 있는 무선 네트워크에도 접속하여 사용할 수 있도록 설정해보겠습니다.



Raspberry Pi 주변에 두 개의 무선 네트워크가 있는 경우입니다.

webnautes 무선 네트워크는 스마트폰 핫스팟이며 apple 무선 네트워크는 무선 공유기입니다.

webnautes 무선 네트워크는 앞에서 설정에 추가했으므로 이번엔 apple 무선 네트워크를 추가합니다.



3-1. sudo iwlist wlan0 scan 명령을 실행하여 접속가능한 무선 네트워크를 검색합니다.

SSID가 apple이고 WPA2 보안 정책을 사용합니다.





3-2. wpa_passphrase 명령을 사용하여 해당 무선 네트워크 접속시 사용할 PSK를 생성합니다.





3-3. /etc/wpa_supplicant/wpa_supplicant.conf 설정 파일접속할 무선 네트워크의 SSID와 위에서 생성한  PSK를 입력합니다.


priority 옵션을 주면 두 개의 무선 네트워크가 모두 잡힐때, 우선순위를 부여할 수 있습니다.

아래 화면의 경우에는 우선순위가 높은 webnautes 무선 네트워크에 Raspberry Pi가 먼저 접속하게 됩니다.





3-4. 재 부팅 후..  ifconfig 명령을 사용하면 wlan0에 아이피가 할당된 것을 볼 수 있습니다.

랜선을 연결한 상태에서 부팅하여 wlan0에 할당된 아이피를 확인하세요.

이후 부팅시에도 같은 아이피를 계속 할당 받게 됩니다.




3-5. 아래 결과는 우선순위 높은 webnautes 무선 네트워크로부터 아이피를 할당받은 경우입니다.




webnautes 무선 네트워크(스마트폰 핫스팟)에서 SSID 검색을 안되도록 수정하고나서




sudo wpa_cli reconfigure 명령을 사용하여 무선 네트워크로부터 아이피를 가져오게 합니다.




ifconfig 명령을 사용하면 wlan0에 아이피가 할당된 것을 볼 수 있습니다.

아이피를 받아오는데 몇 초정도 걸릴 수 있어서 시간을 두고 ifconfig 명령을 여러번 해봐야 합니다.

SSID가 검색이 안되어 우선순위 높은 webnautes 무선 네트워크로 접속할 수 없어서 apple 무선 네트워크로부터  아이피를 할당 받게 됩니다.





3-6. webnautes 무선 네트워크 설정에 scan_ssid=1을 추가하면 SSID를 숨겨놓아도 접속이 가능해집니다.





다시 sudo wpa_cli reconfigure 명령을 사용하여 무선 네트워크로부터 아이피를 가져오게 합니다.





ifconfig 명령으로 확인해보면 다시 우선순위 높은 webnautes 무선 네트워크(스마트폰 핫스팟)에서 아이피를 할당받게 됩니다.



해봤어요 www.facebook.com/webnautes/

  1. jeny 2017.05.12 11:05 신고

    라즈베리파이에서 wifi를 사용하기 위해선 동글이가 있어야 하지 않나요?

  2. hungry 2018.05.09 03:26 신고

    2개가 다 잡히는 경우가 아니라 하나씩 잡히는데 다른장소(집,학교,카페,도서관등)인 경우는 그떄마다 일일히 ssid와 psk값을 바꿔줘야하나요?
    wpa_supplicant.conf 에다가 자주 접속하는 와이파이의 ssid와 psk를 적어두면 자동으로 해당 와이파이에 접속가능한가요?

  3. Favicon of http://blog.naver.com/cherrychance 제로윈코딩 2018.09.28 21:15 신고

    좋은 자료 감사합니다.~~!!!!!

+ Recent posts

티스토리 툴바