DNS服務
域名系統(DNS)是建立在分佈式數據庫上的分層命名系統。該系統將域名轉換爲IP地址,並可以將域名分配給Internet組資源和用戶,無論實體的物理位置如何。
說白了就是:域名與IP之間的相互解析轉化,如:www.baidu.com解析成192.168.0.0這種(只是舉個例子)。本文只配置了正向的解析,反向解析在另一篇:DNS添加反向解析
Linux下搭建DNS服務器
在Linux搭建DNS服務器步驟如下:
1.下載安裝
[root@xtrabackup ~]# yum -y install bind
2.修改配置文件
在安裝完成之後,會有幾個主要配置文件:
/etc/named.conf --主配置文件
/etc/named.rfc1912.zones --保存域名及IP對應關係所在地址
/var/named --保存域名與IP地址的真實關係
2.1 修改/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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
其餘地方不需要動。
2.2 修改/etc/named.rfc1912.zones文件
在下面添加我們要加入的對應關係:
zone "cfc01.com" IN {
type master;
file "cfc01.com.zone";
allow-update { none; };
};
對應關係爲cfc01.com 實際存在位置爲cfc01.com.zone文件裏,然後稍後去編輯cfc01.com.zone文件。
2.3 修改/var/named 下的cfc01.com.zone文件
這個文件是自己定義,自己命名的,與named.rfc1912.zones文件裏的配置命名一致。
$TTL 3600
$ORIGIN cfc01.com.
@ IN SOA cfc01.com. admin.cfc01.com. (
2019112103
1H
10M
3D
1D)
IN NS nameserver.cfc01.com.
IN NS nameslave.cfc01.com.
nameslave IN A 172.16.2.251
nameserver IN A 172.16.2.249
www IN A 172.16.2.244
需特別注意:www 後面的IP需要是本機的IP地址,不知道的可以ifconfig一下,如果不是本機地址,一會nslookup解析不出來。
3. 關閉防火牆和53端口設置
3.1和3.2做一個就行,都能起到越過防火牆的作用,只不過一個把防火牆關閉了,一個相當於通行證。
3.1 防火牆配置
我的是關閉狀態,如果是開啓的輸入此命令關閉:
[root@xtrabackup ~]# service iptables stop
可能會遇到centos7不支持iptables命令的情況,這個需要安裝一下:
[root@xtrabackup ~]# yum install iptables-services
啓動服務,之後可正常使用iptables
[root@xtrabackup ~]# systemctl enable iptables
3.2 修改53端口的防火牆設置:
[root@xtrabackup ~]# 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
查看53端口狀態:
[root@xtrabackup ~]# netstat -anlpe | grep named
4. 查看當前SELinux的運行模式
是disabled就行
[root@xtrabackup ~]# getenforce
Disabled
5. 重啓DNS服務
[root@xtrabackup ~]# service named restart
Redirecting to /bin/systemctl restart named.service
[root@xtrabackup ~]# ps -ef|grep name
root 13137 5544 0 11:20 pts/1 00:00:00 vi /etc/named.conf
root 14303 5544 0 11:41 pts/1 00:00:00 vi /etc/named.rfc1912.zones
root 22017 5544 0 14:13 pts/1 00:00:03 find / -name named.conf
root 25189 5544 0 15:03 pts/1 00:00:00 vi named.conf
named 29963 1 0 16:15 ? 00:00:00 /usr/sbin/named -u named -c /etc/named.conf
root 29994 5544 0 16:16 pts/1 00:00:00 grep --color=auto name
6. 將網卡配置文件中的DNS修改爲本機IP
因人而異,ifcfg-ens後綴不定
[root@xtrabackup ~]vi /etc/sysconfig/network-scripts/ifcfg-ens192
在下面添加一條:
DNS1=172.16.2.244
7. 重啓網卡
[root@xtrabackup ~]# systemctl restart network
至此,Linux環境搭建DNS的正向解析完成。
測試一下:
[root@xtrabackup ~]# nslookup www.cfc01.com
Server: 172.16.2.244
Address: 172.16.2.244#53
Name: www.cfc01.com
Address: 172.16.2.244
沒有問題~
注意事項
可能會因爲權限問題無法解析成功,我把我的權限列表貼出來,按照這個權限修改是沒有問題的。
1./var/named/ 目錄下的權限:
2.etc下的權限: