728x90
반응형
Overview
DNS(Domain Name System)는 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 변환해주는 서비스이다.
예를 들어 google.com과 같은 도메인 이름을 사용하면, DNS는 이를 142.250.190.14 같은 IP 주소로 변환하여 해당 서버에 접근할 수 있도록 한다.
DNS는 인터넷에서 웹사이트, 이메일, 기타 네트워크 서비스를 원활하게 이용할 수 있도록 필수적인 역할을 한다.
이번 글에서는 DNS 개념 및 설정, 네임서버 구성 방법에 대해 정리한다.

1️⃣ DNS 개념 및 동작 원리
DNS는 클라이언트-서버 모델을 기반으로 네트워크 상에서 도메인 네임을 IP 주소로 변환하는 역할을 한다.
DNS 작동 방식
- 사용자가 브라우저에서 www.example.com 입력
- 클라이언트가 로컬 DNS 캐시 확인
- 로컬 DNS 서버에서 DNS 쿼리 수행
- DNS 서버가 example.com의 IP 주소 반환
- 사용자는 해당 IP 주소로 요청을 보냄
DNS의 주요 구성 요소
- DNS 클라이언트 (Resolver): DNS 요청을 수행하는 장치
- DNS 서버 (Name Server): 클라이언트 요청을 받아 적절한 IP 주소를 반환
- 루트 네임서버 (Root Name Server): 최상위 도메인 정보 관리
- TLD 네임서버 (Top-Level Domain): .com, .net, .org 같은 최상위 도메인 관리
- 권한 네임서버 (Authoritative Name Server): 특정 도메인에 대한 최종 IP 정보 관리
2️⃣ DNS 서버 환경설정
필수 패키지 설치
yum install -y bind bind-utils # CentOS/RHEL
apt install -y bind9 bind9utils # Ubuntu/Debian
DNS 서비스 시작 및 자동 실행
systemctl enable named
systemctl start named
DNS 서비스 상태 확인
systemctl status named
3️⃣ DNS 설정 파일 구성
DNS 관련 설정 파일들은 /etc 디렉터리에 위치하며, 주요 파일은 다음과 같다.
파일 | 경로설명 |
/etc/hosts |
로컬 네임서버 설정 |
/etc/resolv.conf |
외부망 및 내부망 연결 설정 |
/etc/named.conf |
DNS 서버 전체 설정 |
/etc/named.rfc1912.zones |
정방향 및 역방향 조회 영역 설정 |
/var/named/s.zone |
정방향 조회 (도메인 → IP) |
/var/named/s.rev |
역방향 조회 (IP → 도메인) |
/etc/hosts
(로컬 네임서버 설정)
vi /etc/hosts
...
127.0.0.1 localhost 192.168.1.100 dns-server.local
- 이 파일은 로컬에서 네임서버가 인식할 수 있도록 IP와 도메인을 매핑한다.
/etc/resolv.conf
(외부 네임서버 설정)
vi /etc/resolv.conf
...
nameserver 8.8.8.8 # Google Public DNS nameserver 1.1.1.1 # Cloudflare DNS
- 외부 도메인 네임을 조회할 수 있도록 네임서버를 설정한다.
/etc/named.conf
(DNS 서버 설정)
vi /etc/named.conf
...
options {
listen-on port 53 { any; };
directory "/var/named";
allow-query { 192.168.1.0/24; localhost; };
};
logging {
channel default_log {
file "/var/log/named.log";
severity info;
};
};
include "/etc/named.rfc1912.zones";
- DNS 서비스가 포트 53에서 요청을 수락하고, 로그를 기록하도록 설정한다.
/etc/named.rfc1912.zones (네임서버 정의 파일)
vi /etc/named.rfc1912.zones
...
zone "somaz.com" IN {
type master;
file "s.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "s.rev";
allow-update { none; };
};
- 정방향 및 역방향 DNS 설정을 위한 파일을 지정한다.
4️⃣ Zone 파일 (정방향 및 역방향)
정방향 조회 파일 (s.zone
)
vi /var/named/s.zone
...
$TTL 86400
@ IN SOA ns.somaz.com. root.somaz.com. (
2024031201 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS ns.somaz.com.
@ IN A 192.168.1.100
www IN A 192.168.1.100
- 도메인
somaz.com
의 IP 주소를192.168.1.100
으로 설정한다.
역방향 조회 파일 (s.rev
)
vi /var/named/s.rev
...
$TTL 86400
@ IN SOA ns.somaz.com. root.somaz.com. (
2024031201 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS ns.somaz.com.
100 IN PTR somaz.com.
- IP 주소
192.168.1.100
이somaz.com
과 매핑됨을 정의한다.
5️⃣ DNS 설정 검증 및 테스트
설정 파일 문법 검사
named-checkconf
named-checkzone somaz.com /var/named/s.zone
named-checkzone 1.168.192.in-addr.arpa /var/named/s.rev
- 설정에 오류가 없으면 아무런 출력 없이 종료됨
DNS 서비스 재시작
systemctl restart named
nslookup 테스트
nslookup somaz.com 192.168.1.100
- 정상적으로 도메인이 IP 주소로 변환되면 성공!
HTTP Server 까지 구성햇을 시

마무리
DNS 서버를 구축하면 도메인 네임을 IP 주소로 변환하여 네트워크 접근성을 향상할 수 있다.
이번 글에서는 DNS 개념부터 설정 방법, 테스트까지 DNS 서버 구축 방법을 다루었다.
정리
- DNS는 도메인 네임을 IP 주소로 변환하는 서비스
- 네임서버 구성 시 정방향(s.zone) 및 역방향(s.rev) 조회 설정 필요
- named-checkconf, named-checkzone으로 설정 오류 확인 필수
- nslookup 또는 dig 명령어로 DNS 조회 테스트 진행
이제 DNS 서버를 활용하여 안정적인 네트워크 환경을 구축해보자!
Reference
- man named.conf, man nslookup, man dig
- BIND 공식 문서
728x90
반응형
'Networking, Security, Protocols' 카테고리의 다른 글
Apache HTTP + HTTPS 설정 및 SSL 적용 (0) | 2022.02.11 |
---|---|
RSA 공개키를 이용한 SSH 접속 (0) | 2022.01.20 |
NFS(Network File System) / auto fs(auto file system) (0) | 2022.01.18 |
FTP란? FTP Server란? (0) | 2022.01.18 |
SCP(Secure Copy) (0) | 2022.01.17 |