Linux에서 BIND (Berkeley Internet Name Domain) DNS 서버 설정에는 여러 단계가 필요합니다. 먼저 바인드 패키지를 설치해야합니다. 정확한 명령은 분포에 따라 다르지만 일반적으로 sudo apt-get install bind9
(Debian/Ubuntu) 또는 sudo yum install bind
(Centos/Rhel)와 같은 것입니다. 설치 후 코어 구성 파일은 일반적으로 /etc/bind/
에 있습니다. 주로 named.conf.options
및 named.conf.local
에서 작업합니다.
named.conf.options
청취 주소, 전달기 (다른 DNS 서버를 로컬로없는 경우 쿼리) 및 재귀 설정 (서버가 클라이언트의 쿼리를 재귀 적으로 해결하는지 여부)과 같은 전역 설정을 제어합니다. named.conf.local
서버가 관리 할 영역을 정의합니다. 영역은 DNS 네임 스페이스의 일부입니다 (예 : example.com). named.conf.local
내에서 실제 DNS 레코드 (A, AAAA, MX, CNAME 등)가 포함 된 영역 파일 위치를 지정합니다. 이 레코드는 도메인 이름을 IP 주소 및 기타 정보에 매핑합니다.
예를 들어, exember example.com
을 정의하려면 DNS 레코드가 포함 된 파일 (예 : /etc/bind/db.example.com
)을 만듭니다. 이 파일은 named.conf.local
에서 참조됩니다. 이러한 파일을 구성한 후 BIND 서비스 (예 : sudo systemctl restart bind9
)를 다시 시작해야합니다. 설정 테스트하는 것이 중요합니다. nslookup
과 같은 도구를 사용하거나 dig
서버를 쿼리하고 이름을 올바르게 해결하는지 확인하십시오. DNS 트래픽 (일반적으로 UDP 포트 53 및 TCP 포트 53)이 서버에 도달 할 수 있도록 적절한 방화벽 규칙을 구성해야합니다.
BIND DNS 서버의 필수 구성 파일은 주로 /etc/bind/
directory에 있습니다. 다음은 주요 파일과 그 역할의 분석입니다.
named.conf.options
: 이 파일에는 BIND 서버의 전역 옵션이 포함되어 있습니다. 주요 설정에는 다음이 포함됩니다.
listen-on port 53 { any; };
: IP 주소를 지정하고 서버가 듣는 포트. any
인터페이스를 의미합니다.allow-query { any; };
: 서버를 쿼리하기 위해 허용되는 IP 주소를 지정합니다. 모든 주소에서 쿼리를 허용하는 any
것은 생산 서버에 일반적으로 불안합니다. 더 나은 보안을 위해이를 특정 IP 주소 또는 네트워크로 제한하십시오.forwarders { 8.8.8.8; 8.8.4.4; };
: 서버가 로컬로 답변이없는 경우 쿼리를 전달할 업스트림 DNS 서버를 지정합니다. Google의 공개 DNS 서버를 사용하는 것은 일반적인 관행입니다.recursion yes;
또는 recursion no;
: 서버가 쿼리를 재귀 적으로 해결하는지 여부를 결정합니다. 서버가 클라이언트를위한 재귀적인 리졸버가되지 않는 한 일반적으로 재귀는 비활성화되어야합니다.directory "/var/cache/bind";
: 바인드가 캐시를 저장하는 디렉토리를 지정합니다.named.conf.local
: 이 파일에는 영역 정의가 포함되어 있습니다. 각 영역은 zone
지시문을 사용하여 정의되며 도메인 이름, 영역 유형 (마스터, 슬레이브 또는 앞으로) 및 영역 파일의 위치를 지정합니다. 예를 들어:<code>zone "example.com" { type master; file "/etc/bind/db.example.com"; };</code>
/etc/bind/db.example.com
) : 이 파일에는 각 영역의 실제 DNS 레코드가 포함되어 있습니다. 형식은 BAND에 의해 정의 된 특정 구문입니다. A, A, AAAA, MX, NS, CNAME 등과 같은 레코드가 포함되어 있습니다. 바인딩 오류 문제 해결에는 종종 로그 및 구성 파일을 확인하는 것이 포함됩니다. 기본 로그 파일은 일반적으로 /var/log/syslog
(또는 분포에 따라 유사한 위치)에 있으며 바인드 오류 메시지가 포함됩니다. 구성 파일, 권한 문제 또는 네트워크 연결 문제의 구문 오류와 관련된 오류 메시지를 찾으십시오.
일반적인 오류는 다음과 같습니다.
named.conf.options
named.conf.local
을주의 깊게 검토합니다. 단일 잘못 배치 된 세미콜론조차도 서버가 시작되지 않을 수 있습니다.named-checkzone
명령을 사용하여 서버를 다시 시작하기 전에 영역 파일을 확인하십시오.BIND DNS 서버 보안은 공격을 방지하고 데이터 무결성을 유지하는 데 중요합니다. 중요한 보안 조치는 다음과 같습니다.
allow-query
제한 : allow-query { any; }
생산 환경에서. 서버를 쿼리 할 수있는 IP 주소 또는 네트워크를 엄격히 제한합니다.이러한 보안 조치를 구현하고 모범 사례를 따르면 BIND DNS 서버의 보안을 크게 향상시킬 수 있습니다. 최신 정보 및 보안 권장 사항에 대한 공식 바인드 문서에 문의하십시오.
위 내용은 Linux에서 DNS 서버 (BIND)를 설정하려면 어떻게합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!