BIND 영역 파일에 CNAME 레코드 추가

BIND 영역 파일에 CNAME 레코드 추가

이름이 DNS 서버인 virtualbox를 사용하여 가상 사설망을 설정했습니다 dns1.xyz1.com. 나는 웹 서버라는 이름을 갖고 있습니다: xyz1.com.

내 DNS 서버를 사용하여 웹사이트의 IP 주소를 확인하고 싶습니다. 정방향 영역 파일을 다음과 같이 구성했습니다.

$TTL    604800

@       IN      SOA     dns1.xyz1.com. admin.xyz1.com. (
                              13         ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

; name servers - NS records
    IN  NS  dns1.xyz1.com.
    IN  NS  dns2.xyz1.com.

; name servers - A records
dns1.xyz1.com.          IN      A       192.168.56.13
dns2.xyz1.com.          IN      A       192.168.56.15

; 192.168.56.0/24 - A records
host1.xyz1.com.         IN      A       192.168.56.17
xyz1.com.               IN      CNAME   host1.xyz1.com.
host1.xyz1.com.         IN      TXT     "some text"
host2.xyz1.com.         IN      A       192.168.56.18

CNAME 레코드를 추가하기 전에 다음을 입력할 수 있었고 https://host1.xyz1.com브라우저는 나를 올바른 웹 서버로 전송해주었습니다.

https://xyz1.comCNAME 레코드를 추가한 후(브라우저에서 와 동일한 웹사이트로 번역하고 싶습니다 https://host1.xyz1.com), 안타깝게도 아래와 같이 CNAME 줄을 추가한 후에는 어떤 주소에서도 원하는 웹 서버가 열리지 않습니다. 둘 다: https://xyz1.com또는 https://host1.xyz1.com.

xyz1.com.               IN      CNAME   host1.xyz1.com.

참고로 named.conf.local파일 내용은 다음과 같습니다.

zone "xyz1.com" {
    type master;
    file "/etc/bind/forward.xyz1.com";
};

zone "56.168.192.in-addr.arpa"{
    type master;
    file "/etc/bind/reverse.xyz1.com";
};

결론:https://xyz1.com또는 다른 이름을 사용하여 동일한 웹 서버(동일 IP)에 액세스하고 싶습니다 https://host1.xyz1.com. 내 CNAME 레코드에 어떤 문제가 있는지 알려주실 수 있나요? 어떻게 해결할 수 있나요?

편집하다:

답변해주셔서 감사합니다. 하지만 문제는 여전히 존재합니다. xyz.com 주소를 확인할 수 없으며 xyz.com및 이름을 사용하여 특정 서버를 가리켜야 합니다 host1.xyz.com.

몇 가지 답변을 바탕으로 구성 파일의 다음 부분을 업데이트했습니다.

; 192.168.56.0/24 - A records
@           IN  A   192.168.56.7
host1.xyz1.com.         IN      CNAME   xyz1.com.
host1.xyz1.com.         IN      TXT     "text here"

IP가 있는 핑 가능한 웹 서버가 있습니다. 와 를 모두 가리키고 192.168.56.7싶습니다 . 이것을 달성하는 방법은 무엇입니까?xyz1.comhost1.xyz1.com

답변1

CNAME몇 가지 드문 예외를 제외하고 레코드는 다른 레코드 유형과 공존할 수 없습니다. 귀하의 경우에는 동일한 도메인이 이미 있고 기록 SOA하고 NS있습니다(zone apex가 항상 그랬던 것처럼).

결과적으로 BIND가 영역 파일 로드를 완전히 거부했을 가능성이 높습니다. (그러나 BIND의 오류 로그를 실제로 확인해야만 확실히 알 수 있습니다.)

즉, zone apex를 가질 수 없으며 IP 주소를 / 레코드 CNAME로 수동으로 복사해야 합니다 .AAAAA


앞으로 DNS는 ANAME전체 CNAME 의미 없이 IP 주소의 별칭을 지정할 수 있는 의사 레코드를 표준화할 수도 있습니다. (이는 현재 일부 DNS 호스팅 서비스에서 사용자 지정 추가 기능으로 제공됩니다.)여기,여기, 또는여기.

답변2

거꾸로 하고 계시네요. 도메인 이름을 하위 도메인의 CNAME으로 설정하지 마세요. 하위 도메인(host1)을 도메인(xyz1.com)의 CNAME으로 설정합니다.

@를 사용하여 루트 도메인(xyz1.com)을 나타냅니다.

;192.168.56.0/24 - A records              
@               IN      A       192.168.56.17
host1.xyz1.com.         IN      CNAME   xyz1.com.
host2.xyz1.com.         IN      A       192.168.56.18

관련 정보