OpenWRT
on
새로 마주치는 프로젝트나 용어가 참 많은 세상이다. 똑똑한 사람들이 이렇게나 세상에 많은 것이지 한다.
OpenWRT는 뭐하는 것이냐? 쉽게 말해 무선 라우터용 linux OS라고 보면 될 것 같다. 기존의 무선 라우터 하드웨어들을 많이 지원하고 있고 라스베리파이 같은 것들도 지원을 한다.
그러면 장점이 뭐냐? (주장하는 바에 따르면) 안전하다고 한다. 기본적인 무선 라우터 기능을 지원함과 동시에 Linux를 내 맘대로 쓸 수 있으니까 기존의 무선 라우터를 벤더가 설정해놓은 무선 라우터 기능만 쓰는 게 아니라 남아도는 CPU load를 내가 원하는 대로 사용할 수 있게 해준다.
물론 linux를 잘 쓸 줄 알면 좋지만 잘 몰라도 이런 저런 도움을 받아서 작업하면 배우는 것도 많고 좋은 점도 있다. 기존의 라우터에서 제한된 기능들이 여기서는 완전히 무제한으로 풀려있기 때문에 정말로 다양한 방법으로 활용할 수 있다.
이런 일을 하는 것에 대한 장점과 단점은 명확하다.
1) 장점
- 제조업체가 제한해놓은 기능들을 내맘대로 확장해서 쓸 수 있다.
- 쓸데없는 장치들로 집안이 너저분해지는 일을 최대한 줄일 수 있다.
2) 단점
- 시간 소비가 어마어마하다.
- 장애가 발생하는 경우 추가적인 시간 소비 또한 어마어마하다.
궁금함을 참지 못하는 난 당장에 설치해보았다.
시스템은 4MB 정도 밖에 안된다. 너무 크기가 작아서 이걸로 뭘 하나 싶지만 부팅하자마자 라우터 역할을 잘 해낸다. 내 경우는 web ui가 없는 이미지를 설치했는데 때마침 ISP 모뎀이 바보 짓을 해서 인터넷 장애가 생기기에 큰 문제가 생긴 줄 알았다. 멀쩡한 다른 라우터에 연결해보니 dhcp로 주소를 받아오지 못하는 것을 확인하고 모뎀을 껐다 켜보니 정상적으로 동작했다.
이 이미지는 OS와 아주 기본적인 애플리케이션만 가지고 있는데, 설치 후에 package update를 하는 방식으로 web ui를 설치할 수 있다. web ui는 손수 스크립트를 작성하고 설정파일을 수정하는 불편함을 덜어준다. ethernet은 몰라도 wifi에 대한 설정은 손수 편집해서 하려면 몹시 까다로운데 그런 수고를 덜어주는 것이다.
기존 라우터에 있는 펌웨어보다 좋은 점은
- linux이기 때문에 사실상 network 설정에 대한 자유도가 거의 무한대에 이른다. 물론 다른 스위치나 허브를 붙여서 확장하는 것도 전혀 어려운 일이 아니다. 만일 무선 라우터 한 대로 소규모 작업 그룹을 운영한다 치면 허브 별로 나눠서 컨트롤을 한다든가 하는 일도 다 할 수 있다.
- 트래픽에 대한 구체적인 정보가 그래픽으로 표시된다. wifi 칩이 가지고 있는 scan 기능을 사용해서 어떤 밴드가 간섭이 심한지도 알 수 있다. 문제는 국가별로 주파수 사용에 제한이 있기 때문에 간섭이 상대적으로 적은 채널이라고 해서 마음대로 바꿀 수가 없게 되어있다.
신기한 점은 라우터의 CPU가 single core란 것이고 (어차피 DMA 작업을 보내는 일만 할테니 load가 많이 걸리진 않겠지만) MIPS core란 것이다. 아직 라우터나 스위치의 세계에는 MIPS가 현역이구나 하는 사실도 새삼 깨닫았다.