답변:
우선 다음 명령을 사용하려면 서버의 DHCP IP 주소를 STATIC으로 변경하십시오.
sudo nano /etc/network/interfaces
그리고 추가하십시오 :
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers
네트워킹 데몬 재시작
sudo /etc/init.d/networking restart
Linux Ubuntu에서 DNS 서버를 구성하기 전에 먼저 도메인 이름을 지정해야합니다. 먼저 호스트 이름 명령을 확인하십시오.
sudo nano /etc/hostname
nefitari
(이것은 내 우분투 서버 호스트 이름과 다를 수 있습니다. 필요에 따라 변경할 수 있습니다)
이제 호스트 이름 뒤에 서버의 도메인 이름을 만들어야합니다. servername.domain.com이라고 가정하면 가정용으로 서버를 구성 할 때마다 .com을 사용하지 말고 .hom 또는 .net 또는 원하는 것을 사용하는 것이 좋습니다. 아래 명령을 내리십시오
sudo nano /etc/hosts
그것이 없다면 추가하십시오 :
127.0.0.1 localhost
192.168.1.5 nefitari.autun.hom nefitari
내 파일 127.0.0.1은 localhost 용이며 192.168.1.5 인 서버 IP로 두 번째 IP 주소 127.0.1.1을 변경했습니다. 이제 호스트 이름이 nefitari 인 도메인 이름을 입력 한 다음 도메인 이름은 autun.hom 이고 별명을 입력하십시오 네 피타 리 . 자신의 hostname.abc.net 또는 hostname.home.lan 등을 선택할 수 있지만이 파일로 변경하면 서버를 다시 시작한 다음 로그인해야합니다. 다시 시작해야합니다
sudo apt-get install bind9
설치 후 아래 파일을 단계별로 구성하십시오.
이제 named.conf.options 파일 구성 이 파일은 DNS IP에 사용됩니다. 이는 서버가 외부의 일부 DNS에 연결해야 함을 의미합니다. ISP에서 도메인 이름을 구매하면 일반적으로 자체 DNS IP를 제공합니다. Google의 공개 DNS IP를 사용할 수 있습니다. 필자의 경우 ISP ISP IP를 사용하고 있습니다.
sudo nano /etc/bind/named.conf.options
forwarders {
# Give here your ISP DNS IP’s
192.168.1.1; # gateway or router
182.176.39.23;
182.176.18.13;
68.87.76.178;
};
*** 파일을 저장하고 *** 제어 x를 사용하여 종료하십시오 *** y를 누르고 파일을 덮어 씁니다.
이제 이름 이 .conf.local 인 파일을 편집하십시오. 이것은 포워드 존과 리버스 존을 정의하는 파일입니다. 즉, 도메인 이름을 입력하면 IP 주소로 변환되고 IP 주소를 입력하면 단순히 이름으로 변환됩니다.
sudo nano /etc/bind/named.conf.local
표시됩니다:
# Our forward zone
zone "autun.hom" {
type master;
file "/etc/bind/zones/db.autun.hom";
};
# Our reverse Zone
# Server IP 192.168.1.5
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192";
};
*** 파일을 저장하고 *** 제어 x를 사용하여 종료하십시오 *** y를 누르고 파일을 덮어 씁니다.
이제이 두 데이터베이스 파일 을 영역 폴더에 db.autun.hom 및 db.192로 만듭니다 .
먼저 / etc / bind /에 디렉토리 영역을 만드십시오.
sudo mkdir /etc/bind/zones
파일을 만들기 전에 다른 장치가 있음을 알려드립니다
장치 IP
이제 zones 디렉토리에서 두 개의 파일을 먼저 db.autun.hom 파일로 만듭니다 . 이름을 db.autun.hom 로 변경하여 / etc / bind 폴더 에 이미 존재 하는 db.local 을 zones 폴더로 복사하고 있습니다 . 이 IP를 db.autun.hom 파일에 넣겠습니다. 시작하자
sudo cp /etc/bind/db.local /etc/bind/zones/db.autun.hom
이제 아래 명령을 사용하여 파일을 편집하십시오.
sudo nano /etc/bind/zones/db.autun.hom
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
autun.hom. IN NS nefitari.autun.hom.
autun.hom. IN A 192.168.1.5
;@ IN A 127.0.0.1
;@ IN AAAA ::1
nefitari IN A 192.168.1.5
gateway IN A 192.168.1.1
win7pc IN A 192.168.1.50
www IN CNAME autun.hom.
저장 후 종료
이제 역방향 조회 영역 파일을 만듭니다.
sudo cp /etc/bind/db.127 /etc/bind/zones/db.192
이제 아래 명령을 사용하여 파일을 편집하십시오.
sudo nano /etc/bind/zones/db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS nefitari.
1 IN PTR gateway.autun.hom.
5 IN PTR nefitari.autun.hom.
50 IN PTR win7pc.autun.hom.
저장 후 종료
이제 영역 파일을 다 사용했으면 앞으로 영역 파일에 대해 아래 명령을 입력하여 영역 파일이 올바르게 작동하는지 확인해야합니다.
named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
이제 리버스 존 파일을 확인하십시오
named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 2
Ok
named-checkzone의 출력이 위와 동일하면 정상적으로 작동합니다. 그렇지 않으면 파일에 실수가 있습니다.
이제 resolv.conf 파일을 편집하십시오.
sudo nano /etc/resolv.conf
nameserver 192.168.1.5
domain autun.hom
search autun.hom
resolv.conf 파일에 다음 줄을 입력하고 저장하십시오
바인드 재시작
sudo /etc/init.d/bind9 restart
바인드 시작 후 로그 파일에서 설정을 확인하십시오.
tail -f /var/log/syslog
로그에 오류가 없어야합니다
host –l autun.hom
출력은 다음과 같아야합니다
autun.hom name server nefitari.autun.hom.
autun.hom has address 192.168.1.5
gateway.autun.hom has address 192.168.1.1
nefitari.autun.hom has address 192.168.1.5
win7pc.autun.hom has address 192.168.1.50
이제 NSLOOKUP을 사용하십시오.
nslookup autun.hom
산출
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
DIG 사용
dig gateway.autun.hom
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;gateway.autun.hom IN A
;; ANSWER SECTION:
gateway.autun.hom 604800 IN A 192.168.1.1
;; AUTHORITY SECTION:
Autun.hom. 604800 IN NS nefitari.autun.hom.
;; ADDITIONAL SECTION:
Nefitari.autun.hom. 604800 IN A 192.168.1.5
;; Query time: 12 msec
;; SERVER: 192.168.1.5#53(192.168.1.5)
;; WHEN: Thu Aug 8 01:56:25 2013
;; MSG SIZE rcvd: 90
출력은 위와 유사하고 상태를 점검하십시오 . NOERROR 는 점검을 해결 중임을 의미합니다 . 답변 섹션 : gateway.autun.hom는 192.168.1.1로 해석됩니다.
host 192.168.1.1
산출
1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom
아래와 같은 오류가 발생하면
host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
즉 , 리버스 영역의 /etc/bind/named.conf.local 파일에서 실수를 한 것입니다. 서버 IP가 192.168.1.5 인 경우 리버스 영역은 다음과 같습니다.
zone "**1.168.192**.in-addr.arpa" {
correct ip reversing
};
때때로 사람들은 (예를 들어) IP를 뒤집는 데 실수를했습니다.
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
NSLOOKUP 사용
nslookup 192.168.1.1
Server: 192.168.1.5
Address: 192.168.1.5#53
1.1.168.192.in-addr.arpa name=gateway.autun.hom
NXDOMAIN 또는 SERVFAIL과 같은 오류가 발생하면 영역 파일 중 하나가 올바르게 작동하지 않는 것입니다.
지금 당신은 할 수 ubuntu.com를 핑 (ping) 또는 ubuntu.com 발굴 이 소요됩니다 처음 몇 이름 ubuntu.com를 해결하기 위해 밀리 초를하지만, 당신이 그것을 실행할 때 두 번째 시간이 걸릴 것입니다 1, 2 또는 3 초 일반적으로 1 밀리 10을 형성 초 는 정상이며 DNS가 제대로 작동하고 있음을 의미합니다
창쪽
그리고 여기에 IP 주소를 제공하십시오 (제 경우에는 192.168.1.50입니다 win7pc를 기억하십니까)
그리고 당신은 열린 CMD로 끝났습니다.
ping gateway
그것은 당신에게 몇 가지 대답을 제공해야합니다
비슷하게
ping 192.168.1.1 or 5
그것은 당신에게 몇 가지 대답을 제공해야합니다
외부 세계로 서버 테스트
이제 ubuntu.com 또는 dig ubuntu.com을 처음으로 ping 할 수 있습니다. ubuntu.com이라는 이름을 확인하는 데 몇 밀리 초가 걸리지 만 두 번째로 실행하면 정상 시간은 1-10 밀리 초입니다. DNS가 제대로 작동한다는 의미입니다. 클라이언트 구성
창쪽
개방형 네트워크 연결 선택 어댑터 설정 변경 속성 선택 인터넷 프로토콜 버전 IPv4 선택
그리고 여기에 IP 주소를 제공하십시오 (제 경우에는 192.168.1.50입니다 win7pc를 기억하십니까)
IP 주소 192.168.1.50
서브넷 마스크 255.255.255.0
기본 게이트웨이 192.168.1.1
기본 DNS 192.168.1.5 (새로운 BIND DNS 서버 IP)
같은 창에서 고급을 선택하십시오.
DNS 탭을 선택 하십시오
이 연결에 대한 DNS 접미사에 여기에 텍스트 상자를 입력하십시오.
클릭 확인
종료시 설정 확인을 클릭하십시오
클릭 확인
그리고 당신은 열린 CMD 로 끝났습니다.
암호:
ping gateway
그것은 당신에게 몇 가지 대답을 제공해야합니다
비슷하게
암호:
ping 192.168.1.1 or 5
NSLOOKUP 코드를 사용할 수있는 답장을 제공해야합니다 .
nslookup gateway
리눅스 클라이언트
암호:
sudo nano /etc/network/interfaces
다음 줄을 입력하십시오
암호:
auto eth0
iface eth0 inet dhcp
이제 네트워크 데몬을 다시 시작하십시오.
암호:
sudo /etc/init.d/networking restart
클라이언트 갱신 IP 명령을 강제로
암호:
sudo dhclient -r
이제 새로운 IP를 얻으십시오 :
암호:
sudo dhclient
네트워크에서 DHCP 서버를 실행중인 경우 dhcpd.conf 파일에 도메인 이름 및 이름 서버를 입력하십시오. 예를 들어 nefitari.autun.hom라는 DNS 서버가 있고 IP 주소는 아래와 같이 192.168.1.5입니다.
암호:
option domain-name "nefitari.autun.hom";
option domain-name-server 192.168.1.5;
../run/resolvconf/resolv.conf
.
(network unreachable) resolving './NS/IN': 2001:500:3::42#53
-ipv6을 사용하여 재귀 적으로 쿼리를 해결하려는 바인드에서 발생했습니다 . 편집 /etc/default/bind9
하고 사용하면 문제가 OPTIONS="-u bind -4"
해결됩니다. 추가 정보 : serverfault.com/questions/77325/unreachable-resolveving-domain
db.192
이전 파일 IN NS nefitari.
에서 @
누락되었습니다. 또한 FQDN을 추가해야했기 때문에 작업 라인이 다음과 같이 보였습니다 @ IN NS nefitari.autun.hom.
. resolv.conf 섹션을 무시하고 jdthood의 조언을 따랐습니다. 기본 서버 설치에서 이미 링크가있었습니다.
대답은 위의 훌륭한 설명에 추가 된 것입니다.
문제 해결 팁
많은 '.'에 매우주의하십시오. 구성 파일에서 각각 중요합니다. 누락 된 '.' DNS 서버가 작동하지 못하게 할 수 있습니다. 명확한 오류 메시지를 기 대해서는 안됩니다.
더 많은 일련 번호를 사용하는 것이 좋습니다. 설정을 수정할 때마다 일련 번호를 증가시키는 것이 중요합니다 (예 : 새 항목 추가). 증가하지 않으면 보조 DNS가 새 설정을 동기화하지 못합니다. 제안 된 형식은입니다 YYYYMMDDss
. 여기서 ss
"오래된"일련 번호입니다. 증가 때, 당신은 증가한다 ss
+1 하고 현재 날짜로 날짜를 설정합니다. 설정 문제를 해결하는 데 매우 유용한 것으로 나타났습니다. syslog에는 사용 된 파일의 날짜와 일련 번호가 명확하게 표시됩니다.
우분투 16.04에서는 resolv.conf 변경이 더 이상 사용되지 않습니다. 으로 jdthood이 자신의 의견의 글을 다음의 절차와 단계를 대체 : - 변경은 / etc / 기본 / BIND9 : 새로운 뜻을 같이해야한다 :
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind"
# use this when you have trouble with IPV6
#OPTIONS="-u bind -4"
IPV6 문제에 대해서는 패치 가 아닌 의견을 참조하십시오 .
/etc/resolv.conf의 심볼릭 링크를 /run/resolvconf/resolv.conf에 넣습니다.
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
오프라인 설정
전달 섹션을 건너 뛸 수 있기 때문에 설정이 동일하고 약간 더 쉽습니다. 존재하지 않아도되므로 편집 할 필요가 없습니다 /etc/bind/names.con.options
.
B 급 네트워크
클래스 B 네트워크에 대해이 작업을 수행하는 데 약간의 변경이 필요합니다 (의견이 있기 전에 집에서도 로컬 네트워크가 클래스 C 네트워크 대신 클래스 B가 될 수없는 이유는 없습니다) . 이 예에서는 네트워크 번호 172.20.xx를 사용합니다 (자세한 정보는 Google rfc1918의 경우 공식 표기법은 172.20.0.0입니다).
첫 번째 답변의 설명을 사용하고 모든 IP 192.168.xx를 172.20.xx로 바꾸고 서버 IP 172.20.0.100에 사용하고 다음과 같이 파일을 수정하십시오.
db.192
이됩니다 db.172
.파일 named.conf.local
은 다른 리버스 존 섹션을 얻습니다.
zone "20.172.in-addr.arpe" {
type master;
file "/etc/bind/zones/db.172";
}
리버스 존 파일은 다음과 같이 변경됩니다.
;
; BIND reverse data file for 172.20.x.x
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2017022102 ; more intuitive serial YYYYMMDDss, here ss=02
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; note: the '@'was missing from in the initial description
@ IN NS nefitari.autun.hom.
100.0 IN PTR nefitari.autun.hom.
121.0 IN PTR client1.autun.hom.
130.0 IN PTR client2.autun.hom.
33.0 IN PTR client3.autun.hom.
나머지는 동일합니다.
누군가에게 유용하기를 바랍니다.