日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用centos7+bind9构建内网私有dns

發布時間:2023/12/29 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用centos7+bind9构建内网私有dns 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有這樣一種場景,局域網內有一個為網內用戶提供服務的機器,我們希望像訪問互聯網站點一樣去訪問它,而不用記憶ip地址和端口,比如在web瀏覽器地址欄輸入http://www.nx.com就可以訪問它。但是,又不值得也不應該為這臺服務器提供公網固定ip和域名。也就是說,只可以在局域網內使用www.nx.com這個域名去訪問。

如果這臺服務器上有多個業務站點需要類似oa.nx.com、hr.nx.com、caiwu.nx.com等這樣的域名分別訪問,那么有效解析域名就顯得十分必要。

當然可以在客戶機上編輯hosts文件,在客戶機上實現本地解析。但如果客戶機很多,去編輯每一臺客戶機不現實也不明智。

于是我想到構建私有dns可以解決。所以我把實現的步驟記錄下來,以備日后參考。

假設有這樣一臺機器,可以為網內用戶提供dns服務,既可以讓網內用戶通過它正常訪問互聯網,也可以通過上述www.nx.com這樣的私有域名去訪問網內服務器。我使用的是一臺裝有centos7的linux服務器,地址是192.168.0.79,dns軟件使用的bind9.11.4。

1、安裝bind

使用yum安裝bind和bind-utils,yum會自動安裝依賴關系。utils主要是提供測試工具。

yum install bind bind-untils

2、配置防火墻

centos7自帶firewall。開啟53/udp端口即可。

firewall-cmd --query-port=53/udp (查詢53/udp端口是否開啟)

firewall-cmd --add-port=53/udp (開啟端口)

firewall-cmd --delete-port=53/udp (關閉端口)

3、配置緩存dns

想要實現區域解析,首先它得是一臺緩存dns,亦即能為網絡上其它主機提供遞歸查詢。我認為相當于“代理”的角色。也就是說,網內的計算機,只要把dns設置成這臺服務器的地址,就可以正常上網看網頁了。

編輯/etc/named.conf,具體可以參考man named.conf。

options{...}里面有個監聽選項,把服務器的網卡內網地址寫進去,讓它監聽在內網地址上。所以我的寫法是:

listen-on port 53 { 127.0.0.1;192.168.0.79; };

開啟遞歸功能,并指定訪問權限。內網使用可以全部允許。我的寫法是:

recursion yes;
allow-recursion { any; };

挺簡單的。然后啟動或者重載bind服務即可。如果是在用的高訪問量服務器,建議修改配置后,使用reload重載設置即可。內網新建無所謂了。dnssec功能可以先關閉。

systemctl restart named

然后可以用另外的linux主機,使用dig命令測試它。dig www.baidu.com @192.168.0.79

?測試通過,再使用windows試一下。

?ok沒問題。我這寫這篇博客的時候就是用的這臺dns。

4、配置主dns

在上一步的基礎上繼續配置。編輯/etc/named.conf:

options{...}里面allow-query選項加入可以使用這臺dns的主機/網絡ip,我直接用any,允許所有主機。如果希望控制訪問來源,可以在這里設置。我寫的是:

allow-query ? ? { localhost;any; };

在文件末尾加上include "/etc/named.user.zones";,當然直接編輯named.rfc1912.zones文件也是可以的,我不想改過多文件了。待會兒新建一個named.user.zones文件,以后不用了刪除即可。其實想要用哪個文件,包含進來即可。

?創建文件/etc/named.user.zones,加這么幾行就行了:

zone "nx.com" IN {type master;file "nx.com";allow-update { none; }; };

待會兒,使用的解析庫文件就是/var/named/nx.com。

創建文件/var/named/nx.com:

$TTL 1D @ IN SOA @ nx.qq.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumIN NS ns.nx.com. ns.nx.com. IN A 127.0.0.1 *.nx.com. IN A 192.168.0.60

后新建的這兩個文件,需要修改權限為640,屬組為named。

chmod 640 /etc/named.user.zones /var/named/nx.com chown :named /etc/named.user.zones /var/named/nx.com

重啟或重載服務完成。

systemctl restart named systemctl reload named

可以使用named-checkconf先看看配置是否有問題,有時候配置寫錯了reload成功,但是named服務會失敗。

然后linux上測試:

?

windows上測試:

?達到預期效果,完全沒有問題。

只是有些要提醒:

linux下測試,只要跟dns在一個網內能連同,就可以使用dig。但必須把網卡dns設置為這個dns地址,才可以ping。windows也是一樣,必須把dns設置了才可以ping才可以訪問私有域名。

這似乎沒什么好解釋的,想通過它解析,當然要先設置dns指向它。

再就是named配置文件,可以使用man named.conf查看幫助,其語法類似c語言,一定要記著分號結尾,差一點都不行。

完成了私有域名解析后,可以配置虛擬主機,讓域名有效利用起來。比如一家企業使用私有dns成功解析了nx.com,可以使用oa.nx.com、caiwu.nx.com、hr.nx.com、erp.nx.com等來訪問不同的系統。有關虛擬主機配置見另外一篇:

centos7+apache配置虛擬主機_大橘子的博客-CSDN博客

文本完。

總結

以上是生活随笔為你收集整理的使用centos7+bind9构建内网私有dns的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。