Làm cách nào để thực hiện Cấu hình Máy chủ DNS BIND9 hoàn chỉnh với tên máy chủ?


53

Tôi cần một hướng dẫn từng bước đầy đủ về cách sản xuất cấu hình máy chủ như vậy.

Ai giúp tôi với?

Câu trả lời:


119

Máy chủ DNS hoàn chỉnh trong máy chủ Ubuntu 12.

Trước hết, thay đổi địa chỉ IP của máy chủ của bạn dưới dạng DHCP thành STATIC để sử dụng lệnh sau

sudo nano /etc/network/interfaces

và thêm:

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

Khởi động lại daemon

sudo /etc/init.d/networking restart

Trước khi định cấu hình máy chủ DNS trong Ubuntu Ubuntu, bạn phải tạo tên miền trước và sau đó bạn sẽ tiếp tục. Trước tiên, bạn sẽ kiểm tra lệnh tên máy chủ của bạn cho điều này là

sudo nano /etc/hostname

 nefitari       

(Đây là tên máy chủ Ubuntu của tôi có thể khác. Bạn có thể thay đổi tùy theo nhu cầu của bạn)

Bây giờ sau tên máy chủ, bạn phải tạo tên miền cho máy chủ của mình. Nói servername.domain.com, tốt hơn hết là bất cứ khi nào bạn định cấu hình máy chủ để sử dụng tại nhà hoặc không, đừng sử dụng .com nhưng .hom hoặc .net hoặc bất cứ điều gì bạn thích. Đưa ra lệnh dưới đây

  sudo nano /etc/hosts

thêm nếu nó không có nó:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

Trong tệp của tôi 127.0.0.1 là dành cho localhost và tôi đã thay đổi địa chỉ IP thứ hai 127.0.1.1 với IP máy chủ của tôi là 192.168.1.5 bây giờ tôi nhập tên miền của mình có tên máy chủ nefitari sau đó là tên miền autun.hom và sau đó là bí danh nefitari . Bạn có thể chọn tên riêng của mình, hostname.abc.net hoặc hostname.home.lan, v.v. nhưng hãy nhớ thay đổi tệp này cần khởi động lại máy chủ của bạn và sau đó đăng nhập. Khởi động lại là phải

Bây giờ cài đặt BIND9

 sudo apt-get install bind9

Sau khi cài đặt, chỉ cần cấu hình các tập tin dưới đây từng bước

  • Được đặt tên
  • Được đặt tên
  • /etc/resolv.conf

Bây giờ hãy định cấu hình tệp có tên.conf.options Tệp này được sử dụng cho IP DNS Có nghĩa là máy chủ của bạn phải kết nối với một số DNS bên ngoài. Khi bạn mua tên miền từ ISP, họ thường cung cấp cho bạn IP DNS của riêng họ. Bạn có thể sử dụng IP DNS mở của google hoặc hơn. Trong trường hợp của tôi, tôi đang sử dụng IP DNS ISP của riêng tôi.

 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;
  };

*** Lưu tệp và thoát *** bằng điều khiển x nhấn y và ghi đè tệp

Bây giờ hãy chỉnh sửa tệp có tên.conf.local Đây là tệp trong đó chúng tôi xác định vùng chuyển tiếp và vùng đảo ngược. Điều đó có nghĩa là khi chúng ta nhập tên miền, nó sẽ dịch nó thành địa chỉ IP và khi chúng ta nhập địa chỉ IP, nó sẽ chỉ chuyển đổi thành tên.

sudo nano /etc/bind/named.conf.local

sẽ hiển thị:

# 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";
 };

*** Lưu tệp và thoát *** bằng điều khiển x nhấn y và ghi đè tệp

Bây giờ chúng ta sẽ tạo hai tệp cơ sở dữ liệu này db.autun.homdb.192 trong thư mục vùng

Đầu tiên tạo các vùng thư mục trong / etc / bind /

  sudo mkdir /etc/bind/zones

Trước khi tạo tệp, hãy để tôi xóa bạn rằng tôi có các thiết bị khác

IP thiết bị

  • Bản thân máy chủ 192.168.1.5
  • Cổng 192.168.1.1
  • Win7pc 192.168.1.50

Bây giờ trong thư mục vùng, chúng ta sẽ tạo hai tệp db.autun.hom đầu tiên . Tôi chỉ sao chép db.local đã có trong thư mục / etc / bind vào thư mục vùng bằng cách thay đổi tên của nó thành db.autun.hom . Tôi sẽ đặt các IP này vào tệp db.autun.hom của mình. Hãy bắt đầu

sudo cp /etc/bind/db.local  /etc/bind/zones/db.autun.hom

Bây giờ sử dụng lệnh dưới đây để chỉnh sửa tập tin

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.

Lưu nó và thoát

  • Người dùng web.autun.hom. là email người sẽ truy cập máy chủ tên. Bạn có thể viết bất kỳ tên nào thay vì webuser như admin, root hoặc host master, v.v.
  • Autun.hom. NS của tôi có nghĩa là máy chủ tên
  • Autun.hom. Đổi sang IP 192.168.1.5
  • @ IN A 127.0.0.1 và AAAA :: 1 có thể nhận xét bạn không cần nó vì db.local đã có trong / etc / bind nó chỉ là một bản sao của tệp đó. Vì vậy, không cần bạn có thể xóa nó
  • Thay đổi Nefitari thành IP 192.168.1.5
  • Cổng vào IP 192.168.1.1
  • Win7pc bạn có thể đặt tên Windows PC hoặc Linux Client của mình thành bất kỳ tên nào nhưng hãy nhớ IP của máy khách đó phải được chèn chính xác vào tệp. Trong trường hợp của tôi, tôi đã cho IP của Windows PC 192.168.1.50
  • Cuối cùng, tôi đang sử dụng CNAME có nghĩa là tên hợp quy, nó chỉ là bí danh của nefitari. Có nghĩa là bạn có thể truy cập máy chủ của mình bằng cách nhập www.autun.hom thay vì nefitari.autun.hom. Bạn có thể bỏ qua cái này hoặc bình luận nó. Nó chỉ là tùy thuộc vào bạn.

Bây giờ tạo tập tin vùng tra cứu ngược

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

Bây giờ sử dụng lệnh dưới đây để chỉnh sửa tập tin

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.

Lưu nó và thoát

Bây giờ khi bạn hoàn thành với tệp vùng của mình, bạn phải kiểm tra xem nó có hoạt động chính xác hay không bằng cách nhập lệnh bên dưới cho tệp vùng chuyển tiếp

named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial   2
Ok

Bây giờ hãy kiểm tra tệp vùng đảo ngược

named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial   2
Ok 

Nếu đầu ra của checkzone có tên của bạn giống như trên thì nó hoạt động tốt nếu không bạn đã mắc một số lỗi trong tệp.

Bây giờ chỉnh sửa tập tin giải quyết.

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

Nhập các dòng sau vào tập tin giải quyết của bạn và lưu nó

Khởi động lại liên kết

sudo /etc/init.d/bind9 restart

Sau khi liên kết bắt đầu kiểm tra cài đặt của bạn trong tệp nhật ký

tail -f /var/log/syslog

nó không được có bất kỳ lỗi nào trong nhật ký

Kiểm tra khu vực phía trước

host –l autun.hom

Đầu ra nên như thế này

 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

Bây giờ sử dụng NSLOOKUP

nslookup autun.hom

ĐẦU RA

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

Sử dụng 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

Đầu ra phải tương tự như trên, kiểm tra trạng thái: NOERROR có nghĩa là nó đang giải quyết kiểm tra TRẢ LỜI PHẦN: gateway.autun.hom được giải quyết thành 192.168.1.1

Kiểm tra vùng đảo ngược

 host 192.168.1.1

Đầu ra

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

Nếu nó cung cấp cho bạn một lỗi như dưới đây

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

Điều này có nghĩa là bạn đã mắc một số lỗi trong /etc/bind/named.conf.local trong vùng đảo ngược Nếu IP máy chủ của bạn là 192.168.1.5 thì vùng đảo ngược của bạn trông như thế này

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

Đôi khi mọi người đã sai lầm trong việc đảo ngược ip như (chỉ là một ví dụ)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

Sử dụng 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

Nếu bạn gặp lỗi NXDOMAIN hoặc SERVFAIL, điều đó có nghĩa là một trong các tệp vùng của bạn không hoạt động chính xác

Bây giờ bạn có thể ping ubfox.com hoặc đào ubfox.com lần đầu tiên, sẽ mất vài giây để giải quyết tên ubfox.com nhưng khi bạn chạy lần thứ hai , sẽ mất 1, 2 hoặc 3 giây thông thường từ 1 đến 10 mili giây là bình thường và nó có nghĩa là DNS của bạn đang hoạt động đúng

Cấu hình máy khách

bên cửa sổ

  • kết nối mạng mở
  • chọn thay đổi cài đặt bộ điều hợp
  • chọn thuộc tính
  • chọn phiên bản giao thức internet IPv4

và ở đây cung cấp địa chỉ IP (trong trường hợp của tôi là 192.168.1.50 bạn có nhớ win7pc không)

  • Địa chỉ IP 192.168.1.50
  • Mặt nạ mạng con 255.255.255.0
  • Cổng mặc định 192.168.1.1
  • DNS chính 192.168.1.5 (ip máy chủ BIND DNS mới của tôi)
  • trong cùng một cửa sổ chọn Advance
  • chọn tab DNS
  • Nhập vào hộp văn bản bên dưới đây Trong DNS Suffix cho kết nối này: autun.hom
  • nhấp vào ok
  • nhấp vào xác nhận cài đặt khi thoát
  • nhấp vào ok

và bạn đã hoàn thành với nó mở CMD

ping gateway

nó phải cung cấp cho bạn một số trả lời

tương tự

ping 192.168.1.1 or 5

nó phải cung cấp cho bạn một số trả lời

Kiểm tra máy chủ của bạn với thế giới bên ngoài

Bây giờ bạn có thể ping ubfox.com hoặc đào ubfox.com lần đầu tiên, sẽ mất vài giây để giải quyết tên ubfox.com nhưng khi bạn chạy lần thứ hai, nó sẽ ở dạng 1 đến 10 mili giây, thời gian bình thường và điều đó có nghĩa là DNS của bạn đang hoạt động đúng

bên cửa sổ

kết nối mạng mở chọn thay đổi cài đặt bộ điều hợp chọn thuộc tính chọn phiên bản giao thức internet IPv4

và ở đây cung cấp địa chỉ IP (trong trường hợp của tôi là 192.168.1.50 bạn có nhớ win7pc không)

Địa chỉ IP 192.168.1.50

Mặt nạ mạng con 255.255.255.0

Cổng mặc định 192.168.1.1

DNS chính 192.168.1.5 (ip máy chủ BIND DNS mới của tôi)

chọn Advance (trong cùng một cửa sổ)

chọn tab DNS

Nhập vào hộp văn bản bên dưới đây Trong DNS Suffix cho kết nối này: autun.hom

nhấp vào ok

nhấp vào xác nhận cài đặt khi thoát

nhấp vào ok

và bạn đã hoàn thành với nó mở CMD

Mã số:

 ping gateway

nó phải cung cấp cho bạn một số trả lời

tương tự

Mã số:

 ping 192.168.1.1 or 5

nó phải cung cấp cho bạn một số câu trả lời mà bạn có thể sử dụng NSLOOKUP :

 nslookup gateway

KHÁCH HÀNG LINUX

Mã số:

 sudo nano /etc/network/interfaces

gõ các dòng sau

Mã số:

 auto eth0
 iface eth0 inet dhcp

Bây giờ khởi động lại Deamons mạng

Mã số:

 sudo /etc/init.d/networking restart

để buộc khách hàng gia hạn lệnh IP

Mã số:

 sudo dhclient -r

Bây giờ có được IP mới:

Mã số:

 sudo dhclient

Nếu bạn đang chạy máy chủ DHCP trên Mạng của mình thì hãy nhập tên miền và máy chủ tên miền vào tệp dhcpd.conf; ví dụ: tôi có máy chủ DNS có tên nefitari.autun.hom và địa chỉ IP là 192.168.1.5 như dưới

Mã số:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

nguồn


7
Thật là xấu hổ khi trang này có 3726 lượt xem và câu trả lời chỉ có một lượt upvote. Nếu nó hữu ích cho bạn, hãy nâng cấp nó!
fotanus

12
Câu trả lời này là chính xác ngoại trừ phần chỉnh sửa /etc/resolv.conf. Kể từ Ubuntu 12.04, bạn không chỉnh sửa tệp đó bằng tay mà định cấu hình độ phân giải để làm như vậy. Đặt RESOLVCONF = yes in / etc / default / bind9 để tạo BIND 9 được đặt tên để đăng ký địa chỉ nghe cục bộ 127.0.0.1 với độ phân giải khi khởi động. Đảm bảo rằng /etc/resolv.conf là một liên kết tượng trưng đến ../run/resolvconf/resolv.conf.
jdthood

1
lỗi syslog - (network unreachable) resolving './NS/IN': 2001:500:3::42#53Là từ liên kết cố gắng giải quyết đệ quy các truy vấn bằng cách sử dụng ipv6. Chỉnh sửa /etc/default/bind9và sử dụng OPTIONS="-u bind -4"sửa nó. Thông tin thêm: serverfault.com/questions/77325/unreachable-resolve-domain
không phải là bản vá

Tôi mới cài đặt với máy chủ Ubuntu 16.04 và nó vẫn hoạt động. Hướng dẫn về Serverguide trên DNS là một cơn ác mộng so với lời giải thích này. Tuy nhiên, tôi đã phải sửa một lỗi trong danh sách: trong file db.192trước khi IN NS nefitari.là một @thiếu. Ngoài ra, tôi đã phải thêm FQDN, vì vậy dòng làm việc của tôi trông như thế này, @ IN NS nefitari.autun.hom.tôi đã bỏ qua phần giải quyết và theo lời khuyên từ jdthood. Liên kết đã có sẵn từ cài đặt máy chủ mặc định.
Catman

1
@fotanus Tôi nghĩ rằng vì nó quá lâu đến nỗi mọi người quên cuộn ngược lên để upvote \
CodyBugstein

1

Câu trả lời chỉ là một bổ sung cho mô tả tuyệt vời ở trên.

Mẹo khắc phục sự cố

Hãy cẩn thận với nhiều '.' trong các tập tin cấu hình như mỗi một là quan trọng. Một mất tích duy nhất '.' có thể ngăn máy chủ DNS hoạt động. Bạn không nên tin vào những thông báo lỗi rõ ràng.

Tôi đã học được cách thực hành tốt của nó để sử dụng một số sê-ri nói nhiều hơn. Điều rất quan trọng là tăng số sê-ri mỗi khi thiết lập được sửa đổi, ví dụ: các mục mới được thêm vào. Nếu không tăng DNS thứ cấp, nó sẽ không đồng bộ hóa các cài đặt mới. Định dạng được đề xuất là YYYYMMDDss, sssố sê-ri "cũ". Vì vậy, khi tăng, bạn nên tăng thêm ss+1 đặt ngày thành ngày hiện tại. Tôi thấy điều này rất hữu ích trong việc khắc phục sự cố thiết lập. Trong syslog bạn thấy rõ ngày và sê-ri của tệp được sử dụng.

Trong Ubuntu 16.04, việc thay đổi độ phân giải không được chấp nhận. Như jdthood viết trong bình luận của mình, thay thế bước này bằng quy trình sau: - Thay đổi / etc / default / bind9: cái mới sẽ giống như thế này:

   # run resolvconf?
   RESOLVCONF=yes

   # startup options for the server
   OPTIONS="-u bind"

   # use this when you have trouble with IPV6
   #OPTIONS="-u bind -4"

xem bình luận từ bản vá lỗi cho các vấn đề IPV6.

  • đặt một liên kết tượng trưng của /etc/resolv.conf vào /run/resolvconf/resolv.conf

     cd /etc
     sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
    

Thiết lập ngoại tuyến

Việc thiết lập hoàn toàn giống nhau và thậm chí dễ dàng hơn một chút, vì bạn chỉ cần bỏ qua các phần chuyển tiếp. Họ không phải có mặt, vì vậy không cần phải chỉnh sửa /etc/bind/names.con.options.

Mạng lớp B

Có một vài thay đổi nhỏ cần thiết để thực hiện công việc này cho mạng lớp B (trước khi có ý kiến, không có lý do nào khiến mạng cục bộ, ngay cả ở nhà, không thể là mạng lớp B thay vì mạng lớp C) . Trong ví dụ này tôi sử dụng số mạng 172.20.xx (Tôi nghĩ ký hiệu chính thức là 172.20.0.0. Để biết thêm thông tin google rfc1918).

Sử dụng mô tả từ câu trả lời đầu tiên, thay thế tất cả IP 192.168.xx bằng 172.20.xx, sử dụng cho IP máy chủ 172.20.0.100 và sửa đổi các tệp như sau:

  • tên của tập tin db.192trở thành db.172.
  • các tập tin named.conf.localđược một phần khu vực đảo ngược khác nhau:

    zone "20.172.in-addr.arpe" {
    type master;
    file "/etc/bind/zones/db.172";
    }
    
  • Tệp vùng đảo ngược thay đổi thành:

    ;
    ; 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.
    

Phần còn lại là như nhau.

Hy vọng nó hữu ích cho ai đó.


Điều này có hoạt động nếu bạn muốn sử dụng cả hai địa chỉ 172.16 và 172.20?
kojow7

@ kojow7. Câu hỏi rất hay. Tôi không biết nhưng để tìm hiểu bạn có thể kiểm tra chỉ để bao gồm một vùng thứ hai và tệp đảo ngược thứ hai. Thật dễ dàng để kiểm tra với lệnh nslookup. Hoặc, có lẽ tốt hơn là, chỉ cần sử dụng Netmask bao gồm cả 172.16. và 172,20. Netmask sẽ không đơn giản như 255.255.0.0 nhưng chứa các số khác bên cạnh 0 và 255, nhưng trên mạng bạn có thể tìm thấy hướng dẫn cách tìm ra điều đó trong trường hợp bạn chưa biết. Trong trường hợp bạn đã giải quyết nó, vui lòng xem xét để đăng nó ở đây vì lợi ích của người khác.
Catman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.