《2022年在防火墙环境下DNS的安装与设置域名服务器教程.docx》由会员分享,可在线阅读,更多相关《2022年在防火墙环境下DNS的安装与设置域名服务器教程.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022年在防火墙环境下DNS的安装与设置域名服务器教程摘要:在防火墙环境下DNS的安装与设置在防火墙环境下DNS的安装与设置每天lhH文章可以转载,但肯定要保留我的MAIL经过几天的探讨BIND,最终解决了我们单位的DNS问题。在一般防火墙下,都是采纳DMZ区内放服务器,外部访问DMZ区得到外部的IP,内部访问DMZ区时得到内部的IP。如一个,内部IP地址放在DMZ的web服务器的IP外部IP地址192.168.1.1192.168.0.1211.202.49.1从DNS上可以从以下四个方面解决:一.iptables应用1.核心思想配置动态DNS服务器的核心思想是:在DNS服务器上运行多个B
2、IND,每个BIND为来自不同区域的用户供应解析,因此每个BIND都应具有不同的配置文件和域文件,并且分别监听在不同的端口。在接到客户端DNS恳求时,依据客户的ip地址将恳求重定向不同的BIND服务端口。BIND响应时,再改写相应包的服务端口为标准的53端口。这样就可以依据客户端的ip地址将不同的解析结果返回给客户端。整个过程对于客户端来说都是透亮的。实现的关键在于运行不同的BIND及运用iptables进行ip地址及端口改写操作。2配置过程步骤1:配置内核netfilter要求内核版本不低于2.3.5,在编译新内核时,要求选择和netfilter相关的项目。这些项目通常都是位于Network
3、ingoptions子项下。以2.4.0内核为例,我们应当选中的项目有:*Kernel/UsernetlinksocketRoutingmessages<*>Netlinkdeviceemulation*Networkpacketfiltering(replacesipchains).然后,在IP:NetfilterConfiguration->选中:Connectiontracking(requiredformasq/NAT)FTPprotocolsupportIPtablessupport(requiredforfiltering/masq/NAT)limitmatchs
4、upportMACaddressmatchsupportNetfilterMARKmatchsupportMultipleportmatchsupportTOSmatchsupportConnectionstatematchsupportPacketfilteringREJECTtargetsupportFullNATMASQUERADEtargetsupportREDIRECTtargetsupportPacketmanglingTOStargetsupportMARKtargetsupportLOGtargetsupportipchains(2.2-style)supportipfwadm
5、(2.0-style)support其中最终两个项目可以不选,但是假如你比较怀念ipchains或者ipfwadm,你也可以将其选中,以便在2.4内核中运用ipchians或ipfwadm。但是须要留意的是,iptables是和ipchians/ipfwadm相对立的,在运用iptables的同时就不能同时运用ipchains/ipfwadm。编译胜利后,这些模块文件都位于以下书目中/lib/modules/2.4.0/kernel/net/ipv4/netfilter编译2.4.0的新内核时还应当留意要在Processortypeandfeatures中选择和你的CPU相对应的正确的CPU选
6、项,否则新内核可能无法正常工作。步骤二、配置BIND服务缺省地,BIND服务监听在53端口,我们可以通过配置让BIND运行在不同的ip及端口上。实现这一点并不困难,假设我们的DNS服务器的ip地址是211.163.76.1,并且我们想区分CERNET及非CERNET的客户,这时我们必需运行两个BIND,运用不同的配置文件。可以在运用非标准监听端口的BIND的配置文件中用listen-on指定BIND监听的端口,比如:options{listen-onport54{211.163.76.1;}directory/var/named_cernet;}可以用n
7、amed的-c选项指定named读入不同的配置文件,比如:/usr/sbin/named-unamed-c/etc/named_cernet.conf3、配置重定向规则假设监听在标准端口的BIND服务器为非CERNET客户供应DNS解析,监听在54端口的BIND服务器为CERNET服务器供应DNS解析,我们可以建立如下的规则脚本:#!/bin/bash#打开端口转发echo1>/proc/sys/net/ipv4/ip_forward#加载相关的内核模块/sbin/modprobeiptable_filter/sbin/modprobeip_tables/sbin/modprobeipt
8、ables_nat#刷新全部规则/sbin/iptables-tnat-F#加入来自CERNET的DNS恳求转发规则,将其转发到本地54端口,CERNET地址列表可从/sbin/iptables-tnat-APREROUTING-pudp-s163.105.0.0/16-dport53-ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-ptcp-s163.105.0.0/16-dport53-ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-pudp-s166.111.0.0/16-dport53-
9、ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-ptcp-s166.111.0.0/16-dport53-ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-pudp-s202.4.128.0/19-dport53-ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-ptcp-s202.4.128.0/19-dport53-ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-pudp-s202.112.0.0
10、/15-dport53-ieth0-jREDIRECT54/sbin/iptables-tnat-APREROUTING-ptcp-s202.112.0.0/15-dport53-ieth0-jREDIRECT54#将返回给CERNETDNS客户数据包的源端口(54端口)伪装成53端口/sbin/iptables-tnat-APOSTROUTING-pudp-sport54-oeth0-jSNAT-to211.163.76.1:53/sbin/iptables-tnat-APOSTROUTING-ptcp-sport54-oeth0-jSNAT-to211.163.76.1:53教化网网的挚友
11、可以从这里下载该脚本,将脚本中的DNS_IP及CNET_PORT参数改成你自己的DNS服务器地址及监听端口即可。4、运行动态DNS配置完成后我们启动DNS服务器,并且运行相应的规则脚本,我们的动态DNS服务器就可以正常工作了。二。利用bind9的cache纪录1)、用户向阅读器供应要访问的域名;2)、阅读器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,阅读器须要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,运用的全局负载均衡DNS解析,如依据地理位置信息解析对应的IP地址,使得
12、用户能就近访问。3)、此次解析得到CDN缓存服务器的IP地址,阅读器在得到实际的IP地址以后,向缓存服务器发出访问恳求;4)、缓存服务器依据阅读器供应的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问恳求;5)、缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后运用,二方面把获得的数据返回给客户端,完成数据服务过程;6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个阅读的数据恳求过程。1、要加入CDN服务的网站,须要域名(如,地址202.99.11.120)解析权供应给CDN运营商,Linuxaid的域名解析记录只要把www主机的A记录改为CNAME并指向即可。是CDN网络自定义的缓存服务器的标识。在/var/named/域名解析记录中,由:wwwIN