帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
搭建DNS服务器
发布时间:2024-03-07 14:38:10   分类:帮助文档
搭建DNS服务器 目录 搭建DNS缓存服务器 1.安装bind 2.修改配置文件 3.正向解析:  4.进行反向解析: 5.对文件的属主进行修改:  6.查看本机网卡: 7.查看本机DNS: 8.nslookup解析域名: 9. windows测试: 10.测试缓存 : 主从复制:  主服务器(master): 从服务器(slave): 部署小型DNS缓存服务 部署DNS加密同步 配置加密主DNS: 配置加密从DNS 部署DNS分离解析 部署DNS负载均衡 部署DNS安全扩展dnssec: 搭建DNS缓存服务器 IPnamed类型172.25.250.103dns.vincefans.comdns服务器 172.25.250.101 www.vincefans.comweb服务器 1.安装bind bind #提供dns server程序,以及几个常用的测试工具。 bind-libs #提供bind和bind-utils包中的程序共同用到的库文件。 bind-utils #bind客户端程序集,例如提供dig, nslookup, dig等工具。 bind-chroot #类似chroot,把dns服务限制在某个范围之类。 yum install -y bind bind-utils bind-chroot 2.修改配置文件 为了防止错误的配置引起的故障,我们可以先将要配置的文件进行利用cp语句备份, -p        让复制出来的文件属性与源文件属性保持一致。 #备份配置文件 cp -p /etc/named.conf /etc/named.conf.bak cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak #修改主要配置文件 sed -i 's/127.0.0.1/172.25.250.103/g' /etc/named.conf sed -i 's/allow-query { localhost; };/allow-query { any; };/g' /etc/named.conf 3.正向解析:  第一行的vincefans.com是域名。 第三行的vincefans.com.zone是要做映射的解析文件。 vi /etc/named.rfc1912.zones zone "vincefans.com" IN { type master; file "vincefans.com.zone"; allow-update { none; }; }; 区域解析库 资源记录:rr(resource record)用于此记录解析的属性 SOA:Start Of Authority, 起始授权记录,一个区域解析库仅能有一个SOA记录,而且必须为解析库的第一条NS:Name Server,域名服务器,专用于标明当前区域的DNS服务器MX:Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99)A:internet Address,FQDN --> IP,专用于正向解析,用于实现将FQDN解析为IP地址PTR:PoinTeR,IP --> FQDN,专用于反向解析,将IP地址解析为FQDNAAAA:FQDN --> IPv6,专用于正向解析,将FQDN解析为IPv6地址CNAME:Canonical Name,别名记录  依据SOA记录 serial:序列号,即数据库的版本号,主DNS服务器数据库内容发生变化时,其版本号要递增。 refresh:刷新时间间隔,从DNS服务器每隔多久到主DNS服务器检查序列号更新状况。 retry:重试时间间隔,从DNS服务器从主DNS服务器同步数据库失败时,定义多久之后再次发起尝试请求。 expire:过期时长,从DNS服务器始终联系不上主DNS服务器时,定义多久之后放弃从主DNS服务器同步数据库,并停止提供服务。 minimum:否定答案的缓存时长。   4.进行反向解析: 第一行是的“250.25.172.in-addr.arpa”是所要解析IP的网段以及相应的数据文件名称。 第三行的vincefans.com.txt是要做映射的解析文件。 vi /etc/named.rfc1912.zones zone "250.25.172.in-addr.arpa" IN { type master; file "vincefans.com.txt"; allow-update { none; }; }; cp /var/named/named.empty /var/named/vincefans.com.txt sed -i 's/@ rname.invalid./vincefans.com rname.invalid./g' /var/named/vincefans.com.txt sed -i 's/@/dns.vincefans.com./g' /var/named/vincefans.com.txt echo '103 PTR dns.vincefans.com.' >> /var/named/vincefans.com.txt echo '101 PTR www.vincefans.com.' >> /var/named/vincefans.com.txt rndc reload:在不重新启动DNS服务的情况下,重新加载配置文件及zone.rndc reload zone:重新加载指定的zone。rndc status:查看当前DNS服务器的状态。rndc stats:将当前系统的DNS统计数据记录下来,默认会将数据存储为一个文件:/var/named/data/named_stats.txt。rndc dumpdb:将当前DNS高速缓存中的数据记录下来,与stats类似,默认会将数据存储为一个文件:/var/named/data/cache_dump.db。rndc flush:清空当前DNS服务器上的所有缓存。 5.对文件的属主进行修改:  chown named /var/named/vincefans.com.* systemctl restart named systemctl enable named.service firewall-cmd --add-service=dns firewall-cmd --add-service=dns --permanent 6.查看本机网卡: 将服务器端的信息添加进去并将其设置为静态获取IP 7.查看本机DNS: 查看本机DNS一定要指向自己配置的IP   8.nslookup解析域名: 测试使用域名访问web服务器: curl www.vincefans.com 9. windows测试: 域名解析:  web访问:  访问www.vincefans.com指向的172.25.250.101web服务器 10.测试缓存 :  第二次解析用了0秒,证明有生成缓存: 主从复制:  在DNS域名解析中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录,与负载均衡的作用,因此通过部署从服务器,可以减轻主服务器负载压力,还可以提升用户的查询效率。 IP类型主机名172.25.250.103        masterweb03_service172.25.250.102slaveweb02_service 主服务器(master): #首先通过yum仓库,安装bind域名解析系统,和bind-chroot,和域名解析工具bind-utils yum install -y bind bind-chroot bind-libs bind-utils  编辑bind主配置文件,修改以下几行配置 #备份配置文件 cp -p /etc/named.conf /etc/named.conf.bak cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak vim /etc/named.conf options { listen-on port 53 { any; }; #侦听任何ipv4地址 listen-on-v6 port 53 { ::any; }; #侦听任何ipv6地址 allow-query { any; }; #允许任何主机查询 ..... }  接着创建区域名称,配置允许解析的IP地址: vim /etc/named.rfc1912.zones zone "vincefans.com" IN { #正向区域名 type master; #区域类型(master/slave) file "vincefans.com.zone"; #区域文件名(/usr/named/vincefans.com.zone) allow-update { 172.25.250.102; }; #允许172.25.350.102过来缓存数据 # masterfile-format text; # 指定区域文件的格式为text,不指定有可能会为乱码 # allow-transfer { 172.25.250.102; }; # 允许同步DNS的辅助服务器IP # also-notify { 172.25.250.102; }; }; zone "250.25.172.in-addr.arpa" IN { #反向区域名(IP地址应反写) type master; #区域类型(master/slave) file "vincefans.com.arpa"; #区域文件名(/var/named/vincefans.com.arpa) allow-update { 172.25.250.102; }; #允许172.25.250.102过来缓存数据 # masterfile-format text; # 指定区域文件的格式为text,不指定有可能会为乱码 # allow-transfer { 172.25.250.102; }; # 允许同步DNS的辅助服务器IP # also-notify { 172.25.250.102; }; };  编辑正向模板的zone记录,修改正向解析: #拷贝默认区域配置模板,分别拷贝正向和反向模板 cp -a /var/named/named.localhost /var/named/vincefans.com.zone #复制正向模板 cp -a /var/named/named.localhost /var/named/vincefans.com.arpa #复制正向模板 vim /var/named/vincefans.com.zone $TTL 3H @ IN SOA ns1.vincefans.com. rname.invalid. ( #区域名 #SOA标识 #主域名服务器(FQDN) #管理员邮件地址 0 ; serial #序列号 1D ; refresh #刷新间隔 1H ; retry #重试间隔 1W ; expire #过期间隔 3H ) ; minimum #TTL NS ns1.vincefans.com. #名称服务器 NS ns2.vincefans.com. #名称服务器 ns1 A 172.25.250.103 #A记录解析自身(必须存在) ns2 A 172.25.250.102 #A记录解析自身(必须存在) www A 172.25.250.101 #解析记录  编辑反向模板的zone记录,修改反向解析: vim /var/named/vincefans.com.arpa $TTL 3H @ IN SOA ns1.vincefans.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns1.vincefans.com. NS ns2.vincefans.com. 103 PTR ns1.vincefans.com. 102 PTR ns2.vincefans.com. 101 PTR www.vincefans.com. 重启bind服务,并设置成开机自启动 systemctl restart named systemctl enable named  将服务器端的信息添加进去并将其设置为静态获取IP,查看本机dns: vim /etc/resolv.conf # Generated by NetworkManager nameserver 172.25.250.103 nameserver 172.25.250.102 vim /etc/sysconfig/network-scripts/ifcfg-ens33 验证正反向域名解析:  从服务器(slave): #首先通过yum仓库,安装bind域名解析系统,bind-chroot,和域名解析工具bind-utils yum install -y bind bind-chroot bind-utils 编辑bind主配置文件,修改以下几行配置  #备份配置文件 cp -p /etc/named.conf /etc/named.conf.bak cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak #修改主要配置文件 sed -i 's/127.0.0.1/any/g' /etc/named.conf sed -i 's/allow-query { localhost; };/allow-query { any; };/g' /etc/named.conf 在从服务器中填写,需要同步的主服务器的IP地址,以及同步那个区域配置文件,其他无需修改,保存即可: [root@localhost ~]# vim /etc/named.rfc1912.zones zone "vincefans.com" IN { #正向区域名 type slave; #指定为从服务器 masters { 172.25.250.103; }; #指定主服务器IP file "slaves/vincefans.com.zone"; #指定同步后的文件 # allow-update { none; }; #不允许动态更新 # masterfile-format text; # 指定区域文件的格式为text,不指定有可能会为乱码 }; zone "250.25.172.in-addr.arpa" IN { #反向区域名 type slave; #指定为从服务器 masters { 172.25.250.103; }; #指定主服务器IP file "slaves/vincefans.com.arpa"; #指定同步后的文件 # allow-update { none; }; #不允许动态更新 # masterfile-format text; # 指定区域文件的格式为text,不指定有可能会为乱码 }; 关闭防火墙或者放行53端口: systemctl stop firewalld.service 或者: firewall-cmd --add-port=53/tcp firewall-cmd --add-port=53/tcp --permanent 重启bind服务,并设置成开机自启动 : systemctl restart named systemctl enable named  查看同步过来的正反向记录:  查看DNS,申请静态获取IP BOOTPROYO=static: vim /etc/resolv.conf # Generated by NetworkManager nameserver 172.25.250.103 nameserver 172.25.250.102 vim /etc/sysconfig/network-scripts/ifcfg-ens33 验证正反向域名解析:   假如master意外关掉,那么dns服务器(slave)172.25.250.102就会顶替上来: #master关闭dns服务 [root@web03_server ~]# systemctl stop named.service 域名解析的dns服务器是172.25.250.102 部署小型DNS缓存服务 DNS缓存服务器(Caching DNS Server),是一种不负责域名数据维护的DNS服务器,简单来说,缓存服务器就是把用户经常使用到的,域名与IP地址的解析记录保存在本机,从而提升下次解析请求的效率。以下实验,将配置一台主DNS服务,再配置一台缓存服务器,加快DNS的解析速度。 DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务. 它可以提供如下几个实用的功能: 1 、提供dns服务 2 、优先使用本地自定义dns 3 、提供dhcp服务 一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,另外,还可以用ypbind解决自定义hostname解析的ip(当然还有用户的功能) 主要用途: 1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表 2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以 3 禁止某个域名的正常解析 dnsmasq是一个很不错的外部DNS中继,小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,不适用于跨区域的网络。DNSmasq主用适用于NAT的家庭网络,用modem,cable modem,ADSL设备连接到因特网,对于那些需求低资源消耗且配置方便简单的小型网络(最多可支持1000台主机)是一个很好的选择。 IP类型主机名172.25.250.101主dnsweb01_service172.25.250.102客户机web02_service 1.缓存DNS服务器,安装dnsmasq缓存工具 yum install -y dnsmasq 2.打开dnsmasq的主配置文件,在配置文件底部写入要缓存的条目  vim /etc/dnsmasq.conf #resolve-file指定dnsmasq从哪里获取上行DNS Server,默认是从/etc/resolv.conf获取 resolv-file=/etc/resolv.dnsmasq.conf #表示严格安装 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止 strict-order #默认是监控在所有网卡上的,现在改为监控局域网上的172.25.250.103,172.25.250.102 listen-address=172.25.250.101,127.0.0.1 #dnsmasq从哪个文件中读取“地址 域名”记录,默认是系统文件/etc/hosts; addn-hosts=/etc/dnsmasq.hosts #设置缓存大小 #cache-size=1024 #开启debug模式,记录客户端查询记录到/var/log/debug中 log-queries #配置DHCP功能 expand-hosts #设置domain为“vincefans.com” domain=vincefans.com #地址范围续订期为12个小时 dhcp-range=172.25.250.50,172.25.250.150,12h #指定了默认网关 dhcp-option=3,172.25.250.2 #文件最后添加 vim /etc/dnsmasq.conf #国内指定DNS server=/cn/114.114.114.114 server=/taobao.com/114.114.114.114 server=/taobaocdn.com/114.114.114.114 #国外指定DNS server=/google.com/223.5.5.5 #屏蔽网页广告:将指广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了 address=/ad.youku.com/127.0.0.1 address=/ad.iqiyi.com/127.0.0.1 #指定域名解析到特定的IP上 address=/www.vincefans.com/172.25.250.103 4.修改本地上游DNS配置文件和本地hosts文件: #复制本地上游DNS配置文件 cp /etc/resolv.conf /etc/resolv.dnsmasq.conf #提示:resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用电信、联通等公共的DNS。 vim /etc/resolv.dnsmasq.conf # Generated by NetworkManager nameserver 114.114.114.114 nameserver 114.114.115.115 vim /etc/dnsmasq.hosts #本地域名 172.25.250.101 www.vincefans.com 172.25.250.102 www.vincefans.com 172.25.250.103 glpi.vincefans.com #公网域名 10.4.29.106 www.taobao.com 10.4.24.116 www.baidu.com 4.重启dnsmasq服务,并设置开机自启动 systemctl restart dnsmasq.service systemctl enable dnsmasq.service  5.验证:dig www.baidu.com,第一次是没有缓存,所以时间是31 第二次再次测试,因为已经有了缓存,所以查询时间已经变成了0.  ​ 部署DNS加密同步 在如今的互联网中,绝大多数DNS服务器,都是靠Bind提供服务的,bind服务也为用户提供了一种加密措施,来保证数据在两台DNS服务器同步过程中的安全性,即TSIG加密机制,保证了DNS服务器之间区域数据传输的安全性。  配置加密主DNS: 1.首先通过yum仓库,安装bind域名解析系统,和bind-chroot禁锢模块 yum install -y bind bind-chroot bind-libs 2.在主服务器中通过以下命令生成一个名称为master-slave的128位HMAC-MD5算法的名称为master-slave的密钥文件,并记住Kmaster-slave.+157+53234.private里面的key后期要用到这个钥匙同步数据 dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave 记住这个Key: ​ 3.在主服务器中创建密钥验证文件,并把刚刚创建的key写入到tansfer.key传输文件里面,并配置好相应的权限: vim /var/named/chroot/etc/transfer.key key "master-slave" { #写上刚刚的密钥名称 algorithm hmac-md5; #指定加密算法 secret "qlzb*n3A=="; #写上上面的key }; chown root:named /var/named/chroot/etc/transfer.key chmod 640 /var/named/chroot/etc/transfer.key ln /var/named/chroot/etc/transfer.key /etc/transfer.key ​ include "/etc/transfer.key"; #添加本行,导入密钥 allow-transfer { key master-slave; }; #添加本行,允许加载key ​  重启bind服务: systemctl restart named 配置加密从DNS 1.安装bind域名解析系统,和bind-chroot禁锢模块: yum install -y bind bind-chroot bind-libs 2.进入从DNS服务器,在相应目录下创建密钥文件,文件内容与主DNS服务器应相同,并赋予相应权限: vim /var/named/chroot/etc/transfer.key key "master-slave" { #内容必须和主DNS保持一致 algorithm hmac-md5; secret "=="; }; chown root:named /var/named/chroot/etc/transfer.key chmod 640 /var/named/chroot/etc/transfer.key ln /var/named/chroot/etc/transfer.key /etc/transfer.key  3.修改从DNS服务器的/etc/named.conf主配置文件,开启加密验证,并指定服务器IP地址: vim /etc/name.conf include "/etc/transfer.key"; #导入密钥对 ...... server 172.25.250.103 { #指定主服务器IP keys { master-slave; }; #指定密钥对 }; 4.重启 bind服务: systemctl restart named.service 部署DNS分离解析 通常利用DNS的分离解析来达到针对不同的客户端访问网站时,分别解析到不同的主机,以达到负载均衡的目的。举例来说明,深圳的访客和广州的访客,同时访问一个网站,如果是深圳的访客我们将其解析到深圳的机房,如果是广州的访客我们将其解析到广州的机房,从而实现了快速上网,快速访问资源的目的,这一点有点类似于CND内容分发网络。 以下实验,将配置一台主DNS服务,通过使用view视图实现分离解析,广州的用户自动访问到广州的主机,深圳的用户自动访问到深圳的主机,由于没有合适的资源这里只做演示: (注意:假设(IP=172.25.250.0/24是广州区域),(IP=172.25.240.0/24是深圳区域),(广州用户解析到IP=172.25.250.102),(深圳用户解析到IP=172.25.250.101))。 IP        网关IP网段解析到的webIP主机172.25.250.103/16172.25.0.2172.25.250.0(广州)172.25.250.102主DNS172.25.250.101/16172.25.0.2172.25.250.0(广州)172.25.250.102test172.25.240.10/16172.25.0.2172.25.240.0(深圳)172.25.250.101test 1.修改虚拟机的虚拟网络,使172.25.240.0和172.25.250.0两个网段之间互通: 2.首先通过yum仓库,安装bind域名解析系统,和bind-chroot: yum install -y bind bind-chroot bind-libs  3.修改主配置文件,由于分离解析功能与DNS根域冲突,所以还要屏蔽zone根域区域: vim /etc/named.conf #zone "." IN { # type hint; # file "named.ca"; #};  4.编辑正反向区域配置文件,把区域配置文件原有内容清空,然后根据以下格式写入内容: vim /etc/named.rfc1912.zones acl "shenzhen" { 172.25.240.0/24; }; #假设,这个网段属于shenzhen区域 acl "guangzhou" { 172.25.250.0/24; }; #假设,这个网段属于ghuangzhou区域 view "shenzhen" { match-clients { "shenzhen"; }; zone "vincefans.com" { type master; file "vincefans.com.shenzhen.zone"; }; zone "250.25.172.in-addr.arpa" { type master; file "vincefans.com.shenzhen.arpa"; }; }; view "guangzhou" { match-clients { "guangzhou"; }; zone "vincefans.com" { type master; file "vincefans.com.guangzhou.zone"; }; zone "250.25.172.in-addr.arpa" { type master; file "vincefans.com.guangzhou.arpa"; }; }; 5.建立对应的区域配置文件,分别拷贝两个模板: 深圳正反向zone记录: cp -a /var/named/named.localhost /var/named/vincefans.com.shenzhen.zone cp -a /var/named/named.localhost /var/named/vincefans.com.shenzhen.arpa 广州正反向zone记录: cp -a /var/named/named.localhost /var/named/vincefans.com.guangzhou.zone cp -a /var/named/named.localhost /var/named/vincefans.com.guangzhou.arpa 修改文件权限: chown named:named /var/named/vincefans* 6.分别修改两个配置模板,shenzhen(172.25.240.0)解析成=172.25.250.101, guangzhou(172.25.250.0)解析成=172.25.250.102: #深圳正反向解析配置文件: vim /var/named/vincefans.com.shenzhen.zone $TTL 1D @ IN SOA dns.vincefans.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.vincefans.com. dns A 127.0.0.1 www A 172.25.250.101 vim /var/named/vincefans.com.shenzhen.arpa $TTL 1D @ IN SOA dns.vincefans.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.vincefans.com. 1 PTR dns.vincefans.com. 101 PTR www.vincefans.com. #广州正反向解析配置文件: vim /var/named/vincefans.com.guangzhou.zone $TTL 1D @ IN SOA dns.vincefans.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.vincefans.com. dns A 127.0.0.1 www A 172.25.250.102 vim /var/named/vincefans.com.guangzhou.arpa $TTL 1D @ IN SOA dns.vincefans.com rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.vincefans.com. 1 PTR dns.vincefans.com. 102 PTR www.vincefans.com. 8.重启bind服务: systemctl restart named 9.172.25.240.0网段测试www.vincefans.com解析为=172.25.250.101: 10.172.25.250.0网段测试www.vincefans.com解析为=172.25.250.102: 部署DNS负载均衡 在日常的生产环境中,其实DNS也是可以作为一个负载均衡器使用的,下面我们将介绍通过配置DNS域名失效时间的方式,来实现一个负载调度器。 以下实验,将配置一台主DNS服务,并实现负载均衡。(注意:请自行搭建3个Http服务,之间相互通信,web01=172.25.250.101,web02=172.25.250.102,web03=172.25.250.103) IP        类型服务172.25.250.103/24:127.0.0.1/8主DNS搭建dns172.25.250.101/24Web01搭建wordpress172.25.250.102/24Web02搭建wordpress172.25.250.103/24Web03搭建glpi 1.首先通过yum仓库,安装bind域名解析系统,bind-chroot,域名解析工具bind-ulits yum install -y bind bind-chroot bind-libs bind-ulits 2.编辑bind主配置文件,修改以下几行配置 vim /etc/named.conf options { listen-on port 53 { any; }; #侦听任何ipv4地址 listen-on-v6 port 53 { ::any; }; #侦听任何ipv6地址 allow-query { any; }; #允许任何主机查询 ..... } 3.接着创建区域名称,在配置文件底部 4.编辑正向模板的zone记录,修改正向解析,在正向解析记录的基础上简单修改即可实现: vim /var/named/vincefans.com.guangzhou.zone $TTL 1D @ IN SOA dns.vincefans.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.vincefans.com. dns A 127.0.0.1 www.vincefans.com. A 172.25.250.102 www.vincefans.com. A 172.25.250.101 www.vincefans.com. A 172.25.250.103 5.重启bind服务: systemctl status named 6.验证  部署DNS安全扩展dnssec: DNS做为互联网早期产物,使用无连接的UDP协议虽然降低了开销也保证了高效的通信,但是没有考虑安全问题。由于DNS使用目的端口为53的UDP明文进行通信,DNS解析器识别是自己发出的数据包的唯一标准就是随机的源端口号,如果端口号匹配则认为是正确回复,而不会验证来源。所以也带来了许多DNS安全问题,如DNS欺骗,DNS Cache污染,DNS放大攻击等。 针对DNS安全问题,业界提出了DNSSec(Domain Name System Security Extensions,也叫"DNS安全扩展")机制,使用密码学方法解决DNS安全问题,让客户端对域名来源身份 尽管DNS的安全问题一直被互联网研究和工程领域广为关注,但是有一种普遍存在的攻击却始终没有解决,即DNS的欺骗和缓存污染问题。DNS安全扩展(DNS Security Extension, 即DNSSEC)主要是为了解决这一问题而提出的(尽管它还有其他用途)。因此,在介绍DNSSEC的原理之前有必要简单介绍DNS欺骗和缓存污染攻击的原理。 不过,目前配置了DNSSEC签名的域名非常少,据我所知一般有些国外政府域名有,当然paypal也有,而国内几乎没有(国内的支付宝并没有)。 1.激活DNSSEC #首先,在BIND的配置文件(一般是/etc/named.conf)中打开DNSSEC选项,比如: vim /etc/named.comf options { dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; }; 2.生成跟(.)的KSK和ZSK cd /var/named/ #区(zone)文件生成密钥签名密钥KSK: dnssec-keygen -a RSASHA1 -b 512 -n ZONE vincefans.com #生成区签名密钥ZSK: dnssec-keygen -a RSASHA1 -b 512 -f KSK -n ZONE vincefans.com  DS记录来源于顶级域名(com.)的 KSK 每一个DS记录都来源于子域,而信任锚可以是DNSKEY或者DS记录,就是为了最后确认可以的保证。 dnssec-dsfromkey -2 Kvincefans.com.+005+29011.key  3.签名 #签名之前,你需要把上面的两个DNSKEY写入到区文件中 vim /var/named/vincefans.com.guangzhou.zone $INCLUDE "/var/named/Kvincefans.com.+005+16416.key" $INCLUDE "/var/named/Kvincefans.com.+005+29011.key" #然后执行签名操作: dnssec-signzone -o vincefans.com /var/named/vincefans.com.guangzhou.zone #检查配置文件和区域文件有没有错误 #如果有报错,修改好重新执行签名操作 named-checkconf /etc/named.conf named-checkzone vincefans.com /var/named/vincefans.com.guangzhou.zone named-checkzone vincefans.com /var/named/vincefans.com.guangzhou.zone.signed  查看生成的两个文件:   4.创建“信任锚”文件 #其中的密钥部分是将权威服务器生成的K.+005+62317.key和K.+005+62541.key中密钥部分拷贝过来。 vim /var/named/trust-anchors.conf trusted-keys { "vincefans.com." 256 3 5 "AwEAAb63RM1Lwael1MZRSc8E3Wmxhhk8lwoXPmgf9EHy6q52sfj4Si/z 5KJ333r1ImBrYeF49/8rTUC60alwvZiomN8="; "vincefans.com." 257 3 5 "AwEAAbv7HV3SEfZUQ+vD/Ff6iD/+MLYTWXkT2a/bTNJxiCJTXVl8Wh2b 8MEEjT62Mjm5zZDdJS5DtligREJkYHq3oTE="; }; #在主配置文件最后面加入: vim /etc/named.comf include "/var/named/trust-anchors.conf"; #重启服务: systemctl restart named.server  验证,flags:出现ad表示搭建成功: dig @172.25.250.103 +dnssec vincefans.com. NS ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.10 <<>> @172.25.250.103 +dnssec vincefans.com. NS ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28779 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价