CentOS7部署Bind
1.簡介
DNS(Domain Name System),域名系統,因特網上作為域名和IP地址相互對映的一個分散式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。透過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議執行在UDP協議之上,使用埠號53。DNS伺服器的作用就是就好比生活中的電話簿、114查號臺一樣,為各種網路程式找到對應目標主機的IP地址或對應的主機域名
2.功能
每個IP地址都可以有一個主機名,主機名由一個或多個字串組成,字串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP裝置的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。
3.主從部署
主服務端(訪問外網) 安裝DNS服務所需要的軟體包 yum -y install bind bind-chroot bind-util bind-libs 備註: bind 提供了域名服務的主要程式及相關檔案 bind-utils 提供了對DNS伺服器的測試工具程式(如nslookup、dig等) bind-chroot 為bind提供一個偽裝的根目錄以增強安全性(將“/var/named/chroot/”資料夾作為BIND的根目錄) cat /etc/named.conf options { listen-on port 53 { any; }; #使用53埠監聽,預設監聽的是127.0.0.1,這裡修改為any(或者直接修改為服務端的ip地址) listen-on-v6 port 53 { ::1; }; #監聽ipv6的IP地址選項 directory "/var/named"; #DNS的根目錄,由於安裝了bind-chroot的所致,因此服務的實際工作目錄為/var/named/chroot/var/named dump-file "/var/named/data/cache_dump.db"; #快取轉儲檔案 statistics-file "/var/named/data/named_stats.txt"; #記錄了記憶體使用的統計資訊 memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; #允許查詢的主機,預設為localhost,這裡修改為any recursion yes; #可以遞迴查詢 dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { #named服務的日誌檔案資訊 channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { #根(.)域的配置及資訊(也可以透過其它上級域名轉發功能來配置快取域名伺服器,可以去了解下) type hint; file "named.ca"; }; zone "test.com" IN { #指定區名。正向解析 type master; #伺服器類別,master為主域名 file "test.com.zone"; #正向解析區域檔名wangshibo.com_zone,在/var/named目錄下建立 allow-transfer {192.168.1.253;}; #指定從(輔助)域名伺服器IP。即DNS從伺服器的ip是192.168.1.253 }; zone "1.168.192.in-addr.arpa" IN { #域名對應的ip地址網段為192.168.1.0,此處必須按照相 。反向解析 同的格式寫 type master; file "192.168.1.zone"; #反向解析檔名192.168.1.zone allow-transfer {192.168.1.23;}; }; 正向解析 cat /var/named/test.com.zone $TTL1D @ IN SOA ns1.test.com. mail.test.com. ( 2021121401 #主DNS的此解析檔案沒改動一次,都要修改一次這個值,然後重啟naned或rndc reload重啟,從DNS就會自動同步過去 1D 1H 1W 3H ) @ IN NS ns1.test.com. #主域名的域名地址。NS是域名伺服器 ns1.test.com. IN A 192.168.1.254 #主域名的ip地址 @ IN NS ns2.test.com. #從域名的域名地址。NS是域名伺服器 ns2.test.com. IN A 192.168.1.253 #從域名的ip地址 @ IN MX 10 mail.test.com. #郵件伺服器的域名地址 mail.test.com. IN A 192.168.1.252 IN A 192.168.1.100 cc.test.com. IN CNAME ns1.test.com. 反向解析 cat /var/named/192.168.1.zone $TTL 1D @ IN SOA ns1.test.com. mail.test.com. ( 2021121401 #主DNS的此解析檔案沒改動一次,都要修改一次這個值,然後重啟naned或rndc reload重啟,從DNS就會自動同步過去 1D 1H 1W 3H ) @ IN NS ns1.test.com. @ IN NS ns2.test.com. 254 IN PTR ns1.test.com. 253 IN PTR ns2.test.com. @ IN MX 10 mail.test.com. 252 IN PTR mail.test.com. 200 IN PTR /etc/init.d/named start 客戶端 cat /etc/resolv.conf nameserver 192.168.1.254 dig @192.168.1.254
從服務端(訪問外網) 安裝DNS服務所需要的軟體包 yum -y install bind bind-chroot bind-util bind-libs cat /etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; forwarders { 8.8.8.8; }; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "test.com" IN { type slave; file "test.com.zone"; masters {192.168.1.254;}; }; zone "1.168.192.in-addr.arpa" IN { type slave; file "192.168.1.zone"; masters {192.168.1.254;}; }; /etc/init.d/named start dig @192.168.1.253
備註
最後檢視/var/log/messages日誌的內容,確認DNS主從是否啟動正常,是否實現了同步。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2847815/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- centos7 部署 memcacheCentOS
- CentOS7上部署httpsCentOSHTTP
- centos7部署djangoCentOSDjango
- CentOS7離線部署JDKCentOSJDK
- CentOS7部署cephCentOS
- CentOS7 docker安裝部署教程CentOSDocker
- centos7下zookeeper叢集安裝部署CentOS
- Centos7安裝安裝部署dockerCentOSDocker
- centos7部署element-plusCentOS
- CentOS7部署Docker(聯網)CentOSDocker
- Centos7部署Redis叢集CentOSRedis
- CentOS7 輕鬆部署 Laravel 應用CentOSLaravel
- CentOS7部署geoserver和postgisCentOSServer
- Centos7搭建部署confluence7.4.6CentOS
- Centos7系統部署django專案CentOSDjango
- asp.net core 2.1 部署 centos7ASP.NETCentOS
- CentOS7系統GitLab安裝部署教程。CentOSGitlab
- Centos7部署nmon監控工具CentOS
- Centos7安裝jenkins+docker部署tomcatCentOSJenkinsDockerTomcat
- linux centos7部署anaconda3LinuxCentOS
- centos7後臺服務部署jar包CentOSJAR
- etcd學習(4)-centos7中部署etcdCentOS
- 在CentOS7環境下部署weblogic叢集CentOSWeb
- 阿里雲centos7部署Django專案阿里CentOSDjango
- java在centos7下部署執行jar包JavaCentOSJAR
- asp.net core 應用docke部署到centos7ASP.NETCentOS
- 虛擬化架構與Centos7系統部署架構CentOS
- CentOS7配置中文支援與部署GitLab伺服器CentOSGitlab伺服器
- JavaScript bind()JavaScript
- Linux下DNS服務(Bind9)之Web管理利器-NamedManager部署說明LinuxDNSWeb
- CentOS7系統部署Node.js LTS V18.16.0CentOSNode.js
- Centos7安裝部署openstack--nova計算服務CentOS
- Liunx(CentOS7)中介軟體Weblogic的安裝與部署CentOSWeb
- Centos7部署RabbitMQ的映象佇列叢集CentOSMQ佇列
- CentOS7系統手動部署LNMP環境操作演示CentOSLNMP
- 詭異!std::bind in std::bind 編譯失敗編譯
- v-bind
- 手寫bind