centos緩存dns伺服器
『壹』 CentOS修改DNS的常用方式
在Linux系統中,修改DNS設置是網路配置中的常見操作。對於基於CentOS的伺服器,我們可以採用臨時和永久兩種方式來修改DNS。下面將詳細介紹這兩種方法。
### 臨時修改DNS
臨時修改DNS配置適用於短期需求或測試環境。步驟如下:
- 首先,通過SSH工具登錄到你的CentOS伺服器。
- 打開`/etc/resolv.conf`文件,使用命令`sudo vim /etc/resolv.conf`。
- 在文件中,添加或修改DNS伺服器的地址。例如,可以修改為`nameserver 8.8.8.8`作為主DNS,`nameserver 8.8.4.4`作為備用DNS,同時使用`search localhost`定義域名。
- 保存並退出編輯器,配置會立即生效。然而,當伺服器重啟後,修改的配置會失效。
### 永久修改DNS
對於希望DNS設置在重啟後仍然生效的情況,推薦採用永久修改的方法。步驟如下:
- 使用`sudo`命令以管理員身份執行操作。
- 進入`/etc/resolvconf/resolv.conf.d`目錄。
- 創建或編輯`base`文件,添加DNS伺服器地址。例如,`nameserver 8.8.8.8`和`nameserver 8.8.4.4`。
- 保存並退出編輯器。永久修改的DNS設置現在已保存,重啟後配置仍然有效。
### DNS埠查詢
在配置DNS伺服器後,確保相關埠已開啟,以確保DNS服務正常運行。可以通過以下命令查詢埠狀態:
- 使用`firewall-cmd --query-port=埠號/tcp`命令查詢特定埠是否開啟。
- 使用`firewall-cmd --list-port`命令查看系統中所有已開啟的埠。
以上方法適用於基於CentOS的Linux伺服器環境,能夠幫助你靈活管理DNS設置,以滿足不同場景的需求。
『貳』 centos53搭建DNS多域名解析伺服器的教程
一、域名與域名解析
網路中為了區別各個主機,必須為每台主機分配一個惟一的地址,這個地址即稱為「IP 地址」。但這些數字難以記憶,所以就採用「域名」的方式來取代這些數字了。不過最終還是必須將域名轉換為對應的IP 地址才能訪問主機。
DNS 服務,又叫域名解析服務,即提供域名與IP 地址的相互轉換。域名的正向解析是將主機名轉換成IP 地址的過程,域名的反向解析是將IP 地址轉換成主機名的過程。通常我們很少需要將IP 地址轉換成主機名,即反向解析。反向解析經常被一些後台程序使用,用戶看不到。
二、DNS 架構
域的層次結構如同一棵倒立的樹,層次結構非常清晰,如圖所示。根域位於頂部,緊接著在根域的下面是幾個頂級域,每個頂級域又可以進一步劃分為不同的二級域,二級域再劃分出子域,子域下面可以是主機也可以是再劃分的子域,直到最後的主機。在Internet 中的域是由InterNIC負責管理的,域名的服務則由DNS 來實現。
三、DNS 解析流程
1、客戶機請求解析www.exmaple.com.cn的IP 地址,如果本地hosts文件中沒有相關解析,則向本地DNS伺服器發出解析請求;
2、如果本地DNS伺服器有該域名的解析信息,則直接返回給客戶機;如果本地DNS 伺服器沒有該域名的解析信息,則本地DNS 伺服器向根DNS伺服器詢問www.exmaple.com.cn的IP地址;
3、如果根DNS 伺服器有該域名的解析信息,則直接返回信息給本地DNS 伺服器,本地DNS 伺服器再將解析信息返回給客戶機;如果根DNS 伺服器沒有該域名的解析信息,則返回管轄.cn解析業務的DNS 伺服器的IP 地址;
4、本地DNS 伺服器向管轄.cn的DNS 伺服器詢問www.exmaple.com.cn的IP 地址;
5、如果.cn 伺服器有該域名的解析信息,則直接返回信息給本地DNS 伺服器,本地DNS伺服器再將解析信息返回給客戶機;如果.cn DNS 伺服器沒有該域名的解析信息,則管轄.cn解析業務的DNS伺服器告知.com.cn的DNS 伺服器的IP地址;
6、本地DNS 伺服器向管轄.com.cn的DNS伺服器詢問www.exmaple.com.cn的IP 地址;
7、如果.com.cn 伺服器有該域名的解析信息,則直接返回信息給本地DNS 伺服器,本地
DNS 伺服器再將解析信息返回給客戶機;如果.com.cn DNS 伺服器沒有該域名的解析信息,則管轄.com.cn解析業務的DNS 伺服器告知.example.com.cn的DNS伺服器的IP地址;
8、本地DNS伺服器向管轄.example.com.cn的DNS 伺服器詢問www. example.com.cn IP 地址;
9、管轄.example.com.cn的DNS伺服器告知www.exmaple.com.cn的DNS伺服器的IP地址;
10、本地DNS伺服器解析出www.exmaple.com.cn的IP 地址,並傳回給客戶機。
四、搭建centos5.3下的DNS多域解析伺服器
系統平台:centos5.3 內核版本:2.6.18-128.2.1.el5
DNS 伺服器IP :192.168.2.210
Web 伺服器A:www.chinaunix.net 192.168.2.181
Mail伺服器B:mail.chinaunix.net 192.168.2.182
Web 伺服器C:www.chinaunix.org 192.168.2.183
Mail伺服器D:mail.chinaunix.org 192.168.2.185
1、安裝bind相關軟體包[root@server ~]# yum -y install bind* caching-nameserver
2、修改主配置文件
[root@server ~]# cd /var/named/chroot/etc/
[root@server etc]# cp –p named.caching-nameserver.conf named.conf
[root@server etc]# cp –p named.rfc1912.zones named.rfc1912.zones.bak
備註:cp 參數-p 除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。
這里大多數配置文件的屬主是root,組為named,如果只是cp,啟動named 服務時會報
錯。
[root@server etc]# vi named.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration
files.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
[root@server etc]# vi named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration
files.
//
zone "." IN {
type hint;
file "named.ca";
}; # 根DNS伺服器配置文件;
zone " localdomain" IN {
type master;
file " localdomain.zone";
allow-update { none; };
}; # 模板1;
zone "0.0.127.in-addr.arpa" IN {
type master;
file " named.local";
allow-update { none; };
}; # 模板2;
zone "chinaunix.net" IN {
type master;
file "chinaunix.net.zone";
allow-update { none; };
}; # 模板1復制並修改後的;
zone "chinaunix.org" IN {
type master;
file "chinaunix.org.zone";
allow-update { none; };
}; # 模板1復制並修改後的;
zone "2.168.192.in-addr.arpa" IN {
type master;
file "2.168.192.in-addr.local";
allow-update { none; };
}; # 模板2 復制並修改後的;
備註:藍色字體是添加、修改過的;
3、Zone配置文件
[root@server etc]# cd ../var/named/
[root@server named]# cp –p localdomain.zone chinaunix.net.zone
[root@server named]# cp –p localdomain.zone chinaunix.org.zone
[root@server named]# cp –p named.local 2.168.192.in-addr.local
[root@server named]# vi chinaunix.net.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS chinaunix.net.
IN MX 10 mail.chinaunix.net.
www IN A 192.168.2.181
mail IN A 192.168.2.182
[root@server named]# vi chinaunix.org.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS chinaunix.org.
IN MX 10 mail.chinaunix.org.
www IN A 192.168.2.183
mail IN A 192.168.2.185
[root@server named]# vi 2.168.192.in-addr.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS chinaunix.net.
IN NS chinaunix.org.
181 IN PTR www.chinaunix.net.
182 IN PTR mail.chinaunix.net.
183 IN PTR www.chinaunix.org.
185 IN PTR mail.chinaunix.org.
4、測試
[root@server ~]# nslookup
Ø www.chinaunix.net
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: www.chinaunix.net
Address: 192.168.2.181
Ø www.chinaunix.org
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: www.chinaunix.org
Address: 192.168.2.182
Ø mail.chinaunix.net
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: mail.chinaunix.net
Address: 192.168.2.183
Ø mail.chinaunix.org
Server: 192.168.2.210
Address: 192.168.2.210#53
Name: mail.chinaunix.net
Address: 192.168.2.185
Ø 192.168.2.181
Server: 192.168.2.210
Address: 192.168.2.210#53
181.2.168.192.in-addr.arpa name = www.chinaunix.net.
Ø 192.168.2.182
Server: 192.168.2.210
Address: 192.168.2.210#53
182.2.168.192.in-addr.arpa name = mail.chinaunix.net.
Ø 192.168.2.183
Server: 192.168.2.210
Address: 192.168.2.210#53
183.2.168.192.in-addr.arpa name = www.chinaunix.org.
Ø 192.168.2.185
Server: 192.168.2.210
Address: 192.168.2.210#53
185.2.168.192.in-addr.arpa name = mail.chinaunix.org.
備註:藍色為鍵盤輸入
五、結束
資料轉自互聯網,僅供學習交流.
『叄』 如何搭建一個公共DNS伺服器
一、伺服器環境
必須為centos6.x的 環境 centos7.x不能按照本教程 centos5.x未測試
二、安裝並啟動DNSMASQ
yum install -y dnsmasqservice dnsmasq start
三、dnsmasq配置
1、Dnsmasq的配置文件路徑為:/etc/dnsmasq.conf
# ll -d /etc/dnsmasq.conf -rw-r--r-- 1 root root 21237 Feb 23 00:17 /etc/dnsmasq.conf
2、編輯/etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf //dnsmasq 會從這個文件中尋找上游dns伺服器strict-order //去掉前面的#addn-hosts=/etc/dnsmasq.hosts //在這個目裡面添加記錄listen-address=127.0.0.1,192.168.1.123//監聽地址 如果想對所有計算機服務,則為0.0.0.0
3、修改/etc/resolv.conf
echo 'nameserver 127.0.0.1' > /etc/resolv.conf
4、創建resolv.dnsmasq.conf文件並添加上游dns伺服器的地址
touch /etc/resolv.dnsmasq.confecho 'nameserver 119.29.29.29' > /etc/resolv.dnsmasq.conf
5、創建dnsmasq.hosts文件
cp /etc/hosts /etc/dnsmasq.hostsecho 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf
提示:resolv.dnsmasq.conf中設置的是真正的Nameserver,可以用電信、聯通等公共的DNS。
三、DNSmasq啟動
1、設置Dnsmasq開機啟動並啟動Dnsmasq服務:
chkconfig dnsmasq on/etc/init.d/dnsmasq restart
2、netstat -tunlp|grep 53 查看Dnsmasq是否正常啟動:
# netstat -tlunp|grep 53tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 2491/dnsmasq tcp 0 0 :::53 :::* LISTEN 2491/dnsmasq udp 0 0 0.0.0.0:53 0.0.0.0:* 2491/dnsmasq udp 0 0 :::53 :::* 2491/dnsmasq
3、dig smallxu.me,第一次是沒有緩存,所以時間是400多
4、第二次再次測試,因為已經有了緩存,所以查詢時間已經變成了2.
為了防止故意進行DNS劫持,這里不貼出
四、DNSMASQ的配置
1、本地DNS使用
這里我們本地DNS可以使用伺服器中配置的IP,這樣我們本機就使用到自己的DNS,備用DNS可以用一個第三方公用DNS。
2、屏蔽網站/廣告
vi /etc/dnsmasq.conf
如果我們需要屏蔽某個網站或者廣告,可以修改上面的文件
address=/itbulu.com/127.0.0.1address=/smallxu.me/127.0.0.1
比如我希望無法打開這兩個網站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我們打開某個網站被指定到其他的伺服器或者網站中,就這樣被劫持的。同樣的,我們也可以將廣告目錄屏蔽。
添加後 smallxu.me和itbulu.com將會被解析到127.0.0.1
第五、Dnsmasq配置和使用總結
Dnsmasq實際功能不僅僅局限在上面的搭建我們本地需要的DNS伺服器功能,如果真就這么簡單的用法,那我們也沒有必要用一台伺服器配置。使用點第三方公共DNS還是沒有問題的,有點廣告也無妨。
『肆』 在CentOS上搭建Chroot的BindDNS伺服器的方法
BIND(Berkeley internet Name Daemon)也叫做NAMED,是現今互聯網上使用最為廣泛的DNS 伺服器程序。這篇文章將要講述如何在 chroot 監牢中運行 BIND,這樣它就無法訪問文件系統中除「監牢」以外的其它部分。
例如,在這篇文章中,我會將BIND的運行根目錄改為 /var/named/chroot/。當然,對於BIND來說,這個目錄就是 /(根目錄)。 「jail」(監牢,下同)是一個軟體機制,其功能是使得某個程序無法訪問規定區域之外的資源,同樣也為了增強安全性(LCTT 譯註:chroot 「監牢」,所謂「監牢」就是指通過chroot機制來更改某個進程所能看到的根目錄,即將某進程限制在指定目錄中,保證該進程只能對該目錄及其子目錄的文件進行操作,從而保證整個伺服器的安全)。Bind Chroot DNS 伺服器的默認「監牢」為 /var/named/chroot。
你可以按照下列步驟,在CentOS 7.0 上部署 Bind Chroot DNS 伺服器。
1、安裝Bind Chroot DNS 伺服器
2、拷貝bind相關文件,准備bind chroot 環境
復制代碼代碼如下:[root@centos7 ~]# cp -R /usr/share/doc/bind-*/sample/var/named/* /var/named/chroot/var/named/3、在bind chroot 的目錄中創建相關文件
復制代碼代碼如下:[root@centos7 ~]# touch /var/named/chroot/var/named/data/cache_mp.db[root@centos7 ~]# touch /var/named/chroot/var/named/data/named_stats.txt
[root@centos7 ~]# touch /var/named/chroot/var/named/data/named_mem_stats.txt
[root@centos7 ~]# touch /var/named/chroot/var/named/data/named.run
[root@centos7 ~]# mkdir /var/named/chroot/var/named/dynamic
[root@centos7 ~]# touch /var/named/chroot/var/named/dynamic/managed-keys.bind
4、 將 Bind 鎖定文件設置為可寫
復制代碼代碼如下:[root@centos7 ~]# chmod -R 777 /var/named/chroot/var/named/data[root@centos7 ~]# chmod -R 777 /var/named/chroot/var/named/dynamic
5、 將 /etc/named.conf 拷貝到 bind chroot目錄
復制代碼代碼如下:[root@centos7 ~]# cp -p /etc/named.conf /var/named/chroot/etc/named.conf6、 在/etc/named.conf中對 bind 進行配置。
在 named.conf 文件尾添加 example.local 域信息, 創建轉發域(Forward Zone)與反向域(Reverse Zone)(LCTT 譯註:這里example.local 並非一個真實有效的互聯網域名,而是通常用於本地測試的一個域名;如果你需要做權威 DNS 解析,你可以將你擁有的域名如這里所示配置解析。):
復制代碼代碼如下:[root@centos7 ~]# vi /var/named/chroot/etc/named.conf-
..
..
zone "example.local" {
type master;
file "example.local.zone";
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone";
};
..
..
named.conf 完全配置如下:
//
// named.conf
//
// 由Red Hat提供,將 ISC BIND named(8) DNS伺服器
// 配置為暫存域名伺服器 (用來做本地DNS解析).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
/*
- 如果你要建立一個 授權域名伺服器 伺服器, 那麼不要開啟 recursion(遞歸) 功能。
- 如果你要建立一個 遞歸 DNS 伺服器, 那麼需要開啟recursion 功能。
- 如果你的遞歸DNS伺服器有公網IP地址, 你必須開啟訪問控制功能,
只有那些合法用戶才可以發詢問. 如果不這么做的話,那麼你的服
服務就會受到DNS 放大攻擊。實現BCP38將有效抵禦這類攻擊。
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "example.local" {
type master;
file "example.local.zone";
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
7、 為 example.local 域名創建轉發域與反向域文件
a)創建轉發域
添加如下內容並保存:
復制代碼代碼如下:;; Addresses and other host information.
;
$TTL 86400
@ IN SOA example.local. hostmaster.example.local. (
2014101901 ; Serial
43200 ; Refresh
3600 ; Retry
3600000 ; Expire
2592000 ) ; Minimum
; Define the nameservers and the mail servers
IN NS ns1.example.local.
IN NS ns2.example.local.
IN A 192.168.0.70
IN MX 10 mx.example.local.
centos7 IN A 192.168.0.70
mx IN A 192.168.0.50
ns1 IN A 192.168.0.70
ns2 IN A 192.168.0.80
b)創建反向域
復制代碼代碼如下:[root@centos7 ~]# vi /var/named/chroot/var/named/192.168.0.zone-
;
; Addresses and other host information.
;
$TTL 86400
@ IN SOA example.local. hostmaster.example.local. (
2014101901 ; Serial
43200 ; Refresh
3600 ; Retry
3600000 ; Expire
2592000 ) ; Minimum
0.168.192.in-addr.arpa. IN NS centos7.example.local.
70.0.168.192.in-addr.arpa. IN PTR mx.example.local.
70.0.168.192.in-addr.arpa. IN PTR ns1.example.local.
80.0.168.192.in-addr.arpa. IN PTR ns2.example.local.。
8、開機自啟動 bind-chroot 服務
復制代碼代碼如下:[root@centos7 ~]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on[root@centos7 ~]# systemctl stop named
[root@centos7 ~]# systemctl disable named
[root@centos7 ~]# systemctl start named-chroot
[root@centos7 ~]# systemctl enable named-chroot
ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service'