RedHat에서 DNS 서버를 설정할 때 제가 무엇을 잘못했는지 궁금합니다. DNS 서버는 내부 네트워크 내의 이름만 확인합니다. 예: server1.test.net은 -> 172.16.32.100.. 등을 확인합니다.
현재는 nslookup용 서버를 사용하여 서버 내의 이름만 확인할 수 있으며 127.0.0.1에서 확인되지만 동일한 네트워크에 있는 다른 컴퓨터를 사용하면 특히 Windows 컴퓨터에서 "서버가 응답하지 않습니다"라는 메시지가 나타납니다.
현재 출시 전에 가상 머신에서 실행 중입니다.
Linux 방화벽에서는 tcp/udp 53을 허용합니다.
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 140.38.85.250; 127.0.0.1; };
listen-on-v6 port 53 { none; };
#listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
zone "sads.com" {
type master;
file "/var/named/sads.com.hosts";
};
편집 1: 파일을 올바르게 편집하고 생성할 수 없는 것 같아서 webmin을 사용하여 서버를 구성했습니다.
답변1
/etc/named.conf의 일부 문제
IPv6 청취를 피할 이유가 없습니다 ::1
. 이는 IPv4 127.0.0.1과 동등한 IPv6입니다. 주석 해제:
#listen-on-v6 port 53 { ::1; };
서버가 원하는 경우:
내부 네트워크 내의 이름만 확인
소스 IP에만 응답하는 것이 아니라 내부 네트워크의 IP에만 응답하고 싶습니다. 설정(예:):
allow-query { 172.16.0.0/12; 192.168.196.0/24; localhost; };
또한 당신은아니요재귀를 활성화해야 합니다. 재귀를 활성화하려는 경우 서버는 인터넷에 연결하여 외부 이름(172.16.xx의 이름뿐만 아니라)을 찾고 확인합니다.RFC 1918주소)).
간단하게 유지하려면 다음을 설정하십시오.
recursion no
나중에 다른 인터넷 이름을 확인하기 위해 이 서버가 필요한 경우 분할 수평 DNS 서버(매우 복잡함)를 만들어야 합니다.
dnssec을 설정할 필요가 없습니다(아마도 로컬 이름이 이를 사용하지 않을 수도 있습니다).
그러나 구체적으로 DLV를 활성화할 이유가 없습니다. 이는 루트 영역이 DNSSEC에 서명되기 전의 오래된 솔루션이었습니다. 해당 사건은 2010년 7월경에 발생했습니다. 모든 dnssec
줄과 줄을 주석 처리하십시오 bindkeys
.
이제 신뢰할 수 있는 로컬 도메인 이름을 설정해야 합니다. 그것을 부르 company.priv.
거나 site.internal.
다른 것으로 부를 수 있습니다 . something.local.
Apple Bonjour 시스템에는 이러한 유형의 도메인 이름에 대한 특정 목적이 있으므로 이 이름을 사용하지 마십시오 .
귀하가 제공한 파일에 있는 내용과 매우 유사한 내용은 없습니다.
개인 로컬 도메인에도 적용되지 않는 이전 지침을 따르고 있는 것 같습니다. 도움말을 찾으려면 인터넷에서 "바인드 서버를 신뢰할 수 있는 로컬 도메인으로 설정"을 검색하세요.
이 링크어쩌면 그것이 당신에게 필요한 것일 수도 있습니다.
DNS 서버(특히 몇 개의 권한 있는 서버)를 설정하는 것은아니요작업 시간은 5분입니다. 약간의 작업과 테스트가 필요합니다.