이 글을 읽고 계신다면, 인터넷이 정상적으로 작동하고 있을 확률이 높습니다. 아마도 인터넷 패키지에 포함된 모뎀을 사용 중이실 겁니다. 어쩌면 별도의 라우터를 추가했을 수도 있죠. 하지만 홈 네트워크와 그에 연결된 모든 기기를 혁신적으로 바꿀 수 있는 단 하나의 변화가 있습니다. 이런 일이 늘 그렇듯, 범인은 바로 DNS입니다. 언제나 DNS가 문제죠.

일반적으로 스마트폰부터 컴퓨터, 스마트 홈 액세서리에 이르기까지 모든 기기는 인터넷 서비스 제공업체(ISP)가 제공하는 DNS 서버를 사용합니다. 대안으로 다른 기업의 DNS 서버를 선택할 수도 있습니다. Google이나 Cloudflare가 대표적인데, 이들은 종종 ISP가 제공하는 서버보다 더 빠르고 안정적입니다.

하지만 저는 더 많은 제어권과 더 나은 성능을 원했기에 직접 구축하기로 했습니다. 요즘 제 홈 네트워크는 가상화된 Ubuntu 머신에서 구동되는 두 대의 Pi-hole DNS 서버를 기반으로 운영됩니다. 그 이점을 맛본 이상, 다시는 다른 사람의 서버를 사용할 일은 없을 것입니다.

관련 기사

내 네트워크는 최고를 원한다

빠르면 빠를수록 좋다

제 홈 네트워크는 다른 집보다 훨씬 바쁜 편이라고 생각합니다. 재택근무를 하는 사람으로서, 네트워크의 안정성은 필수적입니다. 하드웨어 측면에서는 Netgear의 970 시리즈 Wi-Fi 7 Orbi 액세스 포인트로 구성된 메시 시스템이 제 역할을 충분히 해내고 있습니다. 매우 빠르며, 3개의 액세스 포인트 덕분에 숨바꼭질 챔피언이라도 Wi-Fi가 닿지 않는 곳을 찾기 어려울 정도입니다. 이 부분은 완벽하게 해결되었습니다.

하지만 Orbi 시스템에 연결된 모든 기기는 웹페이지나 온라인 서비스에 접속할 때마다 무엇을 해야 할지 알아야 합니다. 저희 집에는 기기가 정말 많습니다.

저와 아내의 iPhone 2대와 Apple Watch 2대, 그리고 거의 항상 집에 있는 제 MacBook Pro가 있습니다. 게다가 TV 시청도 모두 온라인으로 하기 때문에 Apple TV도 작동 중입니다. 막내는 온라인 수업을 듣기 때문에 노트북이 연결되어 있고, 쉬는 시간에는 iPad도 사용합니다. 저녁이 되면 큰아들의 게이밍 PC, 또 다른 iPhone, 세 번째 Apple Watch가 추가됩니다. 스마트 전구, 스피커, 카메라 등 쉼 없이 돌아가는 다른 기기들은 언급조차 하지 않았는데도 말이죠.

이 글도 확인해 보세요:  Wi-Fi 공유기 속도를 향상시키는 12가지 방법

결론적으로 제 홈 네트워크는 매우 바쁘며, 모두가 잠들었을 때만 겨우 조용해집니다. 그마저도 컴퓨터 백업이나 업데이트 다운로드가 진행되기에 네트워크가 완전히 쉬는 경우는 거의 없습니다. 이렇게 많은 일이 벌어지는 상황에서 저는 가능한 한 최고의 성능을 보장받고 싶었고, 그것이 저를 Pi-hole로 이끌었습니다.

네트워크 사용 방식에 대한 더 많은 제어권

언제나 DNS가 문제다

Pi-hole은 이름에서 알 수 있듯이, 원래 저전력 Raspberry Pi 기기에서 실행할 수 있도록 설계된 가벼운 DNS 서버였습니다. 하지만 실제로는 거의 모든 기기에 설치가 가능합니다. 무엇에 설치하든, 유용한 DHCP 서버를 포함한 여러 선택적 기능과 함께 DNS 서버를 얻게 됩니다.

DNS 서버를 집 안으로 직접 들여오면 몇 가지 이점을 얻을 수 있습니다. 그중 하나는 속도입니다. 기기가 인터넷 어딘가에 있는 서버보다 로컬 기기에 DNS 요청을 보내는 것이 훨씬 빠르기 때문입니다. 하지만 속도 향상의 핵심은 캐싱에 있으며, 이 부분이 게임의 판도를 완전히 바꿉니다.

기기가 웹사이트에 연결하려고 할 때마다 먼저 DNS 요청을 보냅니다. Pi-hole 서버를 사용하면 응답으로 반환된 IP 주소가 향후 사용을 위해 캐시됩니다. 다음에 같은 웹사이트에 대한 요청이 발생하면, Pi-hole은 이미 어떤 IP 주소를 보내야 할지 알고 있습니다. Pi-hole의 캐시에서 반환된 DNS 항목은 엄청나게 빠르게 처리됩니다. 수십 또는 수백 밀리초가 아닌, 단 몇 마이크로초 만에 완료되는 것이죠.

짧은 시간처럼 들릴지 모르지만, 실제 이점은 누적될 때 나타납니다. 기기가 하루에 얼마나 많은 DNS 쿼리를 생성하는지 알면 놀라실 겁니다. 이 모든 요청을 고려하면, 그 밀리초들이 모여 상당한 시간 절약 효과를 냅니다.

자체 DNS 서버를 호스팅하는 데는 다른 이점도 있습니다. 십 대 자녀와 곧 십 대가 될 자녀를 둔 부모로서, 저는 어떤 DNS 쿼리가 반환되고 어떤 것이 차단될지 직접 제어하는 것을 즐깁니다. 특정 DNS 요청을 차단함으로써 웹사이트나 앱 전체를 효과적으로 차단할 수 있습니다. 이것이 얼마나 유용한지는 쉽게 알 수 있죠.

이 글도 확인해 보세요:  iPhone에서 Wi-Fi 연결이 계속 끊기는 경우 5가지 해결 방법

같은 방식으로 광고를 차단할 수도 있습니다. 웹사이트의 광고를 제공하는 서버를 알고 있다면 해당 서버에 대한 DNS 요청을 차단하면 됩니다. 기기가 광고를 호스팅하는 서버에 접근할 수 없으면 광고를 불러올 수 없습니다. 물론 이는 마치 호두를 깨기 위해 망치를 사용하는 격일 수도 있지만, 효과는 확실합니다. 더 중요한 점은, 제가 별도의 추가 설정 없이도 홈 네트워크의 모든 기기에 이 방식이 적용된다는 것입니다.

여기서 간과해서는 안 될 중요한 개인정보 보호 측면도 있습니다. 스마트 홈 액세서리로 가득 찬 집에서 살고, 새로운 기기가 끊임없이 들어오는 직업을 가진 저로서는 기기들이 무엇을 하는지 아는 것이 중요합니다.

인터넷에 연결된 저가형 기기들이 무작위 서버로 데이터를 전송한다는 무서운 이야기를 들어보셨을 겁니다. 로봇 청소기가 바닥을 청소하는 것 외에 불필요한 서버에 연결되는 경우도 있죠. Pi-hole을 사용하면 기기들이 정확히 어떤 서버에 연결되는지 확인할 수 있고, 원한다면 해당 연결을 완전히 차단할 수도 있습니다.

##### Pi-hole

Pi-hole은 원치 않는 콘텐츠로부터 기기를 보호하기 위한 오픈 소스 DNS 싱크홀입니다.

Pi-hole(또는 두 대)이 구원하다

하나는 없는 것과 같고, 둘은 하나다

제 Pi-hole 설정이 과하다는 것을 저도 인정합니다. 대부분의 사람은 이런 방식이 필요하지 않을 것입니다. 하지만 저는 문제가 발생할 경우를 대비해 이중화가 필요했습니다.

그래서 저는 각각 Ubuntu 가상 머신에서 실행되는 두 개의 Pi-hole 인스턴스를 운영합니다. 호스트 컴퓨터로 사용하는 구형 Intel i7 Mac mini와 잘 작동하기 때문에 하이퍼바이저로 VirtualBox를 사용합니다. 32GB RAM 덕분에 아주 훌륭하게 작동합니다.

두 Pi-hole 인스턴스는 기본(Primary) 및 보조(Secondary) 구성으로 실행됩니다. 어떤 이유로든 첫 번째 인스턴스가 실패하면 두 번째 인스턴스가 자동으로 DNS 요청을 수락하기 시작합니다.

DHCP의 경우는 다릅니다. 이 역할은 기본 Pi-hole 인스턴스에 고정되어 있기 때문입니다. 두 개의 DHCP 서버가 동시에 실행되는 것을 원치 않기에, 새로운 IP 주소를 할당하기 위한 페일오버 솔루션을 찾는 것은 제가 해결해야 할 숙제입니다. 언젠가는 해결할 것입니다.

이 글도 확인해 보세요:  홈 네트워크를 케이블로 연결하시나요? 다음은 유용한 Cat 5e 배선 다이어그램입니다.

라우터가 DHCP를 처리하게 하여 문제를 완전히 제거할 수도 있지만, 그 또한 나름의 문제가 있습니다. Pi-hole은 제 라우터보다 훨씬 세밀한 DHCP 관리를 제공하기 때문에 현재 상태에 만족합니다.

관련 기사

가상 머신, 하지만 실질적인 이점

누가 서버 랙을 필요로 하는가?

제 홈 네트워크는 거의 1년 동안 이런 방식으로 구성되어 왔으며, 이는 실로 놀라운 경험이었습니다. 로컬 캐시된 DNS 응답이 제공하는 성능은 매우 만족스럽습니다. 예를 들어 친구 집에서 Wi-Fi를 사용할 때 웹 브라우저가 DNS 응답을 기다리며 발생하는 특유의 지연 현상을 확실히 체감하게 됩니다.

또한 Pi-hole 관리 콘솔을 열어 네트워크가 정확히 무엇을 하고 있는지 볼 수 있다는 점도 마음에 듭니다. 기기들이 어떤 웹사이트를 언제 사용하는지 확인할 수 있죠. 이것만으로도 큰아들이 잠들어야 할 시간에 게임을 하는 것을 잡아낼 수 있었습니다. Pi-hole은 항상 지켜보고 있습니다!

이제 저는 제 네트워크가 실제로 얼마나 바쁜지 더 잘 이해하게 되었습니다. 지난 24시간 동안 네트워크에 연결된 모든 기기에서 141,934건의 DNS 요청이 발생했습니다. 하지만 이는 시작에 불과합니다.

그 요청 중 29,000건 이상이 차단되었습니다. 전체 DNS 요청의 약 20%에 해당합니다. 차단된 각 요청은 아이들이 보지 않아도 될 광고였을 수 있습니다. 혹은 아내가 앱을 열었다는 이유만으로 데이터 브로커에게 전송되었을 아내의 휴대폰 사용 데이터일 수도 있습니다.

한번 Pi-hole을 쓰면…

IT 전문가이든 단순히 기기 만지는 것을 좋아하는 분이든, 저는 직접 Pi-hole DNS 서버를 운영해보시길 강력히 추천합니다. 특히 기기가 많거나 웹상의 성가신 광고를 피하고 싶다면 더욱 그렇습니다. Pi-hole이 모든 광고를 차단할 수는 없지만, 매우 훌륭한 시작점이 될 것입니다.

그리고 누가 알겠습니까, 제 경우처럼 새벽 2시에 누군가 Arc Raiders를 플레이하는 것을 잡아낼지도 모르죠.

By 최은지

윈도우(Windows)와 웹 서비스에 대한 전문 지식을 갖춘 노련한 UX 디자이너인 최은지님은 효율적이고 매력적인 디지털 경험을 개발하는 데 탁월한 능력을 발휘합니다. 사용자의 입장에서 생각하며 누구나 쉽게 접근하고 즐길 수 있는 콘텐츠를 개발하는 데 주력하고 있습니다. 사용자 경험을 향상시키기 위해 연구를 거듭하는 은지님은 All Things N 팀의 핵심 구성원으로 활약하고 있습니다.