웹사이트 검색

CentOS 6.5에서 "바인드"를 사용하여 캐싱 전용 DNS 서버 설정


DNS 서버에는 마스터, 슬레이브, 포워딩, 캐시 등 여러 유형이 있으며, 그 중 캐싱 전용 DNS가 설치가 더 쉽습니다. DNS는 UDP 프로토콜을 사용하므로 UDP 프로토콜에는 승인이 없기 때문에 쿼리 시간이 줄어듭니다.

추가 읽기: CentOS 6.5에서 마스터-슬레이브 DNS 서버 설정

캐싱 전용 DNS 서버는 확인자라고도 합니다. DNS 레코드를 쿼리하고 다른 서버에서 모든 DNS 정보를 가져오고 나중에 사용할 수 있도록 각 쿼리 요청을 캐시에 저장합니다. 두 번째로 동일한 요청을 쿼리하는 동안 해당 요청은 캐시에서 제공되므로 쿼리 시간이 줄어듭니다.

CentOS/RHEL 7에서 DNS 캐싱 전용 서버를 설정하려는 경우 여기에서 이 가이드를 따르세요.

CentOS/RHEL 7에서 캐싱 전용 DNS 이름 서버 설정

내 테스트 환경
IP Address	:	192.168.0.200
Host-name	:	dns.tecmintlocal.com
OS		:	Centos 6.5 Final
Ports Used	:	53
Config File	:	/etc/named.conf
script file	:	/etc/init.d/named

1단계: 캐싱 전용 DNS 설치

1. 캐싱 전용 DNS는 'bind' 패키지를 사용하여 설치할 수 있습니다. 채우기 패키지 이름이 기억나지 않으면 아래 명령을 사용하여 패키지 이름을 간단히 검색해 보겠습니다.

yum search bind

2. 위 결과에는 표시된 패키지가 표시됩니다. 여기에서 'bind' 및 'bind-utils' 패키지를 선택해야 하며, 다음 'yum' 명령을 사용하여 설치하겠습니다.

yum install bind bind-utils -y

2단계: 캐싱 전용 DNS 구성

3. DNS 패키지가 설치되면 DNS 구성으로 이동합니다. vim 편집기를 사용하여 'named.conf' 파일을 열고 편집하세요.

vim /etc/named.conf

4. 그런 다음 아래 제안된 대로 변경하거나 요구 사항에 따라 설정을 사용할 수 있습니다. 다음은 캐싱 전용 DNS 서버에 대해 수행해야 할 변경 사항입니다. 여기에는 기본적으로 localhost가 있으므로 모든 네트워크 범위의 쿼리를 허용하려면 'any'를 추가해야 합니다.

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };

  1. 수신 포트 53 – 이는 캐시 서버가 쿼리에 포트 53을 사용하려고 함을 의미합니다.
  2. allow-query – 이것은 누구나 쿼리를 보낼 수 있는 모든 곳에서 서버에 쿼리할 수 있는 IP 주소를 지정합니다. 여기서는 localhost에 대해 정의했습니다.
  3. allow-query-cache – 쿼리 요청을 바인드에 추가합니다.
  4. 재귀 – 이는 답변을 쿼리하여 우리에게 돌려줍니다. 쿼리 중에 인터넷을 통해 다른 DNS 서버에 쿼리를 보내고 쿼리를 되돌릴 수 있습니다.

5. 파일을 편집한 후 'named.conf' 파일 소유권이 root:named에서 변경되지 않았는지 확인해야 합니다. DNS는 named라는 시스템 사용자 하에서 실행됩니다.

ls -l /etc/named.conf
ls -l /etc/named.rfc1912.zones

6. 서버가 selinux를 활성화한 경우 'named.conf' 파일을 편집한 후 selinux 컨텍스트를 확인해야 하며 명명된 모든 구성 파일은 ' system_u:object_r:named_conf_t:s0” 컨텍스트는 아래 이미지와 같습니다.

ls -lZ /etc/named.conf
ls -lZ /etc/named.rfc1912.zones

좋습니다. 이제 바인딩 서비스를 시작하기 전에 일부 구문 오류가 있는지 DNS 구성을 테스트해야 합니다. 오류가 발견되면 /var/messages에서도 추적할 수 있습니다.

named-checkconf /etc/named.conf

구문 검사 결과가 완벽해 보이면 서비스를 다시 시작하여 위의 변경 사항을 적용하고 서비스가 지속적으로 실행되도록 하고 서버를 재부팅하여 동일한 내용을 확인합니다.

/etc/init.d/named restart
chkconfig named on
chkconfig --list named

7. 다음으로 방화벽에서 포트 53을 열어 액세스를 허용하세요.

iptables -I INPUT -p udp --dport 53 -j ACCEPT

4단계: Chroot 캐싱 전용 DNS

8. chroot 환경에서 DNS 캐싱 서버를 실행하려면 chroot 패키지만 설치하면 되며 추가 작업은 필요하지 않습니다. 구성은 기본적으로 chroot에 대한 하드 링크입니다.

yum install bind-chroot -y

chroot 패키지가 설치되면 명명된 서비스를 다시 시작하여 새로운 변경 사항을 적용할 수 있습니다.

/etc/init.d/named restart

9. 명명된 서비스를 다시 시작하면 /etc/named 구성 파일에서 /var/named/chroot/etc/로의 하드 링크가 자동으로 생성됩니다. 디렉토리. 확인하려면 /var/named/chroot에서 cat 명령을 사용하세요.

sudo cat /var/named/chroot/etc/named.conf

위 구성에서는 bind-chroot 패키지를 설치하는 동안 교체되므로 동일한 /etc/named.conf 구성을 볼 수 있습니다.

5단계: 클라이언트측 DNS 설정

10. DNS 캐싱 서버 IP 192.168.0.200를 클라이언트 시스템에 확인자로 추가합니다.

Debian 기반 시스템에서는 /etc/resolv.conf 아래에 있고 RPM 기반 시스템에서는 setup 명령 아래에 있거나 편집할 수 있습니다. /etc/sysconfig/network-scripts/ifcfg-eth0 파일에서 수동으로.

11. 마지막으로 몇 가지 도구를 사용하여 캐시 서버를 확인할 시간입니다. Linux 시스템에서는 dignslookup 명령을 사용하여 테스트할 수 있으며 Windows에서는 nslookup 명령을 사용할 수 있습니다.

쿼리를 캐시할 수 있도록 'facebook.com'을 처음으로 쿼리해 보겠습니다.

dig facebook.com

dig facebook.com

동일한 내용을 확인하려면 'nslookup' 명령을 사용하세요.

nslookup facebook.com

dig 및 nslookup 명령 예와 사용법에 대해 자세히 알아보려면 다음 링크를 사용하세요.

  1. 8 nslookup 명령 및 사용법
  2. 10가지 발굴 명령 및 사용법

여기서 우리는 바인딩 패키지를 사용하여 DNS 캐싱 전용 서버를 얼마나 성공적으로 설정하고 chroot 패키지를 사용하여 이를 보호했는지 확인했습니다.