今天帶大家來看看如何手動編譯源碼bind,自己手動編譯安裝的很多文件都要自己去建立,配置文件也要從零寫起,而且沒有服務啓動腳本,需要自己編寫啓動腳本。
實驗規劃:
1、在192.168.1.200這臺主機上編譯安裝bind,完成後爲named服務編寫啓動腳本,加入到service。
2、配置view實現智能DNS解析:當請求解析www.tuchao.com,來源爲192.168.1.0/24時候,解析到192.168.1.100。其他的來源都解析到外網地址,1.1.1.1
3、使用queryperf 對服務器進行壓力測試,看看每秒最多能迴應多少請求。
我們先按順序一個一個來,首先準備編譯bind,在編譯之前請確保系統已經安裝了開發組件。
# tar -zxvf bind-9.10.0-P1
# cd bind-9.10.0-P1
# ls
這些就是源程序:
# ./configure --help 查看配置的幫助信息
# ./configure --sysconfdir=/etc/named --prefix=/usr/local/bind --enable-epoll --disable-ipv6 --disable-chroot --enable-threads
這就已經在檢測編譯環境,按配置需求生成makefile了。
檢測完成以後:
# make && make install
等待編譯安裝完成。
爲了啓動方便,我們先爲named編寫服務腳本。
# vim /etc/rc.d/init.d/named
下面是小菜寫的腳本,可能不是很完善,不過可以給大家做做參考。
好,腳本完成了,接下來修改PATH環境變量。
# vim /etc/profile.d/bind.sh
export PATH=/usr/local/bind/bin:/usr/local/bind/sbin:$PATH
包含man文件。
# vim /etc/man.config
MANPATH /usr/local/bind/share/man
接下來,創建/etc/named/named.conf主配置文件。
# vim /etc/named/named.conf
參考或者寫入以下內容:
然後去創建區域解析文件。
根文件:
# mkdir /var/named
# dig -t NS . >/var/named/named.ca
localhost.zone 本機正向區域解析文件:
named.local 本機反向區域解析文件:
internal.tuchao.com.zone "tuchao.com" 區域解析文件:
external.tuchao.com.zone “tuchao.com”區域解析文件:
全部都配置完成了,接下來用我們剛剛寫的腳本,啓動下named服務。
# /etc/init.d/named start
看下,是不是已經啓動。
看下能不能實現智能解析:
我們先用本機解析下www.tuchao.com
解析成功了哈,解析的結果是192.168.1.100。
這次我們把來源換成172.16.0.2 這臺主機請求,看看解析地址會不會變成外網的。
# dig -t A www.tuchao.com
結果是不是變成了1.1.1.1 ,這就是智能DNS可以根據來源,判斷以哪個區域文件進行解析。
想必看到這裏,大家都有點累了吧,其實小菜也寫累了,但是堅持一下一鼓作氣搞完。
如何對服務器進行壓力測試,我們要用的就是queryperf 這個工具,我們先去編譯它。
# cd /root/bind-9.10.0-P1/contrib/queryperf
# ./configure
# make
編譯好後,直接拷貝到/bin目錄下就可以使用了。
先創建一個查詢文件,如# vim /tmp/cha.txt
寫入類似內容,複製至數萬行,才能達到測試效果。
基本用法:
queryperf -d 指定查詢列表文件
-s 指定Server
現在來測試下試試:
# queryperf -d /tmp/cha.txt -s 192.168.10.200
總共查詢了665062次,完成665062次。
平均每秒可以響應22974次。
性能還不錯哦!
好了,任務完成了,該睡覺了。
以上內容純小菜手打,實驗親測截圖,有問題歡迎與我交流QQ:1183710107