DNS域名解析服务

网友投稿 231 2022-10-16

DNS域名解析服务

DNS域名解析服务

简介

人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个域名只可以对应一个ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

原理

当你的网站制作完成后上传到你的虚拟主机时,你可以直接在浏览器中输入IP地址浏览你的网站,也可以输入域名查询你的网站,虽然得出的内容是一样的但是调用的过程不一样,输入IP地址是直接从主机上调用内容,输入域名是通过域名解析服务器指向对应的主机的IP地址,再从主机调用网站的内容。

实验介绍

DNS正、反向解析 DNS主从服务器的配置 分离解析

实验准备

两台Linux虚拟机(要求在同一网段,并且能够互连互通)

实验过程

首先介绍下DNS的正、反向解析

正向解析

[root@rhel6-4 ~]# rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm //rpm一键安装DNS的软件包bind warning: /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:bind ########################################### [100%] [root@rhel6-4 ~]# rpm -qc bind //查看bind软件包的配置文件 /etc/logrotate.d/named /etc/named.conf /etc/named.iscdlv.key /etc/named.rfc1912.zones /etc/named.root.key /etc/rndc.conf /etc/rndc.key /etc/sysconfig/named /var/named/named.ca /var/named/named.empty /var/named/named.localhost /var/named/named.loopback

安装好之后就要进行配置文件的修改了,首先修改主配置文件

[root@rhel6-4 ~]# vim /etc/named.conf listen-on port 53 { 127.0.0.1; }; //监听地址改为DNS服务器的IP地址 allow-query { localhost; }; //允许解析的用户,修改为any 所有人

然后进行修改区域配置文件

[root@rhel6-4 ~]# vim /etc/named.rfc1912.zones zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; //上面是模板,可以复制到下面 zone "benet.com" IN { type master; file "benet.com.zone"; //工作文件 allow-update { none; }; };

最后是配置区域数据库文件

[root@rhel6-4 ~]# cd /var/named/ //切换目录到dns的区域数据库目录下 [root@rhel6-4 named]# ls -l 总用量 28 drwxrwx---. 2 named named 4096 8月 14 2013 data drwxrwx---. 2 named named 4096 8月 14 2013 dynamic -rw-r-----. 1 root named 1892 2月 18 2008 named.ca -rw-r-----. 1 root named 152 12月 15 2009 named.empty -rw-r-----. 1 root named 152 6月 21 2007 named.localhost -rw-r-----. 1 root named 168 12月 15 2009 named.loopback drwxrwx---. 2 named named 4096 8月 14 2013 slaves [root@rhel6-4 named]# cp -p named.localhost benet.com.zone //保留原来权限复制一个区域数据库文件并命名为benet.com.zone [root@rhel6-4 named]# ls benet.com.zone data dynamic named.ca named.empty named.localhost named.loopback slaves

然后进行修改

[root@rhel6-4 named]# vim benet.com.zone //编辑区域数据库文件 $TTL 1D //生命周期 @ IN SOA @ rname.invalid. ( //@表示变量 后面是资源起势变量 要修改为benet.com. admin.benet.com. 0 ; serial //序列号 1D ; refresh //刷新时间 1H ; retry //多长时间重试连接 1W ; expire //最长的重试连接时间 3H ) ; minimum //无效缓存清除的时间 NS @ //服务器名称 这里需要修改为 benet.com. A 127.0.0.1 //主机地址 这里修改为192.168.10.16 AAAA ::1 //IPV6的地址 这里不要 直接删除 然后在下面插入 IN MX 5 benet.com. mail IN A 192.168.100.16 IN A 192.168.100.88 ftp IN A 192.168.100.99 * IN A 192.168.100.200 //表示查找不存在的网页时会指向192.168.100.200

此时关闭DNS服务器的防火墙和增强性安全功能就可以开启DNS服务了

[root@rhel6-4 named]# service iptables stop iptables:将链设置为政策 ACCEPT:filter [确定] iptables:清除防火墙规则: [确定] iptables:正在卸载模块: [确定] [root@rhel6-4 named]# setenforce 0 [root@rhel6-4 named]# service named start Generating /etc/rndc.key: [确定] 启动 named: [确定]

此时还没有结束,我们要添加一个DNS服务器指向下/etc/resolv.conf目录下,然后查看下端口是否开启,就可以进行解析了

[root@rhel6-4 named]# netstat -tnl tcp 0 0 192.168.100.16:53 0.0.0.0:* LISTEN //tcp协议的 53端口开启了 [root@rhel6-4 named]# host benet.com benet.com has address 192.168.100.88 [root@rhel6-4 named]# host ftp.benet.com ftp.benet.com has address 192.168.100.99 //可以看到全部解析出来了 [root@rhel6-4 named]# host abc.benet.com abc.benet.com has address 192.168.100.200

反向解析

下面介绍下反向解析,直接修改区域配置文件

[root@rhel6-4 named]# vim /etc/named.rfc1912.zones zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; //上面的部分是模板,可直接复制到下面进行修改 zone "100.168.192.in-addr.arpa" IN { type master; file "benet.com.local"; allow-update { none; }; };

然后是修改区域数据库文件

[root@rhel6-4 named]# cp -p benet.com.zone benet.com.local //保留权限的复制 [root@rhel6-4 named]# vim benet.com.local //编辑反向区域数据库文件 $TTL 1D @ IN SOA benet.com. admin.benet.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS benet.com. A 192.168.100.16 16 IN PTR mail.benet.com. 88 IN PTR benet.com. 99 IN PTR ftp.benet.com. //反向解析配置

然后重新加载配置文件在进行反向解析测试

[root@rhel6-4 named]# host 192.168.100.16 16.100.168.192.in-addr.arpa domain name pointer mail.benet.com. [root@rhel6-4 named]# host 192.168.100.88 88.100.168.192.in-addr.arpa domain name pointer benet.com. [root@rhel6-4 named]# host 192.168.100.99 99.100.168.192.in-addr.arpa domain name pointer ftp.benet.com.

试验成功

3.DNS主从服务器的配置首先安装配置主服务器的主配置文件、区域配置文件、区域数据库文件

[root@linux6-1 ~]# vim /etc/named.conf listen-on port 53 { any; }; //监听地址改为所有人 allow-query { any; }; //允许解析所有地址 [root@linux6-1 ~]# vim /etc/named.rfc1912.zones zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; //模板 zone "benet.com" IN { type master; //类型 主服务器 file "benet.com.zone"; allow-transfer { 192.168.100.16; }; //转移指向从服务器的IP地址 }; [root@linux6-1 ~]# cd /var/named/ [root@linux6-1 named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@linux6-1 named]# cp -p named.localhost benet.com.zone //保留权限复制 [root@linux6-1 named]# vim benet.com.zone //编辑区域数据库配置文件 $TTL 1D @ IN SOA benet.com. admin.benet.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS benet.com. A 192.168.100.4 IN MX 5 benet.com. mail IN A 192.168.100.4 IN A 192.168.100.88 ftp IN A 192.168.100.99 [root@linux6-1 named]# echo "namedserver 192.168.100.4" > /etc/resolv.conf

主服务器配置好之后先不开启服务,我们接着配置从服务器

[root@rhel6-4 ~]# vim /etc/named.conf listen-on port 53 { any; }; allow-query { any; }; [root@rhel6-4 ~]# vim /etc/named.rfc1912.zones zone "localhost" IN { type master; file "named.localhost"; allow-update { none; }; }; //模板 zone "benet.com" IN { type slave; //从服务器 masters { 192.168.100.4;}; //向主服务器学习 file "slaves/benet.com.zone;" // 文件存放位置 }; [root@rhel6-4 ~]# echo "nameserver 192.168.100.16" > /etc/resolv.conf //DNS指向

此时先开启主服务器的DNS服务 ,然后在开启从服务器的DNS服务 ,会发现从服务器自主学习到了区域数据库配置文件

[root@rhel6-4 named]# cd /var/named/slaves/ [root@rhel6-4 slaves]# ls benet.com.zone

以上就是主从服务器的配置了

分离解析

分离解析主要是指根据不同的客户端提供不同的域名解析记录,下面是分离解析的实验拓扑图

首先DNS域名解析服务器(Linux)要配置双网卡

[root@linux6-1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1 //复制网卡一的配置文件 [root@linux6-1 network-scripts]# vim ifcfg-eth1 //进行网卡eth1的配置 DEVICE=eth0 //名称改为eth1 HWADDR=00:0C:29:26:75:17 TYPE=Ethernet UUID=721152db-6a08-4527-aebc-3ee130bd91d0 //这里不要,删除 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.100.4 //IP地址修改为外网网关地址12.0.0.1 NETMASK=255.255.255.0 GATEWAY=192.168.100.1 [root@linux6-1 network-scripts]# vim ifcfg-eth0 //网卡eth0的配置 DEVICE=eth0 HWADDR=00:0C:29:26:75:17 TYPE=Ethernet UUID=721152db-6a08-4527-aebc-3ee130bd91d0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.100.4 //修改IP地址为192.168.100.1 NETMASK=255.255.255.0 GATEWAY=192.168.100.1

修改完成后,重启网络服务后配置两台win7的网卡信息

然后rpm一键安装DNS服务的软件包bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm,进行配置文件的修改

[root@linux6-1 ~]# rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm warning: /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:bind ########################################### [100%] [root@linux6-1 ~]# vim /etc/named.conf listen-on port 53 { 127.0.0.1; }; //监听地址修改为any allow-query { localhost; }; //允许解析的地址修改为any [root@linux6-1 ~]# vim /etc/named.rfc1912.zones view "lan" { match-clients { 192.168.100.0/24; }; zone "benet.com" IN { type master; file "benet.com.zone.lan"; }; zone "." IN { type hint; file "named.ca"; }; }; view "wan" { match-clients { any; }; zone "benet.com" IN { type master; file "benet.com.zone.wan"; }; }; //添加如上内容并删除下面的所有配置内容

最后修改区域数据库配置文件

[root@linux6-1 ~]# cd /var/named/ [root@linux6-1 named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@linux6-1 named]# cp -p named.localhost benet.com.zone.lan [root@linux6-1 named]# cp -p named.localhost benet.com.zone.wan [root@linux6-1 named]# vim benet.com.zone.lan $TTL 1D @ IN SOA @ rname.invalid. ( //rname.invalid.修改为admin.benet.com. 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 //修改为主机IP地址,即192.168.100.1 AAAA ::1 //这里删除,添加下面的内容 IN A 192.168.100.88 [root@linux6-1 named]# vim benet.com.zone.wan $TTL 1D @ IN SOA @ rname.invalid. ( //rname.invalid.修改为admin.benet.com. 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 //修改为主机IP地址,即12.0.0.1 AAAA ::1 //这里删除,添加下面的内容 IN A 12.0.0.1

重启DNS服务

就可以进行解析了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:linux云计算是什么、云计算工程师需要准备什么知识
下一篇:java spring mvc处理器映射器介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~