linux搭建簡單DNS服務器,實現(xiàn)局域網(wǎng)域名解析任意ip
功能:
1.最近公司新上了一臺web服務器,比如是111.111.111.111
需要同事測試服務器是否正常,在一個局域網(wǎng)網(wǎng)段里,每個人修改hosts比較麻煩,用這個方法可以實現(xiàn)。
例如:yumaozdy.com (yumaozdy.com此域名在公網(wǎng)已經(jīng)解析過了)指定域名訪問這個ip地址 111.111.111.111
2.比如www.test248lvs.cc此域名并沒有解析,想讓局域網(wǎng)同事訪問,不需要綁定hosts訪問
配置DNS服務器之后,再修改路由器的DNS或者是需要測試的電腦的DNS,就可以了。
如果域名做了cdn,修改路由器DNS無法繞過cdn,需要指定本機的DNS.
先瞅瞅什么是DNS吧:http://baike.baidu.com/linkurl=0hfwgNaTFI0mTI-zuubvTMwfHUpyCLgeKXedarG2f29PiWXbAMwUEwxwr6unTzlI8K4HJuhEvpr7Rhz-DqmWO0Qp7Zelu33TE6f7GZiYQ1_
DNS服務器IP地址:192.168.1.219
服務器版本:centos6.6
一:軟件安裝
[root@localhost ~]# yum -y install bind*
二:修改主配置文件
[root@localhost ~]# cp /etc/named.conf /etc/named.conf.bak # 修改之前先備份一遍
[root@localhost ~]# vi /etc/named.conf
修改為以下:
options { listen-on port 53 { any; }; // 監(jiān)聽在主機的53端口上。any代表監(jiān)聽所有的主機 directory "/var/named"; // 如果此檔案底下有規(guī)范到正反解的zone file 檔名時,該檔名預設(shè)應該放置在哪個目錄底下 // 下面三項是服務的相關(guān)統(tǒng)計信息 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; }; // 誰可以對我的DNS服務器提出查詢請求。any代表任何人 recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; forwarders { // 指定上層DNS服務器 192.168.1.1; }; 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"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
三、 自定義域名解析配置
[root@localhost ~]# vi /etc/named.rfc1912.zones # 比如我們要添加yumaozdy.com這個域的解析可以添加下面這一段 zone "yumaozdy.com" IN { // 定義要解析主域名 type master; file "yumaozdy.com.zone"; // 具體相關(guān)解析的配置文件保存在 /var/named/yumaozdy.com.zone 文件中 };
四 自定義yumaozdy.com.zone文件
[root@ns named]# vi /var/named/yumaozdy.com.zone 全文如下: $TTL 86400 @ IN SOA ns.yumaozdy.com. root ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 0 ) ; minimum @ IN NS ns.yumaozdy.com. ns IN A 192.168.1.219 www IN A 192.168.1.45 bbs IN A 192.168.1.46 ttt IN A 192.168.1.68
// 其中 ns.yumaozdy.com 代表當前dns服務器名稱。所以 ns.yumaozdy.com 一定要解析到自己本身
www IN A 192.168.1.45 // 代表 www.yumaozdy.com 解析到 192.168.1.45服務器上。其他的類似
五、修改權(quán)限
[root@ns named]# chown root:named yumaozdy.com.zone # 這一步一定要做
六、重啟服務
[root@dns_server named]# service named restart
七、新增域名解析
如果我們要追加一個域的解析。比如google.com 則:
vi /etc/named.rfc1912.zones // 添加下面這段 zone "google.com" IN { type master; file "google.com.zone"; }; [root@ns named]# cp -a yumaozdy.com.zone google.com.zone [root@ns named]# vi google.com.zone $TTL 86400 @ IN SOA ns.google.com. root ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 0 ) ; minimum @ IN NS ns.google.com. ns IN A 192.168.1.219 www IN A 192.168.1.11 bbs IN A 192.168.1.46 ttt IN A 192.168.1.68
配置完成之后重啟服務
[root@dns_server named]# service named restart
八、關(guān)閉selinux(略)
九、添加防火墻規(guī)則
vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
添加規(guī)則,并且保存(注意位置)
service iptables restart
十、測試
vim /etc/resolv.conf
nameserver 192.168.1.219
保存
pingwww.yumaozdy.com和其他域名看能否解析