ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Raspberry Pi 3 에서 무선랜(WiFi) 설정하는 방법
    Raspberry Pi/WiFi 2019.08.29 18:39




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





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


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


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




    최초작성 2016. 4. 13

    최종작성 2019. 8. 29


    Raspbian 2019년 7월 10일 버전으로 테스트 완료했습니다.




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

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

    하지만 다음처럼 패스워드가 psk 항목에  평문으로 파일에 저장되는 문제가 있습니다. 


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

    network={
            ssid="G5_5135"
            psk="qwerty2019"
    }



    평문으로 저장되어도 보안에 문제가 없다면 1-1부터 따라하시고 

    보안이 염려된다면 2장부터 보세요. 




    1-1. sudo raspi-config를 입력하여 raspi-config를 실행합니다. 



    1-2. Network Options를 선택합니다.





    1-3. Wi-fi를 선택합니다. 

     




    1-4. US를 선택합니다. KR을 선택하면 와이파이 사용에 문제가 있습니다. 




    1-5. 와이파이 사용하는 나라로 US가 지정되었습니다. 엔터를 누릅니다. 





    1-6. 라즈베리파이가 사용할 공유기의 SSID를 입력합니다. 





    1-7. 패스워드를 입력합니다. 





    1-8. Finish 버튼을 클릭합니다. 





    1-9. iwconfig 명령을 사용하면 지정한 공유기에 접속한 것을 볼 수 있습니다. 





    1-10. 다음 파일에서 설정 내용을 볼 수 있습니다.


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

    network={
            ssid="G5_5135"
            psk="qwerty2019"
    }




    1-11. iwconfig 명령으로 라즈베리파이가 IP를 할당받은 공유기를 확인할 수 있습니다. 


    pi@raspberrypi:~ $ iwconfig
    eth0      no wireless extensions.

    lo        no wireless extensions.

    wlan0     IEEE 802.11  ESSID:"G5_5135"
              Mode:Managed  Frequency:2.412 GHz  Access Point: D0:19:FD:5B:27:FE
              Bit Rate=72.2 Mb/s   Tx-Power=31 dBm
              Retry short limit:7   RTS thr:off Fragment thr:off
              Power Management:on
              Link Quality=70/70  Signal level=-25 dBm
              Rx invalid nwid:0  Rx invalid crypt:0 Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0 Missed beacon:0



    ifconfig 명령으로 할당 받은 IP를 확인할 수 있습니다.  


    pi@raspberrypi:~ $ ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.25.4  netmask 255.255.255.0  broadcast 192.168.25.255
            inet6 fe80::de1a:1dcf:e777:3835  prefixlen 64 scopeid 0x20<link>
            ether b8:27:eb:70:50:cc  txqueuelen 1000 (Ethernet)
            RX packets 1985  bytes 239439 (233.8 KiB)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 1312  bytes 171281 (167.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.43.142  netmask 255.255.255.0  broadcast 192.168.43.255
            inet6 fe80::66e4:4e94:7cff:a212  prefixlen 64 scopeid 0x20<link>
            ether b8:27:eb:25:05:99  txqueuelen 1000 (Ethernet)
            RX packets 9  bytes 1547 (1.5 KiB)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 77  bytes 12793 (12.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0



    IP를 받아오지 못한다면 랜선을 연결한 상태에서 재부팅하여 WiFi 어댑터에 할당된 IP를 확인하세요



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

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


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




    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. 다음 명령을 사용하면 라즈베리파이의 와이파이 어댑터에서 IP를 할당받게 됩니다. 


    pi@raspberrypi:~ $ sudo /etc/init.d/networking restart
    [ ok ] Restarting networking (via systemctl): networking.service.



    iwconfig 명령으로 라즈베리파이가 IP를 할당받은 공유기를 확인할 수 있습니다. 


    pi@raspberrypi:~ $ iwconfig
    eth0      no wireless extensions.

    lo        no wireless extensions.

    wlan0     IEEE 802.11  ESSID:"G5_5135"
              Mode:Managed  Frequency:2.412 GHz  Access Point: D0:19:FD:5B:27:FE
              Bit Rate=72.2 Mb/s   Tx-Power=31 dBm
              Retry short limit:7   RTS thr:off Fragment thr:off
              Power Management:on
              Link Quality=70/70  Signal level=-25 dBm
              Rx invalid nwid:0  Rx invalid crypt:0 Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0 Missed beacon:0



    ifconfig 명령으로 할당 받은 IP를 확인할 수 있습니다.  


    pi@raspberrypi:~ $ ifconfig
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.25.4  netmask 255.255.255.0  broadcast 192.168.25.255
            inet6 fe80::de1a:1dcf:e777:3835  prefixlen 64 scopeid 0x20<link>
            ether b8:27:eb:70:50:cc  txqueuelen 1000 (Ethernet)
            RX packets 1985  bytes 239439 (233.8 KiB)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 1312  bytes 171281 (167.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop txqueuelen 1000  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0

    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.43.142  netmask 255.255.255.0  broadcast 192.168.43.255
            inet6 fe80::66e4:4e94:7cff:a212  prefixlen 64 scopeid 0x20<link>
            ether b8:27:eb:25:05:99  txqueuelen 1000 (Ethernet)
            RX packets 9  bytes 1547 (1.5 KiB)
            RX errors 0  dropped 0 overruns 0  frame 0
            TX packets 77  bytes 12793 (12.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0 collisions 0



    IP를 받아오지 못한다면 랜선을 연결한 상태에서 재부팅하여 WiFi 어댑터에 할당된 IP를 확인하세요



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

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


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




    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 무선 네트워크(스마트폰 핫스팟)에서 아이피를 할당받게 됩니다.






    포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
    댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

    여러분의 응원으로 좋은 컨텐츠가 만들어집니다. 지금 본 내용이 도움이 되었다면 후원 또는 유튜브 구독 부탁드립니다. 감사합니다 : )

    유튜브 구 독 하 기
    후 원 하 기


    댓글 35

    • jeny 2017.05.12 11:05


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

    • hungry 2018.05.09 03:26


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

    • Favicon of http://blog.naver.com/cherrychance BlogIcon 제로윈코딩 2018.09.28 21:15


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

    • 정보 감사합니다 2018.11.19 19:32


      그대로 따라했는데 안되는 이유는 뭘까요>??ㅠㅠ
      여쭤볼께있는데
      만약에 wifi에 비번설정 (Encryption key : off)시에는 어떻게 연결하나요??

      • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.11.19 19:47 신고


        노트북과 라즈베리파이가 같은 공유기에 연결되어 있고 공유기 설정을 변경할 수 있다면 공유기의 와이파이 설정에서 패스워드를 위해 WPA2를 사용하도록 바꾸어 보세요.

    • Favicon of https://yoon.site BlogIcon yoon 2019.02.20 11:45


      정말 감사합니다! 자꾸 wlan0 interface dosen't support scanning 에러가 떳는데, 와이파이 나라 설정을 우리나라로 해서 그런거였군요 흑흑...
      감사합니다!

    • hyok 2019.04.03 22:00


      안녕하세요 블로그잘봤습니다.
      그대로 따라했는데 안되서 댓글남겨봅니다..

      안드로이드 핫스팟으로 바로옆에서 노트북은 접속되는데
      라즈베리에서는 접속이 안되네요..
      좀더 정확히는 ip를 받아오지 못합니다..

      scan시 핫스팟 ssid 검색되고,
      iwconfig 시 wlan0 활성화되어있구요..
      wpa_supplicant.conf 에 ssid 랑 psk 넣었고..
      (혹시몰라 비번평문 자체를 넣어봐도 동일)

      재부팅, 전원다시접속, 등등해봐도
      ifconfig 시 wlan0 에 inet ip는 할당되지 않았습니다..

      혹시 wpa_cli 가 관련있나요? list-netwotks 하니
      wlan0 가 아니라 p2p-dev-wlan0 라고 나오던데..

      raspi config 에서 locale 은 GB,
      wifi property 에도 GB 로 되어있어서 us로 바꿔봤지만
      달라진건 없었습니다..

      도움좀부탁드립니다~

      • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.04.03 23:34 신고


        ifconfig로 확인시 wlan0이 없다면
        $ sudo ifconfig wlan0 up


        다음처럼 아이피를 할당받은 후
        $ sudo wpa_cli reconfigure
        Selected interface 'p2p-dev-wlan0'
        OK

        ifconfig 명령으로 아이피가 할당되었는지 확인 해보세요..

    • hyok 2019.04.04 15:21


      말씀해주신대로 해봐도 여전히 ifconfig 상 inet ip 는 할당되지 않고 있습니다.
      ifconfig 시
      wlan0 가 없는건 아니고 eth0, lo, wlan0 3가지는 나오는데
      lo 만 inet 127.0.0.1 로 루프백 할당되어있고
      eth0 와 wlan0 은 inet 부분이 아예 없네요..
      wlan0 에 <UP, BROADCAST, MULTICAST> 로 나오는거 봐서 UP 되어있는거 같긴한데..

      /etc/network/interface 부분에 내용은 아무것도 없던데 이건 상관없는 건가요?
      구글링하다보니 이부분에 추가하는 것들도 있어서 해봤지만 안되는건 똑같아서..

    • hyok 2019.04.04 20:23


      해결된건 아니지만..
      안드로이드 핫스팟은 여전히 IP를 받아오지 못하는데,
      노트북의 핫스팟은 라즈베리파이에서 IP를 받아오는 걸 확인했습니다.
      안드로이드 USB테더링도 잘 되구요..

      무선어댑터 신호세기가 문제인건지..
      일단 넘어가야겠네요.. 감사합니다.

    • Doohan 2019.04.11 01:24


      안녕하세요. 운영자님
      위와같이 따라하다가 막히는 부분이있어 문의 남겨봅니다

      모든것을따라하다가 2-5 부분에서 ifconfig를 친후

      위의 사진내용에서
      2째줄 부터 3째줄까지 내용이 없습니다
      ip 할당받아야 부분이 되지 않습니다.

      재부팅도해보고 다시입력을 해보고 하여도 할당이 되지않네요.
      Eth0,lo 둘은 ip가 있습니다.
      혹시 어떤것을 더해봐야할지 알수있을지 알려주시면 정말 감사하겠습니다.

    • 2019.04.14 20:34


      비밀댓글입니다

    • 안녕하새요 2019.04.28 06:55


      포스팅잘봣습니다
      2-5번에서 랜선을연결한 상태에서 재부팅은무슨말인지 이해가 잘 안됩니다
      이미랜선은 공유기에 연결되잇는상태이고. 라즈베리에는 랜선이없는상태일텐데...
      그래서저는 공유기에꽃고 파이에는 랜선없는상태에서 진행햇는데 리부트하고 ifconfig햇는데여전히 ip가안뜨네요. 어떻게해야할까요?

    • jim 2019.04.30 14:27


      야주 간단한 건데 이제 리눅스를 입문해서 잘 몰라서 질문해봅니다.
      psk를 알아내고 나서 복사를 해 붙혀넣는다고 하셨는데 그걸 어떻게 하는지 모르겠습니다.
      자세하게 설명 해주시면 감사하겠습니다

      • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.04.30 14:29 신고


        글에 나온 순서대로 명령을 입력하면 됩니다.

        하다가 막히는 부분이 있으면 댓들로 남겨주세요

      • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.04.30 14:30 신고


        대부분의 터미널에서 마우스 커서로 드래그 후 마우스 오른쪽 버튼을 누르면 복사가 됩니다. 원하는 곳에서 마우스 오른쪽 버튼을 누르면 븥여넣기가 됩니다.

      • jim 2019.05.03 14:45


        라즈비안 라이트에서는 복사 하는 방법이 없나요?

      • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.03 16:06 신고


        SSH 터미널을 사용하여 하는 거라서
        라이트 여부와는 상관없습니다.

        MobaXterm을 사용해보세요..
        https://mobaxterm.mobatek.net/download.html

        사용방법은 다음 포스트의 5번을 참고하세요.
        https://webnautes.tistory.com/899


        터미널에서 마우스로 드래그후 마우스 오른쪽 버튼 눌러 보이는 메뉴에서 copy선택하여 복사하고

        원하는 곳에서 마우스 오른쪽 버튼 누르고 Paste를 선택하여 붙여넣기 하세요.

    • jim 2019.05.10 14:49


      라즈베리파이에 와이파이는 연결했는데 라즈베리파이에 연결된 와이파이 아이피가 172.30.1.60이고 컴퓨터에 연결된 인터넷은 192.168.0.8 으로 떠서 그대로 angry ip에 검색을 해도 라즈베리파이의 ip주소는 나오지 않고 mobaxterm에서도 라즈베리의 ip가 나오지 않습니다
      이건 어떻게 해결해야 할까요

    • peter 2019.05.17 23:37


      안녕하세요 올려주시는 글 보면서 계속 opencv 쪽 공부하고 있는 학생입니다. 제가 다른 장소에서 라즈베리파이를 하게 되었는데, 그곳에 있는 와이파이 보안 종류가 개방형이었습니다. 라즈베리파이를 통해서 와이파이 목록을 보니 해당 와이파이가 없더군요. 국가도 GB로 설정해 놓았는데, 아예 목록에 나타나지를 않네요 ㅠㅠ

    • JUN 2019.06.22 13:10


      학교에서 와이파이로 잘사용하다 집에와서 연결할려는데

      와이파이가 뜨긴하는데 비밀번호 넣고 눌러도 연결이 안됩니다.

      셋팅은 바꿔줘야하는 부분이 있나요 ?

Designed by Tistory.