이것은 학교 과제인데 DNS 바인딩 구성에 문제가 있습니다. DNS 서버를 설정하려면 SOA, NS 및 글루 레코드, www에 대한 A 레코드, 메일 및 하위 도메인 이름 서버, CNAME을 설정해야 합니다.
mcduckcorp.duckburg.cali 도메인에 대한 DNS 서버를 설정하려고 합니다.
mcduckcorp.db, duckburg.db 및 cali.db라는 세 가지 데이터베이스 파일이 있습니다. "named-checkzone" 명령을 사용하여 확인했는데 결과는 다음과 같습니다.
mcduck.db:
dns_master_load: /etc/bind/mcduckcorp.db:1: extra input text
dns_master_load: /etc/bind/mcduckcorp.db:16: www.mcduckcorp.duckburg.cali: CNAME and other data
zone mcduckcorp.duckburg.cali/IN: loading from master file /etc/bind/mcduckcorp.db failed: extra input text
zone mcduckcorp.duckburg.cali/IN: not loaded due to errors
duckburg.db:
dns_master_load: /etc/bind/duckburg.db:1: extra input text
zone duckburg.cali/IN: loading from master file /etc/bind/duckburg.db failed: extra input text
zone duckburg.cali/IN: not loaded due to errors
칼리 데이터베이스
dns_master_load: /etc/bind/cali.db:1: extra input text
zone cali/IN: loading from master file /etc/bind/cali.db failed: extra input text
zone cali/IN: not loaded due to errors
구성 파일은 다음과 같습니다.
mcduck.db:
$TTL 30 d
$ORIGIN mcduckcorp.duckburg.cali.
@ IN SOA ns1.mcduckcorp.duckburg.cali. mail.mcduckcorp.duckburg.cali. (
2019092700 ;serial
86400 ;refresh
7200 ;retry
3600000 ;expiration
172800) ;minimum
@ IN NS ns1.mcduckcorp.duckburg.cali.
ns1.mcduckcorp.duckburg.cali. IN A 192.168.1.10
mail.mcduckcorp.duckburg.cali. IN A 192.168.1.10
www.mcduckcorp.duckburg.cali. IN A 192.168.1.10
www IN CNAME squirrel
duckburg.db:
$TTL 30 d
$ORIGIN duckburg.cali.
@ IN SOA ns1.duckburg.cali. mail.duckburg.cali. (
2019092700 ;serial
86400 ;refresh
7200 ;retry
3600000 ;expiration
172800) ;minimum
@ IN NS ns1.duckburg.cali.
ns1.duckburg.cali. IN A 192.168.1.10
mail.mcduckcorp.duckburg.cali. IN A 192.168.1.10
www.mcduckcorp.duckburg.cali. IN A 192.168.1.10
subdomain IN NS ns1.mcduckcorp.duckburg.cali.
ns1.mcduckcorp.duckburg.cali. IN A 192.168.1.10
www IN CNAME squirrel
칼리 데이터베이스:
$TTL 30 d
$ORIGIN cali.
@ IN SOA ns1.cali. mail.cali. (
201909700 ;serial
86400 ;refresh
7200 ;retry
3600000 ;expiration
172800) ;minimum
@ IN NS ns1.cali.
ns1.cali. IN A 192.168.1.10
mail.mcduckcorp.duckburg.cali. IN A 192.168.1.10
www.mcduckcorp.duckburg.cali. IN A 192.168.1.10
subdomain IN NS ns1.duckburg.cali.
ns1.duckburg.cali. IN A 192.168.1.10
www IN CNAME squirrel
분명히 실수(또는 여러 번)를 저질렀지만 무엇이 잘못되었는지 잘 모르겠습니다. 어떤 도움이라도 대단히 감사하겠습니다!
답변1
영역 파일에는 몇 가지 명백한 문제가 있습니다.
예시나 과제를 위해서라도 자신이 소유하지 않은 도메인을 절대 사용해서는 안 됩니다. 지금은 존재하지 않을 수도 있지만, 미래에는 존재할 수도 있습니다.
example.org
,example.com
을example.net
예시와 숙제 등으로 사용하세요 . 이러한 도메인 이름은 누구에게도 할당되지 않으며 누구나 안전하게 사용할 수 있습니다. 이런 목적으로 존재합니다.행과 행 사이에는 공백이 없어야 합니다
30
.d
$TTL
mcduckcorp.db
먼저www.mcduckcorp.duckburg.cali
A 레코드를 IP 주소 192.168.1.10으로 정의 합니다 .나중에 이를 가리키는 CNAME으로 정의합니다
squirrel.mcduckcorp.duckburg.cali
. 이것은 작동하지 않습니다.ㅏ별칭 기록다른 도메인 이름을 가리키는 별칭을 정의합니다. 기록은 다음과 같습니다.
alias-name IN CNAME canonical-name
별칭은 다른 데이터 레코드를 가질 수 없으며,
A
또는MX
다른NS
어떤 것도 가질 수 없습니다. 이는 단지 다른 곳(표준 이름)을 가리키는 별칭일 뿐입니다. 즉, 별칭은 "상속"됩니다.모두그것이 가리키는 이름에 대한 데이터이며 어떠한 방식으로도 수정할 수 없습니다(추가, 삭제 또는 편집할 수 없음).
귀하의 과제에서는 A 레코드와 CNAME 레코드의 예를 보여달라고 요청합니다. 도메인 자체에 대한 A 레코드를 생성한 다음 www
이를 가리키는 별칭을 생성해 보십시오. 예를 들어
@ IN A 192.168.1.10
www IN CNAME @
www
@
($ORIGIN, 도메인 자체)와 관련된 모든 레코드를 "상속"합니다. 여기에는 A 레코드는 물론 NS, MX, TXT 및 존재할 수 있는 기타 레코드가 포함됩니다.
여기서 NS 레코드는 대부분 관련이 없지만 MX 레코드는 예를 들어 메일 서버가 domain.example.com
메일도 처리하도록 구성된 경우 유용할 수 있습니다 www.domain.example.com
.
또는 A 레코드를 만든 www
다음 squirrel
해당 레코드를 가리키는 별칭을 만들 수 있습니다. 예를 들어
www IN A 192.168.1.10
squirrel IN CNAME www
여기서 squirrel은 www
하나의 A 레코드를 제외하고 모두 상속받습니다.