OpenWrt, 리눅스를 공유기 속으로.

OS/OpenWRT 2016.07.11 23:18 posted by TechNote.kr


 우선 제목에 언급한 OpenWrt 에 대해 간략히 소개하자면 Linux 기반으로 만들어 놓은 Customize된 공유기 firmware이다. 즉, 공유기 회사에서 만든 전용 firmware가 아니고, 외부 개발자들이 Linux를 해당 공유기에서 동작할 수 있도록 리눅스를 기반으로 수정한 firmware인 것이다. 


 


OpenWrt를 쓰는 이유?



 OpenWrt 라는 주제를 가지고 글을 쓰고자 했을 때 여러 모로 고민을 많이 하였다. 


"왜 굳이 잘 동작하는 전용 firmware가 있음에도 외부개발자들이 Linux를 올려서 firmware를 만들었을까."


"과연 OpenWrt를 사용함으로써 얻게 되는 이득이 무엇이길래 만들었을까."


"잘 만들어 놓은 공식 Firmware가 있음에도 무엇때문에 OpenWrt를 사용해야 하는 것일까."


아무리 OpenWrt 홈페이지를 들어가 보고, compile도 해보고, 설치도 해 보았지만 쉽게 답을 구할 수는 없었다. 이에 좀 다른 각도에서 질문을 하면 OpenWrt 사용 이유에 대해 답변을 찾을 수 있을까 해서 OpenWrt를 리눅스로 바꾸어서 다시 한번 질문을 해보았다.


"과연 Linux를 사용함으로써 얻게 되는 이득이 무엇이길래 사람들은 Linux를 사용하는 것일까."


"이미 PC에서는 Windows가 잘 돌아가고 있는데 무엇때문에 Linux를 사용해야 하는 것일까."


정확하게 1:1 matching이 되는 질문들은 아니지만 나름 찾은 정답은 다음과 같다. (개인적인 생각이다.)


 제조사가 만들어 놓은 boundary 를 넘어서는 그 아직은 알 수 없는 혹은 개인별로 다를 수 있는 그 무엇인가를 해볼 수 있는 자유로움을 가지기 위해, 즉, 좀 더 자유로운 환경을 만들기 위해 Linux를 올려놓은 것이 OpenWrt의 목적이자 목표가 아닐까 한다.


OpenWrt의 소개를 보면 나름 내린 결론이 어느 정도는 맞아 보인다.



[하나의 고정된 firmware가 아닌, package들을 선택하고 설정하고, 설치하게 함으로써 공유기 사용에 있어 좀 더 자유롭게 해주는 것이다.]


 OpenWrt를 써야하는 이유에 대해서는 기존의 Linux와 같이(어짜피 OpenWrt도 Linux이지만) 각자의 목적에 맞게 그 당위성을 찾아야 할 것 같다. (재미든, 학술적 목적이든, 신기능의 사용이든)


OpenWrt와 기존 리눅스의 차이점?



사실 OpenWrt 자체가 리눅스 기반이므로 기존 리눅스와의 차이점을 찾는 다는 것 자체가 모순일 지도 모르겠다. 질문을 좀 바꿔보면 OpenWrt와 기존 PC 리눅스와의 차이점 정도가 맞지 않을까 한다.


 그렇다면 그 차이점은 무엇일까? 가장 큰 차이점은 그 대상이 되는 HW의 차이이다. PC 리눅스의 경우 막강한 HW 를 가지고 돌아가기 때문에 왠만한 구동에는 큰 문제가 없는 반면 OpenWrt의 경우 아래의 예와 같이 제한된 HW에서 돌아간다. (사실 OpenWrt를 접하면서 공유기 HW spec이 이렇게 낮은지는 처음 알았다.)



 또 다른 차이점으로는 interface의 차이이다. PC 리눅스의 경우 X window 라는 시스템을 바탕으로 사용자에게 UI를 제공하는 반면 OpenWrt의 경우 luci라는 이름의 자체 web interface를 제공하고 있다. [물론 terminal은 둘다 제공한다.]



결론



 OpenWrt는 제한된 HW에서 돌아가는 Linux이다. 리눅스를 기반으로 하고 있기 때문에 사용자는 원하는 수정을 넣어 볼 수도 있고, 원하지 않는 기능을 빼 볼 수도 있다. 기존 제조사의 제약이 있는 firmware에서 벗어나 사용자가 원하는 것을 해 볼 수 있도록 OpenWrt로 무엇을 해볼 지는 사용자에게 달려있다. 재미삼아 공유기에 리눅스를 올려보고 싶다면, 공유기에 나만의 기능을 넣어보고 싶다면, OpenWrt에 도전해 보자.


저작자 표시 비영리 변경 금지
신고

'OS > OpenWRT' 카테고리의 다른 글

OpenWrt, package 부분 빌드하기.  (0) 2016.07.19
OpenWrt, 전체 기본 Image 만들기  (0) 2016.07.14
OpenWrt, 리눅스를 공유기 속으로.  (0) 2016.07.11