DNS如何配置
一、DNS
DNS(Domain Name System,域名系统)是互联网的一项服务,它作为将域名和IP地址相互映射的分布式数据库,能够使人更方便地访问互联网,而不需要记住复杂的IP数串,DNS使用的端口号是53,其中查询时使用UDP协议,区域文件传递时使用TCP协议。
二、DNS服务器类型
1、主名称服务器(Primary Name Server):负责从域管理员构造的本地磁盘文件中加载域信息,具有权威性。
2、从名称服务器(Secondary Name Server):从主服务器复制一整套域信息,也具有权威性。
3、唯高速缓存名称服务器(Cachingonly Server):没有域名数据库软件,只提供已缓存的响应,不具有权威性。
4、转发服务器:负责将所有查询转发到其他DNS服务器。
三、DNS配置文件详解
1./etc/hosts
用于简单的主机名解析,通常在请求DNS或NIS网络域名服务器前先查看此文件。
111、13.100.92 www.baidu.com
2./etc/resolv.conf
包含系统的DNS服务器地址和搜索域名,用于告诉程序使用哪个域名服务器来完成域名查询。
nameserver 8.8.8.8 nameserver 114.114.114.114
可以通过编辑该文件来添加或修改DNS服务器地址。
3./etc/named.conf
BIND的主配置文件,设置全局参数和默认值。
options { directory "/var/named"; dumpfile "/var/named/data/cache_dump.db"; statisticsfile "/var/named/data/named.stats"; memstatisticsfile "/var/named/data/named_mem_stats.txt"; allowquery { any; }; recursion yes; dnssecenable no; dnssecvalidation no; listen on "any" { any; }; };
4./var/named/named.ca
根域名配置服务器指向文件,用于告诉缓存服务器初始化。
5./var/named/localhost.zone
用于将本地IP地址转换为本地回送IP地址。
6./var/named/name.local
用于将localhost名字转换为本地回送IP地址。
7./etc/named.rfc1912.zones
区块设置文件,定义了正向解析文件和反向解析文件。
$TTL 86400 @ IN SOA ns.heiye.com. admin.heiye.com. ( 2015042201 ; Serial 3600 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative caching TTL ) IN NS ns.heiye.com. IN A 192.168.1.2 IN MX mail.heiye.com. IN TXT "This is heiye.com zone file."
8./var/named/yourdomain.com.zone
自定义的正向解析文件,用于指定域名的A记录、CNAME记录、MX记录等。
$TTL 86400 @ IN SOA ns.heiye.com. admin.heiye.com. ( 2015042201 ; Serial 3600 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative caching TTL ) IN NS ns.heiye.com. IN A 192.168.1.2 IN MX mail.heiye.com. IN TXT "This is heiye.com zone file."
9./var/named/yourdomain.com.zero
自定义的反向解析文件,用于通过IP地址查找域名。
$TTL 86400 @ IN SOA ns.heiye.com. admin.heiye.com. ( 2015042201 ; Serial 3600 ; Refresh 86400 ; Retry 2419200 ; Expire 86400 ) ; Negative caching TTL ) IN NS ns.heiye.com. IN PTR yourdomain.com.
四、DNS资源记录格式
资源记录(Resource Record, RR)是DNS数据库中的基本元素,常见的资源记录类型包括:
1、A记录:将特定主机名映射到对应的IPv4地址,www IN A 192.168.1.2
2、AAAA记录:将特定主机名映射到对应的IPv6地址,www IN AAAA 2001:0db8:85a3:0000:0000:8a2e:0370:7334
3、CNAME记录:将别名映射到真实域名,ftp IN CNAME www.heiye.com.
4、MX记录:指定邮件交换器,mail IN MX 10 mail.heiye.com.
5、PTR记录:用于反向解析,将IP地址映射到域名,1.168.192.inaddr.arpa IN PTR yourdomain.com.
6、TXT记录:存储任意文本信息,heiye IN TXT "This is heiye.com zone file."
五、配置DNS客户端
1. Linux系统中的DNS客户端配置
Linux系统中的DNS客户端配置通常涉及编辑/etc/resolv.conf
文件,添加以下行来指定DNS服务器:
nameserver 8.8.8.8 nameserver 114.114.114.114
在某些Linux发行版中,可能需要编辑网络接口配置文件来设置DNS服务器,在CentOS系统中,编辑/etc/sysconfig/networkscripts/ifcfgeth0
文件并添加:
DNS1=114.114.114.114 DNS2=8.8.8.8
修改完成后,重启网络服务以应用新的配置:
systemctl restart network.service
如果使用NetworkManager或其他网络管理工具,可以通过图形界面或特定命令来配置DNS,在使用NetworkManager的系统中,可以编辑连接属性来添加DNS服务器地址,为了防止自动更新,可以使用chattr +i /etc/resolv.conf
锁定文件,修改时解锁。
六、验证DNS配置
配置完成后,需要验证DNS服务是否正常工作,在DNS服务器上,使用namedcheckconf
和namedcheckzone
命令检查配置文件和区域文件的语法是否正确,然后重启BIND服务以应用更改:
systemctl restart named.service
在DNS客户端上,可以使用nslookup
或dig
命令测试DNS解析是否正常工作。
nslookup google.com dig google.com
七、注意事项与常见问题解决
1、防火墙设置:确保防火墙允许DNS服务的53端口通信,可以使用命令关闭防火墙:systemctl stop firewalld
。
2、权限问题:确保DNS配置文件和区域文件的权限正确,使用命令提权:chown R root:named /var/named/yourdomain.com.zone
。
3、网络连接:确保虚拟机的网络连接模式为NAT或桥接模式,以保证能正常联网。
八、相关问题与解答
问题1:如何在Linux系统中安装BIND?
答:在基于RPM的系统(如CentOS、Fedora等),可以使用以下命令安装BIND:sudo yum install bind bindutils
,在基于Debian的系统(如Ubuntu、Debian等),可以使用以下命令安装BIND:sudo aptget update && sudo aptget install bind9 bind9utils bind9doc
。
问题2:如何防止/etc/resolv.conf
文件被自动修改?
答:可以使用chattr +i /etc/resolv.conf
命令锁定该文件,以防止自动修改,如果需要修改,可以使用chattr i /etc/resolv.conf
命令解锁。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/82471.html