평소 나는 어떤 것이든 커스텀 수정에 반대하는 편입니다. 자동차든 소프트웨어든 마찬가지죠. 하드웨어를 만든 사람들이야말로 안정성, 유연성, 예측 가능성, 비용 측면에서 최적의 기능 조합을 가장 잘 알고 있다고 믿기 때문입니다.
그런데 최근 1Gbps 유선랜 등 새 장비들로 홈 네트워크 일부를 업그레이드하면서 WRT54GL 공유기 세 대가 남게 되었습니다. 검증되지 않은 변경 사항을 실사용 환경에 도입하는 일은 절대 하지 않는 신중파라, 이제야 커스텀 펌웨어를 마음껏 시험해볼 여유가 생긴 셈입니다. 과연 유명한 DD-WRT가 그 명성에 걸맞은지 직접 확인해 보겠습니다.
배경 이야기
다양한 가정용 공유기를 위해 공식 펌웨어 대신 쓸 수 있는 오픈소스 커스텀 펌웨어가 수없이 많습니다. WRT54GL처럼 브로드컴(Broadcom)이나 아테로스(Atheros) 칩셋을 사용하는 기기라면, 누군가 이미 새로운 펌웨어를 만들어 두었을 가능성이 높습니다.
먼저 HyperWRT가 있었고, 여기서 Tomato가 파생되었지만 2010년에 개발이 중단되었습니다. 그리고 DD-WRT의 기반이 된 OpenWrt가 있습니다. 그 외에도 수많은 프로젝트가 존재하죠. 다소 혼란스러울 수 있지만, 이들 사이에는 공통된 뿌리가 있습니다.
이 모든 프로젝트는 원본보다 우수하다고 주장합니다. 그렇다면 의문이 듭니다. 정말 그렇게 좋다면 왜 더 널리 쓰이지 않는 걸까요? 상용 회사의 소프트웨어·하드웨어 개발자들이 모두 무능하다는 뜻일까요? 어딘가에 CEO가 있고 수익 목표가 있다는 이유만으로 그렇게 단정해야 할까요?
이건 늘 저를 괴롭히던 문제입니다. 리눅스 배포판 판도와도 약간 닮았습니다. 코드에 GPL 라이선스를 붙였다고 해서 다른 솔루션보다 우월해지는 건 아닙니다. 많은 경우 그럴 수도 있지만, 큰 회사에 다니지 않고 무료로 배포한다는 이유만으로 품질이 보장되지는 않습니다.
좋습니다. 하지만 정말 원본보다 나을지도 모르죠. 공식 사이트 dd-wrt.com의 소개 페이지를 들어가 보니, 눈부시고 다소 혼란스러울 정도로 방대한 기능·옵션·빌드 목록이 펼쳐졌습니다. 아마 이것이 문제의 일부일 겁니다. 커스텀 빌드를 쓰려는 사람은 미리 충분히 준비되고 숙련되어 있어야 한다는 것입니다. 즉, 일반 사용자라면 제조사 사이트에서 공유기 버전을 입력하고 단일 바이너리 파일 하나를 내려받는 편이 훨씬 낫습니다. 여기서는 선택지가 너무 방대해서 실제로 정보 과부하가 옵니다.
충분히 자료를 읽어 본 뒤, 필요한 최소한의 것으로 범위를 좁혔습니다. 먼저 MINI 빌드를 시도했습니다. 이 빌드를 먼저 올려야 이후 3MB를 초과하는 대형 펌웨어로 업그레이드할 수 있기 때문입니다. 굳이 이런 수고를 들일 만한 이유가 있냐고요? 예컨대 IPv6 지원 같은 것 말입니다.
첫 번째 시도
이제 WRT54GL 한 대를 꺼내 작업을 시작했습니다. 공식 안내에 따르면 DD-WRT 펌웨어를 올리기 전에 30/30/30초 리셋(리셋 버튼 30초 → 전원 차단 후 30초 → 재전원 후 30초)을 먼저 수행하라고 합니다. 이 단계는 아무 문제 없이 순조롭게 진행되었습니다.
그다음 공유기 웹 콘솔에 로그인해 펌웨어 업그레이드를 진행했습니다. 절차는 순정 펌웨어 업그레이드와 완전히 동일합니다. 올바른 파일을 선택하고 버튼을 누른 뒤, 2~3분 정도 완료를 기다리면 끝납니다. 간단하고 번거로움도 없었죠. 메인 페이지나 소개 페이지의 기술적인 장황함을 고려하면 꽤 의외였습니다. 최악을 각오하고 시작했는데, 버터처럼 매끄럽게 작동했습니다.
그리고 이제...
DD-WRT를 사용할 시간입니다. 공유기의 기본 IP 주소를 입력하면 요약 페이지가 열리는데, 이 페이지는 비밀번호 없이 접근되지만 다른 메뉴로 들어가면 비밀번호를 요구합니다. 금방 순정보다 훨씬 깔끔하고 옵션이 가득한 인터페이스를 만나게 됩니다. 하지만 과연 그 옵션들이 모두 필요할까요?
이 시점부터 인터페이스의 모든 설정을 하나씩 탐색하기 시작했습니다. 대부분은 순정 펌웨어에서 이미 봤던 익숙한 항목들이었습니다. 그리고 Cisco/Linksys 제품에는 없는 수많은 새로운 기능들이 있었습니다.
방화벽, 포트 포워딩과 포트 트리거링, UPnP, QoS, DMZ, 각종 무선 암호화 방식 등등. 대부분의 기능은 원본 펌웨어에도 있으며, 평균적인 사용자의 요구는 이미 충분히 충족해 줍니다. 그렇다면 DD-WRT에서 추가로 얻을 가치는 무엇일까요? 아주 특수한 요구사항, 즉 애초에 고급 사용자로 분류되는 조건이 없다면 새 펌웨어의 즉각적인 이점은 체감하기 어렵습니다. 하지만 여기에 성능이라는 변수가 남아 있습니다.
성능
앞서 말했듯이, 대부분의 사람들은 DD-WRT가 제공하는 극도로 세밀한 조정 기능이 필요 없다고 생각합니다. 일반적인 네트워크 사용 환경에는 상당한 유연성과 오류 허용 여지가 있기 때문입니다. 인터넷이 느려지는 이유는 백 가지가 넘고, 그중 공유기 탓인 경우는 극소수입니다.
연결을 최대치로 끌어올릴 때에야 비로소 큰 차이를 볼 수 있습니다. 좋습니다. 인터페이스 반응 속도는 순정 v4.30.16 펌웨어와 거의 동일하게 빠릅니다. 전체 처리량과 지연 시간 면에서도 변화를 감지하지 못했습니다.
순정 펌웨어에서는 WAN 인터페이스가 12Mbps로 하드 리밋되어 있고, 새로운 오픈소스 드라이버에서는 기기 성능이 최선의 경우 약 30Mbps라는 소문을 읽은 적이 있습니다. WAN 제한에 관해서는 과거에는 사실이었을 수 있지만, 제 기기에서는 그런 현상이 관찰되지 않아 확언할 수 없습니다. 다만 30Mbps 상한을 맞출 때 평균 10% 정도 떨어지는 일관성 흔들림을 부분적으로 설명해 주는 요인일 수는 있습니다.
어쨌든 Samba 파일 전송 성능과 전체 처리량 — 유선 연결 하나, 무선 연결 하나, 두 기기 모두 공유기에서 1미터 이내 근접한 조건 — 은 기본 설정과 상당히 비슷했습니다. 무선 암호화에는 분명 대가가 따르는 모양입니다.
물론 이것은 공식 벤치마크가 아니며, 그럴 필요도 없습니다. 그게 핵심입니다. 실생활에서는 합성 테스트로 제품의 품질을 판단하지 않습니다. 평소처럼 소프트웨어를 사용하고 결과를 관찰하면, 그것만이 유일하게 중요한 기준입니다. 벤치마크는 이상적 조건에서 얻을 수 있는 결과의 대략적인 지표일 뿐이며, 현실의 우리는 대부분 회색 지대에서 살고, ISP는 능글맞게 대역폭을 깎아 줍니다.
실제로 토렌트 처리량이 다음 시험 대상이었고, 아마 가장 중요한 항목이었습니다. 여기서도 삶을 바꿀 만한 큰 차이는 없었습니다. 30Mbps 회선에서 DD-WRT v24-sp2 빌드를 탑재한 WRT54GL은 토렌트 프로토콜 오버헤드를 포함해 최상의 조건에서 약 26~27Mbps를 기록했습니다. 전반적으로 상당히 준수한 수준이며, 역시 공식 펌웨어와 비슷한 결과입니다. 두 시나리오 모두 활성 연결 수가 350~400개에 달하면 인터넷 반응성이 떨어지기 시작했습니다. 기기의 물리적 한계, 그리고 ISP의 트래픽 관리 행태는 어쩔 수 없는 부분입니다.
결론
DD-WRT 사용 경험은 기대 이상으로 쾌적하고 번거로움이 없었습니다. 인터페이스를 집필처럼 뜯어고쳐야 할 줄 알았지만 전혀 아니었습니다. 원하고 필요한 기능만 골라 쓰면 그걸로 끝입니다. 아니면 더 큰 빌드로 갈아타고 새롭고 흥미로운 기능들을 마음껏 누리면 됩니다. 유일하게 남는 질문은, 정말 그것들이 필요한가 하는 것입니다.
더 나아가, 애초에 DD-WRT가 필요한지 스스로에게 물어봐야 합니다. 상당한 성능 향상을 기대한다면 아마 실망할 겁니다. 이 커스텀 펌웨어가 주는 것은 그게 아닙니다. 대신 이전보다 훨씬 많은 설정 옵션과, 어쩌면 한층 강화된 보안성을 얻게 됩니다. 그 외에는 인터페이스, 지연 시간, 전체 처리량, 기기의 최대 성능 모두 대부분의 사용자에게 거의 체감되지 않을 것입니다. 정말 특수하고 고급스러운 요구를 가진 사람들만 예외입니다.
어쨌든 사회적 낙인과 반대 여론에도 불구하고 DD-WRT는 훌륭한 프로젝트라고 생각합니다. 다만 기적은 기대하지 마세요. 자유와 통제권을 추구하는 숙련된 사용자라면 상당히 부담 없는 업그레이드입니다. 최악의 경우에도 속도 면에서 잃는 것은 없고 추가 옵션만 얻으므로, 당신 안의 트윅 애호가는 만족할 겁니다. 하지만 그렇다 해도, 모든 것을 종합적으로 고려하면 커스텀 펌웨어 사용을 누구에게도 적극 권하지는 않겠습니다. 저는 이 발상 자체에 반대하며, 기기는 원래 상태 그대로 두는 것이 좋다고 믿습니다. 그리고 이 말장난으로 글을 마무리합니다.
즐거운 네트워킹 되세요!