1、bind的安裝和配置
linux
一、bind的安裝:用yum安裝安全
yum -y install bind服務器
二、用cd切換到bind的主配置文件/etc/named.conf,而後以下圖把暫時不須要用的禁用:網絡
三、而後就用命令 servier named start 啓動named進程,named進程是53端口的,以下圖dom
2、正向解析和反向解析ide
一、正向解析的配置:oop
1.一、打開 /etc/named.rfc1912.zones 這個文件,添加一個正向區域文件測試
1.二、切換到/var/named/ ,建立文件 panlinux.com.zone 並在文件添加以下圖內容:spa
1.三、改panlinux.com.zone所屬主和組,還有文件權限,以下圖:3d
1.四、用named-checkconf 命令檢查主配置文件,用named-checkzone命令來檢查區域配置 文件,而後用 service named reload 從新加載一下named, 作完能夠查看一下 日誌,tail /var/log/messages
1.五、測試:先到/etc/resolv.conf把dns的ip設置爲本機IP 192.168.2.10,
1.5.一、用dig -t A 域名 @主機 以下圖
二、反向解析:
2.1 在/etc/named.rfc1912.zones 增多一條區域文件,以下圖
2.2 切換到/var/named/ ,建立文件 2.168.192.zone 並在文件添加以下圖內容:
2.3 改2.168.192.zone所屬主和組,還有文件權限,以下圖:
2.4 用named-checkconf 命令檢查主配置文件,用service named configtest命令來檢查 2.168.192.zone文件有沒有語法錯誤,而後用service named reload 從新加載一 下named, 作完能夠查看一下日誌,tail /var/log/messages
2.5 測試:用dig -x ip 命令測試
三 主從的配置
作實驗以前沒有關閉防火牆的,要先把防火牆關掉,要否則主服務器數據同步不到從服務器上
一、在服務器192.168.2.10上的panlinux.com.zone添加在區域數據文件中爲從服務器添加一條NS 記錄和對應的A或PTR記錄,以下圖是正向的:
二、在另一臺linux ip爲192.168.2.11上作dns從服務器,先安裝bind,而後在
在/etc/named.rfc1912.zones 增多一條區域,而後用service named restart 重啓一 下主從服務器的named服務,以下圖
三、而後在從服務器上的/var/named/slaves就會出現從主服務器同步來的panlinux.com.zone文件
四、如今作反向的主從配置:在服務器192.168.2.10上的192.168.2.zone添加在區域數據文PTR記錄,以下圖:
五、 在另一臺linux ip爲192.168.2.11的/etc/named.rfc1912.zones 增多一個區域,以下圖:
六、 而後用service named restart 重啓一下主從服務器的named服務,而後在從服務器上的/var/named/slaves就會出現從主服務器同步來的192.168.2.zone文件
七、若是單單這樣就能夠獲取服務器數據那就太危險了,別人能夠經過模擬從服務器IP的方式獲取主服務器的數據。因此咱們要控制主服務器,讓他只能同步給從服務器,而從服務器給誰都不一樣步。這樣就相對安全了不少。
在bind中有內置的acl(訪問控制列表)
none:表示死全部都不一樣步
any:表示全部都同步
localhost:只給本機同步
localnet:給同步給同網絡
allow-update:容許更新
allow-transfer { ip; ip; ip; ... }; none|any|localhost|localnet 都是allow-transfer的參數
從服務器的安全,若是在/etc/named.rfc1912.zones 區域增多一條allow-transfer { none; };,就表示誰都沒法同步從服務器,以下圖:
4、子域的受權
(父域的ip爲:192.168.2.10,子域的ip爲:192.168.2.12)
在父域的配置文件中添加以下項:
受權的子區域名稱
子區域的名稱服務器
子區域的名稱服務器的IP地址
一、,在父域服務器上的 /var/named/panlinux.com.zone 添加以下圖所示:
二、而後在子域安裝bind,並在區域文件中添加一個zone,以下圖所示:
三、在/var/named添加一個數據文件tech.panlinux.com.zone,以下圖所示:
四、而後檢查語法,在父域用 dig -t NS tech.panlinux.com @192.168.2.10 測試
5、轉發機制
一、配置區域轉發:轉發域
解析某本機不負責的區域內的名稱時不轉發給根,而是轉給指定的主機:
zone "ZONE NAME" IN{
type forward;
forwarders { DNS_SERVER; };
forward only(僅轉發)|first(先轉發在找根)
}
1.一、在子域中的主配置文件添加以下圖所示:
1.二、測試:
在子域用 dig -t A www.panlinux.com @192.168.2.12 命令來測試
二、配置轉發的方式
轉發非本機負責解析的全部區域
options{
forward only|frist
forwarders{ ip; }
}
轉發某特定區域
zone"特定區域" IN{
type forward;
forwarders{ ip; }
forward only|frist
}
容許轉發的前提:轉發必須對方服務器支持遞歸
六:view 視圖:
功能:因爲主機解析查詢時會輪詢使用解析到的服務器,而bindview則根據客戶端的來源不一樣,將同一個名稱解析至不一樣的值,不作輪詢。
鑑於我國的各地既有聯通網絡,又有電信網絡,而聯通電信之間的鏈接靠的是北京機房的中轉,那麼能夠想象,若是你處在電信網絡下,向聯通服務器發起請求的速度會有多慢。爲了解決這種情況,邊出現了bind view 這種功能,讓聯通用戶至訪問聯通服務器,電信只訪問電信。這樣速度就會快不少了。
view 視圖,邏輯的DNS服務器,可以實現讓一個view實現屢次
view一旦實現,就全部的zone都放到view中
格式:
view view_name {
match-clients{
客戶端地址,若是客戶端不少,則用cal定義 ;
zone"magelinux.com" IN{
type master;
file "magelinux.com.telcom";
}
}
view view_name {
match-clients{ unicom; }
zone"magelinux.com" IN{
type master;
file "magelinux.com.unicom";
}
}
view view_name {
match-clients{ any; }
zone"magelinux.com" IN{
type master;
file "magelinux.com.unicom";
}
}
只要寫入view,全部的都應該寫在view中
自上而下匹配
首先將/etc/named.conf中的
zone "." { type hint;
file "named.ca";
};
這四行剪貼到/etc/named.rfc1912.zones中
將裏面全部的zone都用view括起來,下面配置解析panlinux.com 的這個域
view left {
match-clients { 192.168.0.0/24; };
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
};
};
view right {
match-clients { 192.168.2.0/24; };
zone "panlinux.com" IN {
type master;
file "panlinux.com.right";
};
};
view defalue {
match-clients { any; };
zone "panlinux.com" IN {
type master;
file "panlinux.com.right";
};
};
保存好後,再用 named-checkconf 檢查語法是否錯誤;
cd 到/var/named ,建立panlinux.com.right
改所組爲named,改權限爲640
dig -t A www.panlinux.com @192.168.2.12 能夠解析出來的地址爲192.168.0.1
使用view要注意的:
一、一般只爲內網客戶端提供遞歸功能,提供根區域等;
二、經過只爲外網客戶端提供本機所負責的區域的解析;