DNS(Domain Name System)는 인터넷에서 도메인 이름을 IP 주소로 변환하는 중요한 서비스입니다. 이 글에서는 Rocky Linux 환경에서 BIND를 사용하여 네임서버(DNS)를 구축하는 방법을 자세히 설명합니다. 이 가이드를 따르면 기본적인 DNS 서버를 구성하고 설정할 수 있습니다.
1. BIND란?
BIND(Berkeley Internet Name Domain)는 가장 널리 사용되는 DNS 서버 소프트웨어 중 하나로, 안정성과 유연성이 뛰어납니다. Rocky Linux와 같은 리눅스 배포판에서 BIND를 사용하여 DNS 서버를 쉽게 구축할 수 있습니다.
DNS란?
2. BIND 설치하기
2-1. BIND 패키지 설치
Rocky Linux에서 BIND를 설치하려면 dnf 명령어를 사용합니다:
sudo dnf install bind bind-utils -y
bind-utils는 DNS 쿼리와 관련된 유용한 도구를 제공합니다.
2-2. 설치 확인
설치가 완료되면 다음 명령어로 BIND 버전을 확인합니다:
named -v
3. BIND 설정 파일 편집
BIND의 주요 설정 파일은 /etc/named.conf입니다. 설정 파일을 수정하여 DNS 서버를 구성합니다.
3-1. 설정 파일 열기
sudo nano /etc/named.conf
3-2. 주요 설정 항목
기본적으로 다음과 같은 설정을 수정하거나 확인해야 합니다:
- DNS 서버의 허용 네트워크 설정:
acl "trusted" {
192.168.1.0/24; # 신뢰할 수 있는 네트워크
localhost;
};
options {
listen-on port 53 { 127.0.0.1; 192.168.1.1; }; # 서버 IP
allow-query { trusted; };
recursion yes;
};
- 로그 설정:
logging {
channel default_debug {
file "/var/named/data/named.run";
severity dynamic;
};
};
3-3. 영역(zone) 파일 설정
named.conf 파일에 영역 파일을 추가합니다. 예를 들어, example.com 도메인을 설정하려면 다음을 추가합니다:
zone "example.com" IN {
type master;
file "/var/named/example.com.zone";
};
4. 영역 파일(zone file) 생성
4-1. 기본 영역 파일 생성
다음 명령어를 사용하여 새로운 영역 파일을 생성합니다:
sudo nano /var/named/example.com.zone
4-2. 영역 파일 내용 작성
아래는 기본 영역 파일 예시입니다:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025010101 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Minimum TTL
IN NS ns1.example.com.
IN A 192.168.1.1
ns1 IN A 192.168.1.1
www IN A 192.168.1.2
4-3. 파일 권한 변경
BIND가 영역 파일에 접근할 수 있도록 권한을 설정합니다:
sudo chown root:named /var/named/example.com.zone
sudo chmod 640 /var/named/example.com.zone
5. BIND 서비스 활성화 및 확인
5-1. 서비스 활성화 및 시작
BIND 서비스를 활성화하고 시작합니다:
sudo systemctl enable --now named
5-2. 서비스 상태 확인
BIND가 정상적으로 실행 중인지 확인하려면:
sudo systemctl status named
5-3. 방화벽 설정
DNS 서비스가 외부에서 접근 가능하도록 방화벽 설정을 업데이트합니다:
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
6. DNS 서버 테스트
6-1. dig 명령어 사용
DNS 서버가 제대로 작동하는지 확인하려면 dig 명령어를 사용합니다:
dig @192.168.1.1 example.com
6-2. NS 및 A 레코드 확인
특정 레코드가 올바르게 설정되었는지 확인합니다:
dig @192.168.1.1 ns1.example.com
마무리
위 과정을 통해 Rocky Linux에서 BIND를 이용한 DNS 서버를 성공적으로 구축할 수 있습니다. 이 가이드는 기본적인 설정을 다루었으며, 추가적으로 필요에 따라 보안 및 성능을 최적화할 수 있습니다. Rocky Linux와 BIND의 강력한 기능을 활용하여 다양한 네트워크 환경에서 효율적인 DNS 서비스를 제공해 보세요!


