개요
DNS (Domain Name System) 서버는 인터넷상에서 도메인 이름과 IP 주소 간의 변환을 담당하는 중요한 역할을 합니다. CentOS에서는 BIND (Berkeley Internet Name Domain)를 사용하여 DNS 서버를 설정할 수 있습니다. 이 블로그 포스트에서는 CentOS에서 DNS 서버를 설정하는 방법을 소개합니다.
CentOS에 BIND 설치하기
먼저 CentOS 시스템에 BIND를 설치해야 합니다. 다음 명령을 사용하여 BIND 패키지를 설치합니다.
sudo yum install bind
BIND 구성 파일 수정하기
BIND를 설치한 후에는 구성 파일을 수정하여 DNS 서버의 동작 방식을 결정해야 합니다. 기본적으로 named.conf
파일을 수정하면 됩니다.
sudo vi /etc/named.conf
주석 제거
named.conf
파일에서 주석된 줄을 찾아서 제거합니다. 주석된 줄은 //
로 시작하거나 /* */
로 감싸여 있습니다. 주석은 구성 파일의 이해를 돕기 위한 것이지만 실제 적용되지 않기 때문에 제거해야 합니다.
DNS 존 설정
named.conf
파일에서 DNS 존 설정을 추가합니다. DNS 존은 도메인의 이름, IP 주소 및 기타 DNS 레코드를 포함하는 데이터베이스입니다. 존 정보를 추가하는 방법은 다음과 같습니다.
zone "example.com" {
type master;
file "/var/named/example.com.zone";
};
위 예제에서는 example.com
도메인을 위한 DNS 존을 설정하고 있습니다. example.com.zone
파일에 실제 도메인의 정보가 저장됩니다. 이 파일은 나중에 생성할 수 있습니다.
전체 구성 파일 저장 및 닫기
named.conf
파일을 저장하고 닫습니다.
DNS 존 파일 추가하기
위에서 설정한 DNS 존에 대한 정보를 포함하는 존 파일을 생성해야 합니다.
sudo vi /var/named/example.com.zone
존 설정 추가
새로 생성한 존 파일에 존 설정을 추가합니다. 존 설정은 도메인과 관련된 DNS 레코드를 정의합니다. 예를 들어, A 레코드는 이름과 IP 주소 간의 매핑을 지정하는 레코드입니다. 존 파일에 대한 예제는 다음과 같습니다.
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2019010101 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ; minimum TTL
)
;
@ IN NS ns1.example.com.
;
ns1 IN A 192.168.1.10
www IN A 192.168.1.20
위 예제에서는 ns1.example.com
과 www.example.com
에 대한 A 레코드를 정의하고 있습니다. ns1.example.com
은 IP 주소 192.168.1.10
으로, www.example.com
은 IP 주소 192.168.1.20
으로 매핑되어 있습니다.
전체 존 파일 저장 및 닫기
example.com.zone
파일을 저장하고 닫습니다.
DNS 서버 시작하기
DNS 서버를 시작하기 전에 SELinux를 임시로 비활성화하는 것이 좋습니다.
sudo setenforce 0
DNS 서버를 시작합니다.
sudo systemctl start named
DNS 서버가 부팅 시 자동으로 시작되도록 하려면 다음 명령을 사용합니다.
sudo systemctl enable named
CentOS 방화벽 설정 업데이트하기
실제 트래픽을 DNS 서버로 전달하기 위해서는 CentOS 방화벽에 필요한 포트를 허용해야 합니다. DNS 서버를 사용하는 포트로는 TCP/UDP 53이 있습니다.
sudo firewall-cmd --zone=public --add-port=53/tcp --permanent
sudo firewall-cmd --zone=public --add-port=53/udp --permanent
sudo firewall-cmd --reload
테스트
DNS 서버가 제대로 설정되었는지 확인하기 위해 다음 명령을 사용하여 도메인 이름을 해석해 보세요.
nslookup example.com
위 명령은 example.com
도메인 이름에 대한 IP 주소를 검색합니다.
결론
CentOS에서 DNS 서버를 설정하는 방법에 대해 알아보았습니다. BIND 구성 파일을 수정하고 DNS 존 파일을 생성한 후 DNS 서버를 시작하여 도메인 이름과 IP 주소 간의 변환을 수행할 수 있습니다. DNS 서버를 올바르게 구성하면 네트워크 환경에서 도메인 이름 기반으로 리소스에 쉽게 접근할 수 있습니다.
DNS 설정 및 구성에 대한 자세한 내용은 CentOS 공식 문서를 참조하세요.