Bagaimana cara saya melakukan Konfigurasi Server DNS BIND9 lengkap dengan nama host?

53

Saya perlu panduan langkah demi langkah lengkap tentang cara menghasilkan konfigurasi server seperti itu.

Ada yang bisa bantu saya?

Artemis
sumber

Jawaban:

119

Server DNS lengkap di server ubuntu 12.

Pertama-tama ubah alamat ip server Anda dari DHCP menjadi STATIC untuk ini, gunakan perintah berikut

sudo nano /etc/network/interfaces

dan tambahkan:

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

Mulai ulang daemon jaringan

sudo /etc/init.d/networking restart

Sebelum mengkonfigurasi server DNS di linux Ubuntu Anda harus membuat nama domain terlebih dahulu dan kemudian Anda akan melanjutkan. Pertama, Anda akan memeriksa perintah nama host Anda untuk ini

sudo nano /etc/hostname

 nefitari       

(Ini nama host server Ubuntu saya milik Anda mungkin berbeda. Anda dapat mengubahnya sesuai dengan kebutuhan Anda)

Sekarang setelah nama host, Anda harus membuat nama domain untuk server Anda. Katakanlah servername.domain.com adalah praktik yang lebih baik bahwa setiap kali Anda mengkonfigurasi server untuk digunakan di rumah atau lebih, jangan gunakan .com tetapi .hom atau .net atau apa pun yang Anda suka. Berikan perintah di bawah ini

  sudo nano /etc/hosts

tambahkan jika tidak memilikinya:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

Dalam file saya 127.0.0.1 adalah untuk localhost dan saya telah mengubah alamat IP kedua 127.0.1.1 dengan IP server saya yaitu 192.168.1.5 sekarang saya memasukkan nama domain saya dengan nama host saya nefitari pertama kemudian nama domain saya autun.hom dan kemudian alias nefitari . Anda dapat memilih sendiri, hostname.abc.net atau hostname.home.lan dll. Tetapi ingat untuk mengubah ke file ini perlu me-restart server Anda dan kemudian login. Mulai ulang harus

Sekarang instal BIND9

 sudo apt-get install bind9

Setelah instalasi, cukup konfigurasikan file di bawah ini langkah demi langkah

  • Named.conf.options
  • Named.conf.local
  • /etc/resolv.conf

Sekarang konfigurasikan file named.conf.options File ini digunakan untuk IP DNS. Ini berarti bahwa server Anda harus terhubung ke beberapa DNS di luar. Ketika Anda membeli nama domain dari ISP, mereka biasanya memberi Anda IP DNS mereka sendiri. Anda dapat menggunakan IP DNS terbuka google atau lebih. Dalam kasus saya, saya menggunakan IP DNS ISP saya sendiri.

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

*** Simpan file dan keluar *** menggunakan kontrol x tekan y dan timpa file

Sekarang edit file dengan nama.conf.local Ini adalah file tempat kita mendefinisikan zona maju dan mundur. Itu berarti bahwa ketika kita memasukkan nama domain itu akan menerjemahkannya ke alamat IP dan ketika kita memasukkan alamat IP itu hanya akan mengubahnya menjadi nama.

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

akan menunjukkan:

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

*** Simpan file dan keluar *** menggunakan kontrol x tekan y dan timpa file

Sekarang kita akan membuat dua file database ini db.autun.hom dan db.192 di folder zona

Pertama-tama buat zona direktori di / etc / bind /

  sudo mkdir /etc/bind/zones

Sebelum membuat file, izinkan saya menjelaskan bahwa saya memiliki perangkat yang berbeda

IP perangkat

  • Server itu sendiri 192.168.1.5
  • Gateway 192.168.1.1
  • Win7pc 192.168.1.50

Sekarang di direktori zona kita akan membuat dua file db.autun.hom pertama . Saya hanya menyalin db.local sudah ada di folder / etc / bind ke folder zones dengan mengubah namanya menjadi db.autun.hom . Saya akan meletakkan IP ini di file db.autun.hom saya. Ayo mulai

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

Sekarang gunakan perintah di bawah ini untuk mengedit file

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.

Simpan dan keluar

  • Webuser.autun.hom. adalah email yang akan mengakses server nama. Anda dapat menulis nama apa saja sebagai ganti pengguna web seperti admin, root atau tuan rumah dll.
  • Autun.hom. NS saya berarti server nama
  • Autun.hom. Berubah ke IP 192.168.1.5
  • @ IN 127.0.0.1 dan AAAA :: 1 dapat dikomentari, Anda seharusnya tidak membutuhkannya karena db.local sudah ada di / etc / bind itu hanya salinan file itu. Jadi tidak perlu Anda bisa menghapusnya
  • Mengubah Nefitari ke IP 192.168.1.5
  • Gerbang ke IP 192.168.1.1
  • Win7pc Anda dapat memberi nama PC Windows atau Klien Linux Anda dengan nama apa pun, tetapi ingat IP klien itu harus dimasukkan dengan benar ke dalam file. Dalam kasus saya, saya memberi IP Windows 192.168.1.50
  • Terakhir, saya menggunakan CNAME berarti nama kanonik itu hanya alias untuk nefitari. Berarti Anda dapat mengakses server Anda dengan memasukkan www.autun.hom sebagai ganti nefitari.autun.hom. Anda dapat menghilangkan ini atau berkomentar. Terserah Anda saja.

Sekarang buat file zona pencarian terbalik

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

Sekarang gunakan perintah di bawah ini untuk mengedit file

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.

Simpan dan keluar

Sekarang ketika Anda selesai dengan file zona Anda, Anda harus memeriksanya apakah itu berfungsi dengan benar atau tidak dengan memasukkan perintah di bawah untuk file zona maju

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

Sekarang periksa file zona terbalik

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

Jika output dari nama-checkzone Anda sama dengan di atas maka itu berfungsi dengan baik jika Anda membuat beberapa kesalahan dalam file.

Sekarang edit file resolv.conf

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

Masukkan baris berikut ke dalam file resolv.conf Anda dan simpan

Mulai kembali ikatannya

sudo /etc/init.d/bind9 restart

Setelah mengikat mulai periksa pengaturan Anda dalam file log

tail -f /var/log/syslog

tidak boleh ada kesalahan dalam log

Memeriksa zona maju

host –l autun.hom

Outputnya harus seperti ini

 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

Sekarang gunakan NSLOOKUP

nslookup autun.hom

KELUARAN

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

Gunakan 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

Keluaran harus sama dengan yang di atas, periksa status: NOERROR berarti penyelesaian cek. JAWABAN JAWABAN: gateway.autun.hom dipecahkan menjadi 192.168.1.1

Memeriksa zona terbalik

 host 192.168.1.1

Keluaran

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

Jika itu memberi Anda kesalahan seperti di bawah ini

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

Ini berarti bahwa Anda membuat beberapa kesalahan dalam file /etc/bind/named.conf.local di zona terbalik Jika IP server Anda 192.168.1.5 maka zona balik Anda terlihat seperti ini

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

Kadang-kadang orang membuat kesalahan dalam membalikkan IP like (hanya sebuah contoh)

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

Gunakan 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

Jika Anda mendapatkan NXDOMAIN atau SERVFAIL seperti kesalahan, itu berarti salah satu file zona Anda tidak berfungsi dengan benar

Sekarang Anda dapat melakukan ping ubuntu.com atau menggali ubuntu.com untuk pertama kalinya akan membutuhkan beberapa milidetik untuk menyelesaikan nama ubuntu.com tetapi ketika Anda menjalankannya kedua kali akan membutuhkan waktu 1, 2 atau 3 detik yang biasanya berupa 1 hingga 10 mili detik normal dan artinya DNS Anda berfungsi dengan baik

Mengkonfigurasi klien

sisi jendela

  • koneksi jaringan terbuka
  • pilih ubah pengaturan adaptor
  • pilih properti
  • pilih versi protokol internet IPv4

dan di sini berikan alamat IP (dalam kasus saya ini adalah 192.168.1.50 apakah Anda ingat win7pc)

  • Alamat IP 192.168.1.50
  • Subnet Mask 255.255.255.0
  • Gateway Default 192.168.1.1
  • DNS primer 192.168.1.5 (ip server DNS BIND baru saya)
  • di jendela yang sama pilih Advance
  • pilih tab DNS
  • Ketik kotak teks di bawah sini Di Sufiks DNS untuk koneksi ini: autun.hom
  • klik ok
  • klik pada pengaturan validasi saat keluar
  • klik ok

dan Anda selesai dengan itu buka CMD

ping gateway

itu harus memberi Anda beberapa balasan

demikian pula

ping 192.168.1.1 or 5

itu harus memberi Anda beberapa balasan

Uji Server Anda ke Dunia Luar

Sekarang Anda dapat melakukan ping ubuntu.com atau menggali ubuntu.com untuk pertama kalinya diperlukan beberapa milidetik untuk menyelesaikan nama ubuntu.com tetapi ketika Anda menjalankannya untuk yang kedua kalinya, ia akan mengambil bentuk 1 hingga 10 mili detik, waktu normal dan itu berarti bahwa DNS Anda berfungsi dengan benar Mengkonfigurasi klien

sisi jendela

buka koneksi jaringan pilih ubah pengaturan adaptor pilih properti pilih protokol internet versi IPv4

dan di sini berikan alamat IP (dalam kasus saya ini adalah 192.168.1.50 apakah Anda ingat win7pc)

Alamat IP 192.168.1.50

Subnet Mask 255.255.255.0

Gateway Default 192.168.1.1

DNS primer 192.168.1.5 (ip server DNS BIND baru saya)

pilih Advance (di jendela yang sama)

pilih tab DNS

Ketik kotak teks di bawah sini Di Sufiks DNS untuk koneksi ini: autun.hom

klik ok

klik pada pengaturan validasi saat keluar

klik ok

dan Anda selesai dengan itu buka CMD

Kode:

 ping gateway

itu harus memberi Anda beberapa balasan

demikian pula

Kode:

 ping 192.168.1.1 or 5

itu harus memberi Anda beberapa balasan Anda dapat menggunakan Kode NSLOOKUP :

 nslookup gateway

KLIEN LINUX

Kode:

 sudo nano /etc/network/interfaces

ketik baris berikut

Kode:

 auto eth0
 iface eth0 inet dhcp

Sekarang restart Network Deamons

Kode:

 sudo /etc/init.d/networking restart

untuk memaksa klien memperbarui perintah IP

Kode:

 sudo dhclient -r

Sekarang dapatkan IP baru:

Kode:

 sudo dhclient

Jika Anda menjalankan server DHCP di Jaringan Anda, masukkan nama domain dan server nama dalam file dhcpd.conf; misalnya saya punya server DNS bernama nefitari.autun.hom dan alamat IP adalah 192.168.1.5 seperti di bawah

Kode:

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

sumber

fossfreedom
sumber
7
Sayang sekali bahwa halaman ini memiliki 3726 pandangan unik dan jawabannya hanya memiliki satu upvote. Jika itu membantu Anda, perbaiki!
fotanus
12
Jawaban ini benar kecuali untuk bagian tentang mengedit /etc/resolv.conf. Sejak Ubuntu 12.04 Anda tidak mengedit file itu dengan tangan tetapi mengkonfigurasi resolvconf untuk melakukannya. Set RESOLVCONF = yes di / etc / default / bind9 untuk menyebabkan BIND 9 bernama untuk mendaftarkan alamat lokal mendengarkan 127.0.0.1 dengan resolvconf ketika dimulai. Pastikan bahwa /etc/resolv.conf adalah tautan simbolis ../run/resolvconf/resolv.conf.
jdthood
1
kesalahan syslog - (network unreachable) resolving './NS/IN': 2001:500:3::42#53Beras dari bind mencoba menyelesaikan kueri secara rekursif menggunakan ipv6. Mengedit /etc/default/bind9dan menggunakan OPTIONS="-u bind -4"perbaikannya. Info lebih lanjut: serverfault.com/questions/77325/unreachable-resolving-domain
bukan tambalan
Saya baru saja mendapatkan pengaturan dengan server Ubuntu 16.04 dan masih berfungsi. Tutorial Serverguide tentang DNS adalah mimpi buruk dibandingkan dengan penjelasan ini. Namun, saya harus benar satu kesalahan dalam daftar: dalam file db.192sebelum IN NS nefitari.adalah @hilang. Saya juga harus menambahkan FQDN, sehingga garis kerja saya terlihat seperti ini. @ IN NS nefitari.autun.hom.Saya mengabaikan bagian resolv.conf dan mengikuti saran dari jdthood. Tautan sudah ada di sana dari instalasi server default.
CatMan
1
@fotanus Saya pikir itu karena sangat lama sehingga orang lupa untuk menggulir kembali untuk mendukung \
CodyBugstein
1

Jawabannya hanyalah tambahan untuk deskripsi hebat di atas.

Tip pemecahan masalah

Berhati-hatilah dengan banyak '.' dalam file konfigurasi karena masing-masing penting. Satu yang hilang '.' dapat menghentikan server DNS dari bekerja. Anda seharusnya tidak mengandalkan pesan kesalahan yang jelas.

Saya belajar praktik yang baik untuk menggunakan nomor seri yang lebih jitu. Sangat penting untuk menambah nomor seri setiap kali pengaturan diubah, misalnya entri baru ditambahkan. Jika tidak meningkat, DNS sekunder akan gagal menyinkronkan pengaturan baru. Format yang disarankan adalah YYYYMMDDss, di mana ssnomor seri "lama". Jadi saat menambah, Anda harus menambah ss+1 dan menetapkan tanggal ke tanggal saat ini. Saya menemukan ini sangat membantu dalam pemecahan masalah pengaturan. Di syslog Anda dengan jelas melihat tanggal dan serial file yang digunakan.

Di Ubuntu 16.04, mengubah resolv.conf sudah tidak digunakan lagi. Seperti yang ditulis jdthood dalam komentarnya, ganti langkah dengan prosedur berikut: - Ubah / etc / default / bind9: kehendak baru akan terlihat seperti ini:

   # run resolvconf?
   RESOLVCONF=yes

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

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

lihat komentar dari bukan-tambalan untuk masalah IPV6.

  • masukkan symlink dari /etc/resolv.conf ke /run/resolvconf/resolv.conf

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

Pengaturan Offline

Penyiapannya persis sama, dan bahkan sedikit lebih mudah, karena Anda bisa melewatkan bagian penerusan. Mereka tidak harus hadir, jadi tidak perlu mengedit /etc/bind/names.con.options.

Jaringan Kelas-B

Ada beberapa perubahan kecil yang diperlukan untuk membuat ini berfungsi untuk jaringan kelas-B (sebelum ada komentar, tidak ada alasan mengapa jaringan lokal, bahkan di rumah, tidak bisa menjadi kelas-B alih-alih jaringan kelas-C) . Dalam contoh ini saya menggunakan nomor jaringan 172.20.xx (saya pikir notasi formal adalah 172.20.0.0. Untuk info lebih lanjut google rfc1918).

Gunakan deskripsi dari jawaban pertama, ganti semua IP 192.168.xx dengan 172.20.xx, gunakan untuk server IP 172.20.0.100 dan modifikasi file sebagai berikut:

  • nama file db.192menjadi db.172.
  • file named.conf.localmendapat bagian zona terbalik yang berbeda:

    zone "20.172.in-addr.arpe" {
    type master;
    file "/etc/bind/zones/db.172";
    }
    
  • File zona balik berubah menjadi:

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

Sisanya sama.

Semoga bermanfaat bagi seseorang.

Manusia kucing
sumber
Apakah ini berfungsi jika Anda ingin menggunakan alamat 172.16 dan 172.20?
kojow7
@ kojow7. Pertanyaan yang sangat bagus Saya tidak tahu, tetapi untuk mengetahui Anda bisa memeriksa hanya untuk memasukkan zona kedua dan file mundur kedua. Mudah untuk menguji dengan perintah nslookup. Atau, mungkin lebih baik, gunakan Netmask yang mencakup keduanya 172.16. dan 172,20. Netmask tidak akan sesederhana 255.255.0.0 tetapi berisi angka-angka lain di samping 0 dan 255, tetapi di internet Anda dapat menemukan tutorial bagaimana mencari tahu jika Anda belum tahu. Jika Anda memecahkannya, pertimbangkan untuk mempostingnya di sini untuk kepentingan orang lain.
CatMan