나만의 공유기 만들기: OpenWrt, R2S Plus
라우터(공유기)는 우리가 사용하는 대부분의 컴퓨터와 별반 다르지 않습니다. 단지 네트워크 처리에 특화된 하드웨어와 소프트웨어로 구성된 특수한 컴퓨터입니다. 그래서 이론적으로는 일반적인 컴퓨터를 라우터로 사용할 수도 있고, 라우터를 일반적인 컴퓨터로 사용할 수도 있습니다.
하지만 우리가 사용하는 기성 라우터는 제조사의 자체적인 OS(Firmware)로만 사용하도록 강제됩니다. 이런 OS들은 일반인도 사용하기 쉽게 만들어졌다는 장점이 있지만, 부가적인 기능이 부족하고 장기적인 보안 업데이트도 기대하기 어렵습니다.
그래서 이전부터 오픈소스 진영에선 다양한 라우터용 OS를 출시해 제조사의 OS 대신 사용할 수 있도록 제공하고 있습니다. 그 중 대표적인 것이 OpenWrt 프로젝트입니다. OpenWrt 는 지원되는 기성 라우터의 OS 대신 설치하거나, 기성 라우터가 아니여도 원하는 하드웨어에 설치해 사용할 수 있습니다.
저는 OpenWrt 를 사용해보기 위해서 오픈소스 하드웨어인 NanoPi R2S Plus 를 구매했습니다. FriendlyElec 이란 회사에서 OpenWrt 사용을 염두하고 설계한 작은 컴퓨터입니다. 본문에서는 제가 이 하드웨어에 OpenWrt 를 설치하고 사용해본 경험을 이야기 해보겠습니다.
하드웨어: NanoPi R2S Plus
제가 구매한 FriendlyElec 의 오픈소스 하드웨어인 R2S Plus 의 모습입니다.
사양은 다음과 같습니다.
- CPU: Rockchip RK3328 (4 Cores, ARM)
- RAM: 1GB DDR4
- Storage: 32GB eMMC
- Network: 2x Gigabit Ethernet
하드웨어 사양을 보면 컴퓨터로써는 정말 하찮은 사양으로 보입니다. 하지만 비슷한 가격의 상용 라우터의 램이 256MB 에 불과한 점을 보면, 사실은 꽤나 고사양입니다. 라우터는 오로지 네트워크 처리만 하는 컴퓨터이기 때문에 우리가 쓰는 컴퓨터처럼 고사양 하드웨어일 필요가 없습니다.
그런데 사진에서 보이듯 와이파이도 없는데다 유선 랜 포트도 2개 뿐입니다. 하지만 저는 기존 라우터를 ‘브릿지’모드로 함께 사용할 예정이라 충분하다 생각했습니다. 브릿지 모드는 쉽게 말하면 추가 랜포트와 와이파이 송수신기의 역할은 기존의 기성 라우터가 수행하고, 실제 네트워크 처리는 R2S Plus 에서 수행하겠다는 의미입니다. (R2S Plus 구매 시 와이파이 모듈을 추가할 수도 있습니다.)
이 모델의 매우 큰 장점은 전력 효율성입니다. R2S Plus 는 USB C타입으로 전원을 공급할 수 있는데, PC의 USB포트 전력으로도 구동될 만큼 전기를 매우 적게 소모합니다. 이는 라우터를 항상 켜놓거나 노트북과 함께 이동하며 사용하는 사람들에게 적합하다고 생각합니다.
마지막으로 NanoPi 제품들은 OpenWrt 의 공식 지원을 받을 확률이 높고, 그렇지 못하더라도 제조사에서 OpenWrt 의 배포를 유지해줍니다. 이는 소프트웨어 업데이트가 지속적으로 이루어지고, 안정적인 사용을 보장한다는 의미입니다. 기성 라우터보다 하드웨어 사양도 높기 때문에 더 장기적인 지원을 기대할 수 있다고 생각해 결정했습니다.
FriendlyElec 에서 배포하는 OpenWrt 는 FriendlyWrt 라는 이름으로 제공됩니다. R2S Plus 의 OpenWrt 는 아직 공식적으로 지원되지 않습니다.
OpenWrt는 어떤가요?
OpenWrt 의 설치는 매우 간편했습니다. FriendlyElec 의 홈페이지에서 다운받은 OpenWrt 이미지를 MicroSD 카드에 담고 기기에 장착한 다음, 전원을 연결하면 끝입니다. 이후엔 편리하게 브라우저를 통해 일반 라우터처럼 조작할 수 있었습니다.
사용자 인터페이스도 적응에 큰 무리가 없었습니다. 일반적인 기능이라 생각되는 비밀번호 설정, DHCP 아이피 고정, DDNS 설정 등은 상용 라우터와 큰 차이가 없다고 느꼈습니다. 저한테 중요한 기능인 VLAN
도 어렵지 않게 설정할 수 있었습니다. 제가 설정한 네트워크의 간단한 구성도는 아래와 같습니다.
R2S Plus 의 WAN 은 ISP 인터넷 공급자와 직결되고, LAN 은 저의 기존 관리형 스위칭 허브와 연결되어 용도별로 VLAN 그룹을 지정했습니다. 스위칭 허브 덕분에 포트 수가 적은 문제를 해결했고 VLAN 분리를 통한 보안성까지 챙길 수 있었습니다. 만약 스위칭 허브가 없었다면 일반적인 라우터를 브릿지 모드로 연결했을 것 같습니다.
기존에 제가 사용하던 라우터 OS는 OPNSense 입니다. 이는 FreeBSD 기반의 정말 다양한 기능을 갖춘 라우터 소프트웨어입니다. 이것만으로도 제 요구사항은 충분했지만 반드시 x64 기반의 하드웨어가 필요하고, 설정이 복잡하다는 단점이 있었습니다.
OpenWrt 는 이에 비해 비교적 간단한 설정만 필요했고, 저에게는 충분한 기능을 제공한다고 느꼈습니다. 저는 VPN, DNS 와 같은 서비스는 서버 클러스터에서 구동하고 있기 때문에 부가적인 기능은 거의 사용하지 않았습니다. 마지막으로, 제 서버 랙의 OS가 리눅스로 통일된 점이 알 수 없는 안정감을 주었습니다.
충분한 성능인가요?
홈서버로는 충분합니다.
저는 집이 제 놀이터이자 연구실입니다. 그래서 네트워크 사용량이 일반 가정보다는 조금 많은 편 입니다. 저는 홈서버에 다양한 서비스를 올려놓고 주변 지인들과 함께 사용하고 있는데, 특히 NextCloud 를 외부에서 자주 사용해서 고용량 트래픽도 잘 처리할 수 있을지 궁금했습니다.
결과는 기존에 사용하던 훨씬 강력한 x64 라우터(Intel N100)와 별 차이가 없었습니다. 사실 예상한 부분이었습니다. 제 홈서버는 동시접속자가 많아도 30명을 넘지 않았고, 부가 서비스는 모두 서버랙에서 구동하고 있어서 라우터에 부하가 걸리는 일이 거의 없었기 때문입니다. 유일한 문제는 제 인터넷 요금제로 인한 속도 제한이었습니다.
별도로 벤치마크를 시도하진 않았지만, 일반적인 가정용이나 개인 홈서버 용도로는 충분할 것이라 생각합니다. 사실 이것보다 성능이 낮은 라우터도 많이 사용되고 있으니 오버스펙이라고 볼 수도 있겠습니다. 다만 와이파이 모델의 송수신 성능에 대해서는 잘 모르겠습니다.
필요하다면 거의 같은 사양의 모델인 R2S 리뷰를 참고하세요.
살만 한가요?
저한테는 좋았습니다. 하지만 모두를 위한 제품은 아닙니다.
제가 R2S Plus 를 산 이유는 기존의 팬리스 x64 라우터를 교체하기 위해서 였습니다. 이 제품의 N100은 저전력, 저발열 CPU 임에도 단지 켜놓는 것 만으로도 본체의 표면을 만지기 어려울 정도로 뜨거웠습니다.
그럼에도 구동만 잘 됐으면 그냥저냥 사용했을 것 같습니다. 하지만 여름이 오며 기온이 높아지니 랙에 있는 라우터가 강제로 종료되는 문제가 발생했습니다. 저는 굳이 팬리스로 산 컴퓨터에 팬을 설치하고 싶지는 않았기 때문에 결국 라우터를 교체하기로 마음을 먹었습니다.
이런 상황에서 R2S Plus 는 저에게 딱 맞는 제품이었습니다. 팬리스, 저전력, 저발열, 저렴한 가격, 충분한 성능 등 제가 원하는 모든 조건을 만족했기 때문입니다. 그래서 와이파이를 추가한 모델을 하나 더 구매했습니다.
하지만 x64 기반의 라우터는 R2S Plus 같은 ARM 기반 라우터 대비 엄청난 장점이 있습니다. 바로 일반적인 범용 OS가 모두 호환된다는 점 입니다. OpenWrt 뿐 아니라 PfSense, OPNSense 와 같은 강력한 방화벽 솔루션이 필요하다면 x64 기반의 라우터를 선택하는 것이 더 좋은 선택일 수 있다고 생각합니다.
이만 글을 마치며, 여러분들이 추천하는 라우터나 OS가 있다면 댓글로 알려주세요. 감사합니다.