1 - DNS 입문: 인터넷의 주소록
DNS는 무엇인가요?
DNS 연재물에 오신 것을 환영합니다! 기술적 세부사항을 살펴보기 전에 아주 간단한 질문에서 시작해 보겠습니다. DNS란 무엇일까요?
휴대전화 연락처를 떠올려 보세요. 친구들의 전화번호를 모두 외울 필요 없이 이름만 기억하면 됩니다. 친구 “장삼”에게 전화하고 싶을 때는 연락처에서 이름을 찾아 전화 버튼만 누르면 됩니다. 휴대전화는 자동으로 “장삼”의 전화번호를 찾아 전화를 걸어 줍니다.
**DNS(Domain Name System, 도메인 시스템)**는 바로 이러한 “인터넷 연락처” 역할을 합니다. 사람이 기억하기 쉬운 웹사이트 도메인(예: www.google.com
)을 컴퓨터가 이해할 수 있는 IP 주소(예: 172.217.160.78
)로 ‘번역’해 주는 역할을 합니다. DNS가 없다면 웹사이트에 접속하기 위해 규칙 없는 숫자 열을 일일이 외워야 하며, 사실상 불가능합니다.
DNS는 어떻게 작동하나요?
이 ‘번역’ 과정은 보통 눈 깜짝할 사이에 몰래 진행됩니다. 브라우저에 URL을 입력하면 다음과 같은 일이 일어납니다.
- 요청: 컴퓨터나 휴대기기가 DNS 리졸버(Resolver)에게 요청을 보냅니다. “
www.example.com
의 IP 주소는 뭔가요?” - 검색: DNS 리졸버는 탐정처럼 여러 단계를 거쳐(루트 서버 → 최상위 도메인 서버 → 권한 있는 도메인 서버) 정답을 찾습니다.
- 응답: IP 주소를 찾으면 리졸버가 해당 주소를 사용자 컴퓨터에 되돌려 줍니다.
- 연결: 브라우저는 이 IP 주소를 이용해 웹사이트 서버와 연결을 맺고, 최종적으로 웹페이지 내용을 화면에 표시합니다.
이번 연재에서 다룰 주제
DNS 세계는 이 간단한 비유보다 훨씬 풍요롭고 복잡합니다. 이번 연재물에서 DNS의 다양한 면모를 깊이 있게 살펴볼 예정입니다.
- 핵심 개념: 도메인과 IP 주소가 무엇이고, 그 둘의 관계를 깊게 이해합니다.
- 레코드 유형: A 레코드, CNAME 레코드, MX 레코드 등 다양한 DNS 레코드가 어떻게 쓰이는지 배웁니다.
- 서버 유형: 재귀 서버와 권한 서버 등 DNS 서버의 다양한 역할을 알아봅니다.
- DNS 쿼리 과정: 한 번의 DNS 조회가 어떻게 완성되는지 단계별로 자세히 분해합니다.
- DNS 캐시: DNS 캐시가 웹사이트 접속 속도를 높이는 원리를 탐구합니다.
- 사설 DNS: 네트워크 보안과 프라이버시를 강화하기 위해 사설 DNS 서비스를 구축하고 사용하는 방법을 익힙니다.
인터넷을 처음 접하는 초보도, 기초 지식을 다잡고 싶은 개발자도 쉽게 따라올 수 있도록 명확하고 간결한 안내를 제공할 예정입니다.
지금 바로 DNS 탐험 여정을 시작해 보세요!
2 - 공공 서비스
우선 말해야 할 것은, 일부 가정 네트워크는 서비스 계약을 체결할 때 상업적 이용을 금지한다는 조항이 있다는 것입니다. 실제로는 상업적 이용 여부와 상관없이 인바운드 http/https 연결이 많아지면(어떤 이는 250개라고 합니다) 서비스가 강등되어 여러 네트워크 문제를 일으킵니다. 따라서 대중에게 제공하는 서비스는 상업 서비스로 간주해야 하며, 클라우드 서비스 제공업체의 VPS를 임대하여 공공 서비스를 제공하는 것이 가장 좋습니다.
3 - 장치
여기서는 가정용 서비스를 실제로 돌릴 수 있는 장치들에 대해 이야기합니다.
하드웨어 플랫폼
가정용 장치로는 다양한 선택이 있습니다. 퇴역한 노트북 한 대, 방치된 데스크톱 PC, 혹은 전자상거래에서 검색할 수 있는 개발보드·NAS·소프트라우터·Mac 등 서비스를 올릴 수 있는 것들은 모두 괜찮습니다.
하드웨어 계통에서는 x86 플랫폼에 얽매일 필요까지는 없습니다. ARM 플랫폼은 이미 성숙해졌고, 저렴하며, 성능도 충분하고, 전력 소비도 낮으며 생태계도 무르익어 집에서 쓰기 괜찮습니다. 반드시 구닥다리 소프트웨어를 실행할 일이 없다면 ARM 플랫폼도 좋은 선택입니다.
애플 장치에 Windows/Linux를 설치하거나, 애플이 아닌 장치에 해킨토시·해킨슬롯 등을 올리는 것은 어느 정도 기술 기반과 지지고 볶기를 즐기는 분들께 알맞습니다. 다만 솔직히 이야기하면 굳이 그럴 필요는 없습니다.
장치 선택 기준
- CPU: 전력 대 성능 비율 고려
- 메모리: 최소 4 GB 이상
- 스토리지: 리던던시 및 확장성 고려
- 네트워크: 기가비트 랜카드가 기본
- 냉각: 24/7 가동에 안정적인 냉각 필요
- 소음: 설치 위치에 따라 소음 허용 수준 결정
운영체제
생태계가 가장 무르익고 도구가 가장 많은 것은 Linux입니다. 명령줄이 어떤 사용자들에게는 더 간단할 수도 있고, Linux에서는 자동화가 매우 편리해 어느 정도 조작 기반을 가진 사용자에게 잘 맞습니다. Linux에서 선택할 수 있는 시스템도 다양합니다. 비전문가라면 Ubuntu 데스크톱판도 괜찮습니다. 해킨슬롯을 골라도 문제가 생기면 직접 해결 방법을 찾아야 합니다.
Windows는 가장 널리 쓰이는 계열이고 대다수의 요구사항은 Windows에 있는 IIS(Internet Information Services)에서 충족되며, 마우스만 움직여도 많은 기능을 바로 구현할 수 있습니다. Windows 설치는 massgrave.dev를 참고하세요.
애플 ARM CPU는 훌륭해서 맥 미니가 성능 대 가격 경쟁력 있는 하드웨어 선택지가 되었습니다. 다만 macOS는 GUI와 명령줄이 오가야 하므로, 완전히 GUI만으로도, 완전히 명령줄로도 되지 않아 어느 정도 기술 기반을 가진 분에게 적합합니다.
운영체제 선택 권고
- 입문자: Windows + Docker Desktop
- 중급자: Ubuntu Server/Debian
- 안정성 중시: RHEL/Rocky Linux
- 특정 요구사항:
- 미디어 서버: unRAID
- 저장 중심: TrueNAS
- 올인원 NAS: Synology DSM
추천 장치·시스템
전문가의 용도는 무궁무진하지만, 비전문가의 요구를 간단히 정리하면 결국 하나의 NAS입니다. 전자상거래에 NAS를 검색해 필요에 따라 구매하면 됩니다.
돈을 아끼고 싶고, 집에 방치된 장비가 있거나, 중고나라(중국판)에서 싸게 구한 기기가 있다면 Windows Server 2022/2025를 깔거나 해킨슬롯을 만지작거릴 수 있습니다.
데이터 보안
하드디스크 고장
디스크 고장은 처음엔 가끔 읽히지 않다가 완전히 읽히지 않게 됩니다. 그때 가서 데이터 복구를 하면, 복구 비용이 비싸거나, 일부 제조사는 복구 자체를 못하는 경우가 많습니다.
때문에 하드 어레이 케이스 하나를 사서 RAID를 구성할 것을 권합니다. 하드 5년 내 고장률이 10%라면, 듀얼 디스크 어레이 고장률은 1%입니다. 동시에 고장 나지 않는 한, 어레이에서 고장난 디스크만 바꿔주면 데이터가 그대로 유지됩니다.
데이터 탈취
디스크를 도난당했는데, 모든 데이터가 암호화되어 있지 않다면 끝없는 후환이 생깁니다. 특히 기밀문서·비밀번호 백업 같은 민감한 데이터는 더욱 그렇습니다. 디스크 전면 암호화를 권하며, 디스크 도난으로 발생하는 추가 피해를 막을 수 있습니다.
암호화를 켜면 시스템 리소스가 일부 소모되지만, 컴퓨팅 자원이 민감한 사용자는 암호화를 끌 수도 있습니다. 다만 그만큼 디스크 물리 보안에 신경 써야 합니다.
다중 백업
집에 있는 하드도 절대 안전하지 않습니다. 도둑·어린이·지진·홍수·랜섬웨어 침입 등으로 데이터를 잃을 수 있으므로, 여러 곳에 백업하는 것이 좋습니다. 믿을 만한 클라우드 서비스 하나에 중요 데이터를 백업하세요.
네트워크 보안
직접 IP 노출 금물
어떤 네트워크 설정에서는 일부 장치가 독립 공인 IPv6를 받게 되는데, 이 IPv6로 포트 스캔이 가능합니다. 포트를 스캔해 취약한 서비스를 발견하면 공격에 이용될 수 있습니다.
명확한 요구가 없는 한, 가정용 네트워크의 IPv6는 NAT6(NAT64/66)로 설정해 주소 변환을 한 겹 더 두어 직접 IP 노출을 막는 것을 권합니다. 서비스를 외부에 노출할 일이 있다면 DMZ 호스트를 구성합니다.
자가 사용이라면 wireguard/tailscale/zerotier/cloudflare로 VPN을 만들어 집 서비스에 VPN로 접속하는 방식으로 구성합니다.
함부로 소프트웨어 설치 금물
대중적이든 소수이든 모두 취약점이 있을 수 있으므로, 소프트웨어 업데이트를 확인하고 취약점이 나오면 즉시 패치하며, 안 쓰는 소프트웨어는 하루빨리 제거합니다. 소프트웨어에 높은 권한도 아끼세요.
방화벽(방화벽) 사용
방화벽을 끄면 당장은 편해 보여도, 침입 당하는 날이 올 것입니다. 조건이 된다면 규칙 설정을 조금 공부하고, 함부로 끄지 마세요.
보안 소프트웨어 사용
무료로 나온 보안 소프트웨어도 어느 정도 방어 능력은 있으므로, 아예 안 쓰느니만 못합니다.
보안 권장사항 요약
- 네트워크 분리: VLAN 파티션
- 접근 제어: 리버스 프록시 + 인증
- 모니터링·알림: 하드웨어 상태 감시
- 백업 전략: 3-2-1 원칙
- 3개의 사본
- 2개의 미디어
- 1개의 이국 지역(異地)