一、bind的安裝和配置
1、bind的安裝:用yum安裝
yum -y install bind
2、用cd切換到bind的主配置文件/etc/named.conf,然後如下圖把暫時不需要用的禁用:
3、然後就用命令 servier named start 啓動named進程,named進程是53端口的,如下圖
二、正向解析和反向解析
1、正向解析的配置:
1.1、打開 /etc/named.rfc1912.zones 這個文件,添加一個正向區域文件
1.2、切換到/var/named/ ,創建文件 panlinux.com.zone 並在文件添加如下圖內容:
1.3、改panlinux.com.zone所屬主和組,還有文件權限,如下圖:
1.4、用named-checkconf 命令檢查主配置文件,用named-checkzone命令來檢查區域配置 文件,然後用 service named reload 重新加載一下named, 做完可以查看一下 日誌,tail /var/log/messages
1.5、測試:先到/etc/resolv.conf把dns的ip設置爲本機IP 192.168.2.10,
1.5.1、用dig -t A 域名 @主機 如下圖
2、反向解析:
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 命令測試
三 主從的配置
做實驗之前沒有關閉防火牆的,要先把防火牆關掉,要不然主服務器數據同步不到從服務器上
1、在服務器192.168.2.10上的panlinux.com.zone添加在區域數據文件中爲從服務器添加一條NS 記錄和對應的A或PTR記錄,如下圖是正向的:
2、在另外一臺linux ip爲192.168.2.11上做dns從服務器,先安裝bind,然後在
在/etc/named.rfc1912.zones 增多一條區域,然後用service named restart 重啓一 下主從服務器的named服務,如下圖
3、然後在從服務器上的/var/named/slaves就會出現從主服務器同步來的panlinux.com.zone文件
4、現在做反向的主從配置:在服務器192.168.2.10上的192.168.2.zone添加在區域數據文PTR記錄,如下圖:
5、 在另外一臺linux ip爲192.168.2.11的/etc/named.rfc1912.zones 增多一個區域,如下圖:
6、 然後用service named restart 重啓一下主從服務器的named服務,然後在從服務器上的/var/named/slaves就會出現從主服務器同步來的192.168.2.zone文件
7、如果單單這樣就可以獲取服務器數據那就太危險了,別人可以通過模擬從服務器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; };,就表示誰都無法同步從服務器,如下圖:
四、子域的授權
(父域的ip爲:192.168.2.10,子域的ip爲:192.168.2.12)
在父域的配置文件中添加如下項:
授權的子區域名稱
子區域的名稱服務器
子區域的名稱服務器的IP地址
1、,在父域服務器上的 /var/named/panlinux.com.zone 添加如下圖所示:
2、然後在子域安裝bind,並在區域文件中添加一個zone,如下圖所示:
3、在/var/named添加一個數據文件tech.panlinux.com.zone,如下圖所示:
4、然後檢查語法,在父域用 dig -t NS tech.panlinux.com @192.168.2.10 測試
五、轉發機制
1、配置區域轉發:轉發域
解析某本機不負責的區域內的名稱時不轉發給根,而是轉給指定的主機:
zone "ZONE NAME" IN{
type forward;
forwarders { DNS_SERVER; };
forward only(僅轉發)|first(先轉發在找根)
}
1.1、在子域中的主配置文件添加如下圖所示:
1.2、測試:
在子域用 dig -t A www.panlinux.com @192.168.2.12 命令來測試
2、配置轉發的方式
轉發非本機負責解析的所有區域
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要注意的:
1、通常只爲內網客戶端提供遞歸功能,提供根區域等;
2、通過只爲外網客戶端提供本機所負責的區域的解析;