linux下DNS配置詳解

來源:互聯網
上載者:User

linux下DNS配置詳解

DNS 是網域名稱系統 (DomainName Server) 的縮寫,該系統用於命名組織到域階層中的電腦和網路服務。在Internet上網域名稱與IP地址之間是一一對應的,網域名稱雖然便於人們記憶,但機器之間只能互相認識IP地址,它們之間的轉換工作稱為網域名稱解析,網域名稱解析需要由專門的網域名稱解析伺服器來完成,DNS就是進行網域名稱解析的伺服器。 DNS 命名用於 Internet 等 TCP/IP 網路中,通過方便使用的名稱尋找電腦和服務。當使用者在應用程式中輸入 DNS 名稱時,DNS 服務可以將此名稱解析為與之相關的其他資訊,如 IP 位址。因為,你在上網時輸入的網址,是通過網域名稱解析系統解析找到了相對應的IP地址,這樣才能上網。其實,網域名稱的最終指向是IP。

需要瞭解的幾個概念,正向地區( A記錄 NS 記錄 SOA記錄,)反向地區,以及(PTR記錄)

主要有這麼幾個步驟,配ip與dns,安裝dns包,修改設定檔,以及地區資料檔案,驗證配置是否成功

需要注意的幾個設定檔

ip地址的設定檔/etc/sysconfig/network-scripts/ifcfg-eth0

dns的設定檔 /etc/resolv.conf

/etc/named.conf

根域檔案 /var/named/named.ca

正向地區檔案 /var/named/localhost,zone

反向地區檔案 /var/nsmed/named.local

實驗環境:VMware6.5.2 redhat Enterprise 5 有圖形介面

首先 ,配ip

[root@localhost ~]# setup

選擇網路設定斷行符號

eth0 為第一塊網卡 斷行符號

按tab鍵移動 按空格選擇不啟用DHCP 之後tab到 ok上儲存斷行符號

tab到 退出 斷行符號

退出

[root@localhost ~]# service network restart

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:9F:41:CD

inet addr:192.168.11.10 Bcast:192.168.11.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe9f:41cd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:27 errors:0 dropped:0 overruns:0 frame:0

TX packets:97 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:5261 (5.1 KiB) TX bytes:19310 (18.8 KiB)

Interrupt:67 Base address:0x2024

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:1561 errors:0 dropped:0 overruns:0 frame:0

TX packets:1561 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:2098017 (2.0 MiB) TX bytes:2098017 (2.0 MiB)

[root@localhost ~]#

這時你可以 ifconfig 查看一下ip地址

配置DNS

[root@localhost ~]# vi /etc/resolv.conf

填寫內容如下

name server 192.168.11.10

之後儲存退出

下一步 安裝DNSrpm包

掛上鏡像,

[root@localhost ~]# cd /mnt

[root@localhost mnt]# ls

cdrom hgfs

[root@localhost mnt]# mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost mnt]# cd /mnt/cdrom

[root@localhost cdrom]# cd Server

[root@localhost Server]#

我們需要安裝幾個

[root@localhost Server]# rpm -ivh bind-

bind-9.3.3-10.el5.i386.rpm

bind-chroot-9.3.3-10.el5.i386.rpm

bind-devel-9.3.3-10.el5.i386.rpm

bind-libbind-devel-9.3.3-10.el5.i386.rpm

bind-libs-9.3.3-10.el5.i386.rpm

bind-sdb-9.3.3-10.el5.i386.rpm

bind-utils-9.3.3-10.el5.i386.rpm

先裝第一個

插一句BINDBerkeley Internet Name Domain)我們要安裝的DNS只是BIND 裡的一個服務項

[root@localhost Server]# rpm -ivh bind-9.3.3-10.el5.i386.rpm

warning: bind-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, keyID 37017186

Preparing... ########################################### [100%]

1:bind ########################################### [100%]

[root@localhost Server]#

還有 先裝主包 後裝從包

[root@localhost Server]# rpm -ivh bind-utils-9.3.3-10.el5.i386.rpm

warning: bind-utils-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY,key ID 37017186

Preparing... ########################################### [100%]

package bind-utils-9.3.3-10.el5 is already installed

[root@localhost Server]#

出現警告

[root@localhost Server]# rpm -e bind-utils

[root@localhost Server]# rpm -ivh bind-utils-9.3.3-10.el5.i386.rpm

warning: bind-utils-9.3.3-10.el5.i386.rpm: Header V3 DSA signature: NOKEY,key ID 37017186

Preparing... ########################################### [100%]

1:bind-utils ########################################### [100%]

[root@localhost Server]#

我刪掉再來一遍 ,好這下行了

還要裝一個

[root@localhost Server]# rpm -ivh caching-nameserver-9.3.3-10.el5.i386.rpm

warning: caching-nameserver-9.3.3-10.el5.i386.rpm: Header V3 DSAsignature: NOKEY, key ID 37017186

Preparing... ########################################### [100%]

1:caching-nameserver ########################################### [100%]

[root@localhost Server]#

下一步,編輯 DNS主設定檔

在linux2.6 核心中的/etc/named.caching-nameserver.conf的這個檔案寫的並不要好所以不建議使用,下面這個事從2.4核心中拷過來的,我們只需稍作修改即可

這裡的//以後和/* */之間的內容為解釋,或者說是注釋

// generated by named-bootconf.pl

options {

directory "/var/named"; 指明當前主目錄

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; };

};

zone "." IN { .就是根

type hint; 地區類型

file "named.ca";

};

zone "localhost" IN { 正向地區

type master; 類型

file "localhost.zone"; 預設檔案

allow-update { none; }; 不允許動態更新

};

zone "0.0.127.in-addr.arpa" IN { 反向尋找地區

type master; 反向類型

file "named.local"; 解析位置

allow-update { none; }; 不允許動態更新

};

include "/etc/rndc.key";

修改如下

// generated by named-bootconf.pl

options {

directory "/var/named";

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; };

};

zone "." IN {

type hint;

file "named.ca";

};

zone "abc.com" IN {

type master;

file "abc.zone";

allow-update { none; };

};

zone "11.168.192.in-addr.arpa" IN {

type master;

file "abc.local";

allow-update { none; };

};

include "/etc/rndc.key";

ok 下一步編輯正向地區和反向地區檔案

[root@localhost ~]# cd /var/named

[root@localhost named]# ls

chroot localdomain.zone named.broadcast named.ip6.local named.zero

data localhost.zone named.ca named.local slaves

[root@localhost named]# cp named.local abc.zone

[root@localhost named]# cp named.local abc.local

[root@localhost named]#

cd到/var/named 目錄下這裡呢我是用的原來的反向地區檔案,複製成現在要用的正向和反向地區,之後我們要做的是修改這兩個檔案

[root@localhost named]# vi abc.zone

原來的內容是這樣的

$TTL 86400

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial 設定檔的修改版本

28800 ; Refresh 重新整理頻率

14400 ; Retry 重試時間

3600000 ; Expire 到期時間

86400 ) ; Minimum

IN NS localhost.

1 IN PTR localhost.

有點類似windows下的DNS

修改後如下

$TTL 86400

@ IN SOA abc.com. root.abc.com. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS abc.com.

www IN A 192.168.11.10

儲存退出,之後[root@localhost named]# vi abc.local修改反向地區資料檔案

$TTL 86400

@ IN SOA abc.com. root.abc.com. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS abc.com.

10 IN PTR www.abc.com.

現在

[root@localhost named]# ll

總計 96

-rw-r----- 1 root root 427 04-24 03:49 abc.local

-rw-r----- 1 root root 413 04-24 03:46 abc.zone

drwxr-x--- 5 root named 4096 04-24 01:57 chroot

drwxrwx--- 2 named named 4096 2007-07-19 data

-rw-r----- 1 root named 198 2007-07-19 localdomain.zone

-rw-r----- 1 root named 195 2007-07-19 localhost.zone

-rw-r----- 1 root named 427 2007-07-19 named.broadcast

-rw-r----- 1 root named 2518 2007-07-19 named.ca

-rw-r----- 1 root named 424 2007-07-19 named.ip6.local

-rw-r----- 1 root named 426 2007-07-19 named.local

-rw-r----- 1 root named 427 2007-07-19 named.zero

drwxrwx--- 2 named named 4096 2007-07-19 slaves

[root@localhost named]#

ll一下發現 剛才建的 正向和反向的檔案的屬組都是root 而預設選項則是named 我們要做的就是修改這兩個的屬性

[root@localhost named]# chgrp named abc.local

[root@localhost named]# chgrp named abc.zone

[root@localhost named]#

下一步重啟服務

[root@localhost named]# service named restart

停止 named: [失敗]

啟動 named: [確定]

[root@localhost named]#

說明一點 停止的時候失敗是因為服務沒有開啟

下一步 測試網路

[root@localhost named]# nslookup www.abc.com

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: www.abc.com

Address: 192.168.11.10

[root@localhost named]#

ok 正向解析成功

[root@localhost named]# nslookup 192.168.11.10

Server: 127.0.0.1

Address: 127.0.0.1#53

10.11.168.192.in-addr.arpa name = www.abc.com.

You have new mail in /var/spool/mail/root

[root@localhost named]#

ok 反向解析成功

補充 這個實驗由於要修改很多設定檔,所以要加倍小心,首先查看是不是自己的命令打錯了,如果做完之後named 即dns服務不能啟動,那多半是設定檔的問題,如果單純是正向和反向解析不成功,那就是你的設定檔的問題,最後注意屬組

此次實驗盡量採用終端操作,對於圖形介面為主的操作暫不涉及

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.