라즈베리파이에 OpenWRT 로 무선 AP 만들기(RaspberryPi 3 B+)
라즈베리파이 활용법중 하나로 이번 시간에는 라즈베리파이 3 B+에 OpenWRT를 올려서 무선 AP를 만들어보는 시간을 같도록 하겠습니다. 생각보다 쉽게 간단하며 라즈베리파이와 리눅스 즉 OpenWRT에 관심이 있다면 꽤 흥미로운 내용이 될꺼 같습니다.
코드도사에서는 지난 포스트에 라즈베리파이 3 B+에 OpenWRT를 올려보는 내용을 기술하였습니다. 여기서 라즈베리파이 3 B+ 모델에 내장되어 있는 WiFi의 동작을 알아보던 중에 몇가지 설정을 바꾸면 훌륭한 무선 AP로 동작하게 됨을 알게 되었습니다.
이 흥미로운 내용을 공유해 보고자 이번 포스팅을 마련하였으니 참고하셨으면 좋겠습니다.
사전 준비
라즈베리파이 3 B+와 이더넷 케이블 1개, USB to Serial 어뎁터는 준비하면 좋을꺼 같습니다.
또한 OpenWRT 소스를 다운로드 받아서 사전에 컴파일을 하기 바랍니다. 관련 내용은 아래 링크를 참고해 주세요.
무선 AP란?
무선 AP를 구성한다고는 했는데 무선 AP의 개념이 궁금하실 수도 있습니다. 그럼 무선 AP의 개념은 무엇일까요? AP는 Access Point의 약자로써 무선 AP는 무선 LAN이 달린 장치에서 인터넷을 사용하기 위해 연결하는 중간 연결 장치를 의미합니다. 쉽게 얘기하면 가정에서 유무선 IP 공유기를 요즘 많이 쓰는데요, 여기서는 유선을 뺀 무선 공유기라고 보면 되겠습니다.
즉, 라즈베리파이로 무선 공유기를 만든다고 보시면 됩니다. 이번 포스트의 내용대로 무선 AP를 구성하면 가정에서 검색되는 기존의 SSID 1개 외에 또다른 SSID가 나타날 수 있습니다. 이 SSID로 무선 인터넷을 마음껏 추가로 즐길 수 있게 됩니다.
예전에 무료로 Fon 무선 공유기를 신청해서 받은 적이 있었습니다. Fon 공유기랑 동일한 기능을 라즈베리파이 3 B+로 만든다고 보면 될꺼 같습니다.
OpenWRT에서 WiFi를 비롯한 네트워크 설정
자 그럼, 사전에 Compile한 OpenWRT의 펌웨어로 라즈베리파이 3 B+에 올려서 무선 AP를 구성해 볼까요? 코드도사에서는 라즈베리파이 3 B+에 OpenWRT를 Compile하여 올려본 과정에 대해 서술해 본적이 있는데요, 이 때 라즈베리파이 3 B+에 내장된 WiFi가 정상적으로 동작하지 않은걸 확인하였었습니다. 하지만 자세히 확인해 보니 WiFi 드라이버 load 문제가 아닌 Wireless 관련 설정 부분이 활성화 안되있는 것을 확인하였습니다.
따라서 몇가지 항목을 수정을 해줄 필요가 있습니다. 먼저 uci 로 아래와 같이 입력해서 값을 확인합니다.
uci get wireless.radio0.disabled
위 명령어를 결과값이 1이 나오네요. 따라서 현재 WiFi는 비활성화 상태라고 볼 수 있습니다.
이 값을 0으로 바꿔주면 WiFi가 활성화 되게 됩니다. 활성화 관련 명령어는 아래를 참고하시기 바랍니다.
uci set wireless.radio0.disabled=0 uci commit /etc/init.d/network restart
uci 항목에 0으로 설정하고 commit 을 한다음 network 스크립트를 재실행 시켜 주면 됩니다. 그럼 아래와 같이 WiFi가 활성화 되는 것을 확인할 수 있습니다.
WiFi가 Bridge 로 이더넷과 연결이 된 것을 확인할 수 있습니다. 라즈베리파이 3 B+의 WiFi는 wlan0 인데요, wlan0도 활성화 되는 것을 확인할 수 있습니다. 그런 다음에 자신의 PC나 모바일로 ‘openwrt’ 라는 ssid가 검색되는지 확인해 보시기 바랍니다. 검색이 되죠?^^ 이제 라즈베리파이는 무선 AP로 동작하게 됩니다. 의외로 간단하군요ㅋ
openwrt로 연결하면 PC나 폰에서 이더넷 케이블을 연결하지 않고 WiFi 만으로 인터넷 사용이 가능합니다.
OpenWRT에서 SSID 수정 및 보안 AP 설정
라즈베리파이로 무선 AP를 만드신 거에 축하드립니다. 이제 여러분은 집에서 또 하나의 WiFi AP를 새로 구축하신 겁니다. 이 후에는 다양한 용도로 활용이 가능할꺼 같습니다.
그런데, 약간 문제가 있군요. SSID가 ‘openwrt’ 이고 보안 설정이 되어 있지 않아 누구나 WiFi 연결이 가능한 상태입니다. 이 상태에서는 활용하기가 약간 꺼려지는군요. 그래서 추가적으로 SSID 변경 및 보안 관련 설정을 해줘야 할 필요가 있습니다.
먼저 SSID를 변경해 보겠습니다. 이때에도 uci 를 사용하여 변경해주면 됩니다.
uci set wireless.default_radio0.ssid=rpi3_ap_wrt uci commit
ssid의 항목에서 기존의 openwrt를 저는 rpi3_ap_wrt 로 변경을 하였습니다. ssid는 본인 취향에 맞게 설정해 주면 됩니다. 그 다음으로는 보안 관련 설정을 해 보도록 하겠습니다. 현재 AP는 누구나 WiFi를 연결할 수 있는 open 상태 입니다. 이걸 WPA2-PSK 방식으로 변경해 보겠습니다.
uci set wireless.default_radio0.encryption=psk2 uci commit
wireless 항목에서 encrytion을 psk2로 변경해주면 됩니다. 마지막으로 보안 키 값을 설정해야 하는데요, 현재 wireless 항목에서 보안 키를 넣는 항목이 빠져있습니다. 따라서 키값 넣은 항목을 별도로 추가를 해야 합니다. 아례 예를 참고하여 넣어주면 됩니다.
uci add wireless default_radio0 uci set wireless.default_radio0.key=test123456 # key 값은 8자 이상 넣을것 uci commit
wireless의 default_radio0에 key 라는 항목을 추가하고 key에다가는 패스워드 key를 넣어줍니다. key값은 8자 이상 넣어야 합니다. 그리고 나서 network 스크립트를 restart해주면 됩니다.
/etc/init.d/network restart
자 이제 다시 WiFi 연결을 시도해 보시기 바랍니다. 현재는 AP가 보안처리가 되어 있죠? 이제 라즈베리파이로 만든 무선 AP를 마음껏 이용하시면 될꺼 같습니다.