TrotRanking
IT Engineering

공유기 OpenWrt 커스텀 펌웨어 플래싱: 홈 네트워크 VLAN 트래픽 격리 및 버퍼블로트 극복기

김민준 · IT 시스템 엔지니어
우리가 가정에서 사용하는 통신사 기본 와이파이 공유기나 보급형 라우터 내장 소프트웨어 단은 일반적인 소비자 환경에 타협한 매우 조악하고 폐쇄적인 성능 한계를 가지고 있습니다. 제 경우 가족 중 한 명이 거실에서 스마트 TV로 고화질 넷플릭스를 브로드캐스팅하거나 대용량 스팀(Steam) 게임 데이터 팩을 다운로드하는 그 찰나의 순간마다 제 방 PC의 롤(LoL)이나 격투 게임 환경에서 핑이 200ms를 초과하며 폭발해버리는 악성 버퍼블로트(Bufferbloat) 현상에 오랫동안 고통받았습니다. 기가인터넷 회선의 전체 대역폭이 아무리 넓어도 라우터 프로세스를 관장하는 패킷 큐(Queue) 처리 엔진이 멍청하다면 이러한 핑 지연은 물리적으로 필연적일 수밖에 없습니다. 이에 대한 제 엔지니어링적 결단은, 라우터라는 깡통 하드웨어를 통째로 엎어버리고 뛰어난 리눅스 기반의 오픈소스 라우터 완전체 운영체제인 OpenWrt 펌웨어로 플래싱(Flashing)하여 집안의 트래픽 라우팅 주도권을 100% 완전 장악하는 일이었습니다. 라우터를 마치 스마트폰 루팅하듯이 오픈 소스 운영체제로 밀어버리고 LuCI 웹 인터페이스 관리자 화면에 접근하게 되는 순간, 공유기는 수십 가지 커널 모듈을 마음대로 탈부착할 수 있는 미니 데스크탑 서버로 승격합니다. 버퍼블로트 병목을 파훼하기 위해 가장 핵심적으로 도입해야 할 무기는 바로 SQM (Smart Queue Management) 패키지 코어의 장착입니다. 시스템 메뉴의 패키지 매니저로 이동하여 `luci-app-sqm` 모듈을 설치합니다. 이 SQM 체계 내부에는 현존하는 가정용 트래픽 통제 알고리즘의 최정점이라 불리는 'Cake' 커널과 'FQ_CoDel' 알고리즘 모듈이 내장되어 있습니다. 트래픽 흐름을 모니터링하다가 누군가가 공격적으로 대용량 다운로드를 땡기는 순간 여타 저렴한 공유기처럼 단순 선입선출 패킷 큐에 묶여 다른 사용자의 실시간 데이터(게임 패킷) 시퀀스의 반응성을 희생시키는 것이 아니라, 매우 평등하게 각 커넥션들에 시분할 파이프라인 제어권을 쪼개어 배분함으로써 미세한 레이턴시 상승 한 번 없이 무조건적인 실시간 반응을 보장하는 최상의 아키텍처가 Cake 알고리즘의 묘미입니다. 현재 사용하는 실측 다운로드/업로드 속도의 90~95% 수준으로 SQM 대역폭 파라미터를 하향 입력해 주기만 하면 그 순간 버퍼블로트 핑 테스트 사이트에서 A+ 등급의 완벽한 그래프 곡선을 얻어낼 수 있습니다. SQM 설치로 전체적인 핑을 방어했다면, 다음 단계는 가정 내의 사물인터넷(IoT) 기기들과 핵심 개발 PC 통신망을 방화벽 기준으로 원천 분리하는 고수준 VLAN (Virtual Local Area Network) 네트워크 격리 기술 구축입니다. 스마트 전구, 와이파이 카메라 등 백도어 보안 취약점이 상대적으로 만연한 중국산 IoT 장비들의 MAC 주소가 제 핵심 개발용 워크스테이션이나 나스 서버의 내부 내부망(Local망)까지 자유롭게 접근할 수 있는 것은 아키텍쳐 보안상 엄청난 맹점으로 작용합니다. OpenWrt 네트워크 인터페이스 구성 화면의 스위치(Switch) 탭으로 진입하여 물리적인 공유기 1/2번 랜포트 쪽은 메인 태그가 부여된 VLAN 1 영역으로 지정하고, 나머지 IoT 연결용 와이파이 라디오 모듈들은 인터페이스를 새로 짜서 완전히 분리된 VLAN 2.0으로 가둬버립니다. 이렇게 인터페이스 격벽 구성을 마친 후 Firewall 룰셋 규칙 섹션에서 VLAN 1 대역 단의 장비에서 VLAN 2(IoT) 방향으로 트래픽을 던지는 행위는 허가(Accept)하되, 반대로 VLAN 2 단에 물려있는 저품질 디바이스들이 개발용 메인 스트림 대역(VLAN 1)에 대해 아예 ARP 패킷 주소조차 핑할 수 없도록 역방향 드랍(Drop) 거부 규칙을 하드코딩해 주면 그 즉시 홈 네트워크는 엔터프라이즈 사내망 수준의 막강한 물리적 트래픽 격리 보안망으로 둔갑하게 됩니다. 이처럼 제조사가 강제로 주입해 둔 획일적인 펌웨어의 한계를 넘어서 SSH 접속과 패키지 다운로드로 자유자재로 라우팅 권한을 커스텀하는 OpenWrt의 탐닉은 당신의 하드웨어 잠재력을 멱살 잡고 한계치 이상 끌어올리는 극단적인 효율 최적화의 쾌감을 제공할 것입니다.