
라우터는 왠지 전용 장비처럼 느껴진다. 하지만 조금만 구조를 뜯어보면 생각보다 단순하다.
결국 라우터도 네트워크 패킷을 받아서 다른 네트워크로 전달하는 컴퓨터다. 그래서 리눅스가 잘 돌아가고, 네트워크 인터페이스를 두 개 이상 붙일 수 있다면 미니 PC, 데스크탑, 오래된 노트북, SBC 같은 장비도 충분히 라우터 역할을 할 수 있다. 원문도 바로 이 지점을 강조한다. “라우터는 특별한 기계가 아니라, 결국 컴퓨터일 뿐”이라는 것이다.
이 글의 핵심은 단순히 “새 라우터를 사지 말자”가 아니다.
오히려 이미 가지고 있는 하드웨어의 활용 범위를 넓히는 방법에 가깝다.
일반적으로 우리는 라우터를 완제품으로만 생각하지만, 실제로 필요한 기능은 몇 가지로 요약된다.
즉, “라우터”라는 이름 때문에 복잡해 보일 뿐, 구성 요소를 나누어 보면 전부 익숙한 리눅스 네트워크 기능들이다.
의외로 조건은 까다롭지 않다.
가장 중요한 건 아래 두 가지다.
이더넷 포트가 하나뿐이어도 USB 이더넷 동글로 보완할 수 있다. 물론 온보드 포트보다 신뢰성은 떨어질 수 있지만, 실험이나 홈 네트워크 수준에서는 충분히 쓸 만하다. 원문에서도 저사양 Celeron 장비로 가정이나 소규모 환경의 트래픽을 무리 없이 처리한 사례를 보여준다.
개인적으로 이 부분이 인상적이었다.
네트워크 장비는 꼭 비싸고 전용 설계된 하드웨어여야 한다는 고정관념이 있는데, 실제로는 오래된 노트북과 잡다한 부품 조합으로도 라우터를 만들 수 있다는 점이 꽤 강력하다.
구성 자체는 매우 직관적이다.
eth0: WANeth1: 유선 LANwlan0: 무선 LAN그리고 eth1과 wlan0를 브리지로 묶어서 내부 네트워크를 하나처럼 운영한다.
즉, 유선이든 무선이든 같은 내부망에 붙고, 외부 인터넷은 WAN을 통해 나가게 된다.
이 구조를 이해하면 홈브루 라우터의 핵심은 거의 끝난 셈이다.
원문에서는 Debian 기반으로 아래 도구들을 사용한다.
hostapd: 무선 AP 생성dnsmasq: DHCP + DNSbridge-utils: LAN 브리지 구성nftables: 방화벽 + NAT생각보다 단출하다.
즉, 복잡한 네트워크 OS가 필요한 게 아니라, 리눅스 기본 기능과 몇 개 패키지면 충분하다는 이야기다.
전체 흐름을 쉽게 풀면 아래와 같다.
Debian을 설치한 뒤, PXE 부팅 비활성화, 전원 복구 시 자동 켜짐, 필요한 펌웨어 설치 같은 기본 세팅을 먼저 한다. 무선 칩셋에 따라 Intel, Realtek, Atheros용 펌웨어가 필요할 수 있다.
현대 리눅스에서는 네트워크 이름이 enp0s31f6처럼 길고 복잡한 경우가 많다.
원문은 이를 eth0, eth1처럼 고정 이름으로 매핑해 관리성을 높인다.
실무적으로도 이건 꽤 중요하다. 네트워크 설정은 이름이 흔들리면 디버깅이 바로 어려워진다.
hostapd로 wlan0를 AP로 설정하고, SSID와 비밀번호를 지정한다.
다만 글에서도 말하듯 USB Wi-Fi 동글 기반 AP는 전용 무선 장비보다 품질이 떨어질 수 있다. 무선 품질이 중요하면 별도 AP를 붙이는 편이 낫다.
유선 LAN과 무선 LAN을 br0로 묶고, 여기에 예를 들어 192.168.1.1/24 같은 내부 IP를 준다.
이렇게 하면 내부 장치들은 모두 같은 사설망에 붙게 된다. WAN 쪽은 DHCP로 외부 IP를 받는다.
라우터 역할의 핵심이다.
리눅스 커널에서 net.ipv4.ip_forward=1을 켜야 내부망 트래픽을 외부망으로 전달할 수 있다.
원문은 nftables를 사용한다.
설정의 목적은 단순하다.
즉, “인터넷 공유기다운 최소한의 보안과 공유 기능”을 리눅스 방화벽으로 구현한 것이다.
dnsmasq가 내부 클라이언트에게 IP를 나눠주고 DNS 역할도 함께 맡는다.
설정이 간단하고 가벼워서 소형 장비에 잘 맞는다. 원문에서도 기존의 isc-dhcp-server나 bind9 대신 dnsmasq를 쓰는 이유를 바로 이 단순함에서 찾는다.
이 글이 흥미로운 이유는 단지 “신기하다”에서 끝나지 않는다.
완제품 공유기를 쓸 때는 보이지 않던 개념들, 예를 들어 브리지, NAT, DHCP, IP 포워딩, 방화벽이 한 번에 연결된다.
원문도 VLAN, 모니터링, VPN, 포트포워딩, 동적 라우팅 등 더 많은 기능 확장이 가능하다고 설명한다. 즉, 장난감이 아니라 작은 네트워크 실험실로도 발전시킬 수 있다.
오래된 미니 PC나 노트북이 단순 폐기물이 아니라, 꽤 유용한 네트워크 장비로 바뀐다.
이 방식이 늘 정답은 아니다.
그래서 실사용 기준으로는 이렇게 보는 게 적절하다.
이 글의 가장 큰 메시지는 기술이 아니라 관점이다.
우리는 흔히 “라우터”, “서버”, “방화벽”을 각기 다른 전용 세계처럼 본다.
하지만 실제로는 하나의 컴퓨터가 소프트웨어 구성에 따라 서로 다른 역할을 맡을 뿐이다.
이 관점은 네트워크뿐 아니라 개발 전반에도 통한다.
이런 사고방식은 단순한 자작 라우터를 넘어서, 인프라를 이해하는 데도 꽤 큰 도움이 된다.
남는 PC를 라우터로 만든다는 건 단순한 해킹 놀이처럼 보일 수 있다.
하지만 실제로 해보면 네트워크의 본질을 꽤 선명하게 이해하게 된다.
라우터는 특별한 마법 상자가 아니다.
리눅스가 돌아가는 컴퓨터에 네트워크 기능을 올린 결과물에 가깝다.
그래서 집에 굴러다니는 미니 PC, 오래된 노트북, 혹은 작은 SBC가 있다면 한 번쯤 시도해볼 만하다.
완제품 공유기를 대체하겠다는 거창한 목표보다, “네트워크가 실제로 어떻게 굴러가는지 손으로 이해해보는 프로젝트”라고 생각하면 훨씬 재미있다. 원문 역시 단순한 대체재 제안보다, 하드웨어를 새롭게 활용하고 라우터의 본질을 보여주는 실험으로 이 접근을 소개한다.