===============================================前端
2017/12/6_第2次修改 ccb_warlocklinux
2017/12/6:補所有署內容git
===============================================vim
有些時候做爲內部調試或測試,須要指定某些域名不是指向網上的環境,而是指向咱們須要指定的ip(舉例,就像咱們可能須要www.baidu.com不是指向115.239.210.27,而是指向內網的192.168.1.1)。centos
做爲我的的電腦,能夠考慮修改host文件(C:\Windows\System32\drivers\etc),可是一旦相似域名映射的需求多了、使用人數多了以後,搭建一個DNS服務相對來講更加省事,由於你們只須要修改網絡鏈接的首選DNS服務器ip便可。緩存
我最初學習搭建DNS服務器是由於項目的前端跳轉根據域名而來,若是不修改域名的映射不少跳轉會從測試環境跳轉到正式環境,致使一些功能使用出現問題。因爲每次修改host文件費時費力,,因此決定搭建DNS服務器來解決測試時頁面跳轉的這個問題。服務器
因爲咱們僅僅預要DNS的功能,因此首選仍是使用linux來搭建DNS服務更好(由於能夠減少公司服務器的硬件開銷),我更熟悉centos故仍是學習整理centos搭建DNS的方法。網絡
下面記錄如何搭建一個能將test.com解析爲192.168.5.1的DNS服務器。session
1、環境準備tcp
操做系統:centos7(minimal,www.centos.org下載的包是CentOS-7-x86_64-Minimal-1708.iso)
CPU:1核
內存:512M
1.1 更換阿里yum(我的習慣)
1)安裝wget
yum install -y wget
2)備份默認的yum
mv /etc/yum.repos.d /etc/yum.repos.d.backup
3)建立新的yum目錄
mkdir /etc/yum.repos.d
4)下載阿里yum到該目錄下
wget -O /etc/yum.repos.d/CentOS-Base.repo
5)重建緩存
yum clean all
yum makecache
6)升級全部包(改變軟件設置和系統設置,系統版本內核都升級,故須要幾分鐘耐心等待)
yum update -y
1.2 安裝vim(我的習慣)
yum install -y vim
2、部署bind
2.1 安裝bind
yum -y install bind
2.2 備份named.conf
cp /etc/named.conf /etc/named.conf.backup
2.3 修改named.conf
vim /etc/named.conf
根據下面的內容修改,wq保存。
options { # 監聽在主機的53端口上。any表明監聽全部的主機 listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; # 若是此檔案底下有規範到正反解的zone file 檔名時,該檔名預設應該放置在哪一個目錄底下 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"; # 誰能夠對個人DNS服務器提出查詢請求。any表明任何人 allow-query { any; }; /* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. - If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. - If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatly reduce such attack surface */ recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; forwarders { # 指定上層DNS服務器(網關) 192.168.1.1; }; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2.4 增長zone信息
vim /etc/named.rfc1912.zones
因爲本次須要添加test.com域名的解析,故須要添加下面的內容,wq保存。
zone "test.com" IN { # 定義要解析主域名 type master; file "test.com.zone"; # 具體相關解析的配置文件保存在 /var/named/test.com.zone 文件中 };
2.5 建立test.com.zone
vim /var/named/test.com.zone
因爲本次須要解析test.com、www.test.com、abc.test.com,添加下面的內容,wq保存。
$TTL 1D @ IN SOA test.com. root ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 0 ) ; minimum IN NS test.com IN A 192.168.5.1 www IN A 192.168.5.1 print IN A 192.168.5.1
2.6 修改該文件權限
chown root:named test.com.zone
2.7 重啓
systemctl restart named
2.8 設置開機啓動
systemctl enable named
2.9 防火牆開放5三、953端口
firewall-cmd --add-port=53/tcp --permanent firewall-cmd --add-port=53/udp --permanent firewall-cmd --add-port=953/tcp --permanent firewall-cmd --reload
2.10 關閉selinux
修改SELNUX的值,wq保存。
SELINUX=disabled
重啓OS
shutdown -r now
接着將電腦網絡適配器的首選DNS配成192.168.1.1,經過cmd來ping test.com、www.test.com、abc.test.com這些域名,能夠發現返回的已是咱們配置的192.168.5.1。
參考資料: