4Linux网络服务之DNS域名解析服务

2023-05-09 23:45:12

DNS域名解析服务

一 DNS服务介绍

1 DNS系统的作用

正向解析:根据主机名称(域名)查找对应的IP地址

反向解析:根据IP地址查找对应的主机域名

2 DNS系统的分布式数据结构

根域







顶级域

商业机构

网络服务机构

非盈利组织

教育机构

英国

中国

.com

.net

.org

.edu

.uk

.cn

二级域






.com.cn

三级域






.zol.com.cn

主机或资源名称

www

mail

news




3 缓存域名服务器

也称为唯高速缓存服务器

通过向其他域名服务器查询获得域名->IP地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

4 主域名服务器

特定DNS区域的官方服务器,具有唯一性

负责维护该区域内所有域名->IP地址的映射记录

5 从域名服务器

也称为 辅助域名服务器

其维护的 域名->IP地址记录 来源于主域名服务器

6BIND(Berkeley Internet Name Daemon)

伯克利Internet域名服务

官方站点:https://www.isc.org/

7 相关软件包

bind-9.3.3-7.el5.i386.rpm //提供DNS服务(未安装)

bind-utils-9.3.3-7.el5.i386.rpm //包含测试DNS的命令(默认安装)

bind-libs-9.3.6-4.P1.el5_4.2 //库文件(默认已安装)

bind-chroot-9.3.3-7.el5.i386.rpm //建立相关目录(未安装)

caching-nameserver-9.3.3-7.el5.i386.rpm //配置缓存服务器(未安装)

8 BIND服务器端程序

主要执行程序:/usr/sbin/named

服务脚本:/etc/init.d/named

默认监听端口:53

主配置文件:

/var/named/chroot/etc/named.conf

保存DNS解析记录的数据文件位于:

/var/named/chroot/var/named/

二 配置DNS服务

1 主域名服务器的配置

:yum -y install bind-ch* //安装bind相关软件包(装完检查一下)

:yum -y caching* //五个软件包要全部安装

(先配置主配置文件,然后在配置区域文件)

1)主配置文件

:vim /var/named/chroot/etc/named.conf //主配置文件

options { //全局配置

listen-on port 53 { 173.16.16.1; }; //服务器IP,多网卡时可添加多个ip(可选)

directory "/var/named"; //区域数据文件默认位置

allow-query { 192.168.1.0/24; 173.16.16.0/24; }; //允许使用的网段(可选)

};

zone "benet.com" IN { //正向“benet.com“区域

type master; //区域类型为主区域

file "benet.com.zone"; //区域数据文件为benet.com.zone

allow-transfer { 173.16.16.2; }; //从服务器地址

};

(可选)

zone "16.16.173.in-addr.arpa" IN { //反向“173.16.16.0/24”区域

type master; //区域类型为主区域

file "173.16.16.arpa"; //区域数据文件为173.16.16.arpa

};

:named-checkconf /var/named/chroot/etc/named.conf //检测(无显示则表示文件配置正确)

:chown named /var/named/chroot/etc/named.conf //如果现实错误可能是权限问题

:chmod 777 /var/named/chroot/etc/named.conf

(一定要细心配置,注意分号和大括号)

2 区域数据配置文件

正向区域

:vim /var/named/chroot/var/named/benet.com.zone

$TTL 86400 //生存周期一天

@ SOA benet.com. admin.benet.com. ( //SOA标记、域、管理邮箱

45 //更新序列号,要比从服务器的大

3H //申请域名生效时间

15M //失败后15分钟后再次解析

1W //12小时候不在解析(为成功)

1D //保留错误的解析记录一天,当再次解析时不在外网查询

)

@ IN NS mazi.benet.com. //(NS)主机FQDN记录

IN NS nimei.benet.com. //(NS)从机FQDN记录

IN MX 10 mail.benet.com. //(MX)邮箱交换记录“10”优先级

www IN A 192.168.1.100 //正向解析条目

Mail IN A 192.168.1.110 //正向解析条目

ftp IN CNAME www //别名

:named-checkzone /var/named/chroot/var/named/benet.com.zone //检测(无显示则表示文件配置正确)注意主机记录域名后面有点

反向区域

:vim /var/named/chroot/var/named/192.168.1.arpa

$TTL 86400 //生存周期一天

@ SOA benet.com. admin.benet.com. ( //SOA标记、域、管理邮箱

45 //更新序列号,要比从服务器的大

3H //申请域名生效时间

15M //失败后15分钟后再次解析

1W //12小时候不在解析(为成功)

1D //保留错误的解析记录一天,当再次解析时不在外网查询

)

@ IN NS mazi.benet.com. //(NS)主机FQDN记录

IN NS nimei.benet.com. //(NS)从机FQDN记录

100 IN PTR www //反向解析条目(PTR指针)

110 IN PTR mail //反向解析条目

:named-checkzone /var/named/chroot/var/named/192.168.1.arpa //检测(无显示则表示文件配置正确)注意主机记录域名后面有点

:chown named /var/named/chroot/var/named //如果现实错误可能是权限问题

:chmod 777 /var/named/chroot/var/named

:service named start //开启服务

:nslookup www.benet.com //测试

2 从域名服务器的配置

:mount /dev/cdrom /media //挂载系统光盘

:rpm -ivh bind* //*号部分用tab键补全

1)主配置文件

:vim /var/named/chroot/etc/named.conf

options {

directory "/var/named"; //区域数据文件默认位置

};

zone "benet.com." IN { //正向区域

type slave; //类型为从区域

masters {192.168.1.100; }; //主服务器地址

file "slaves/benet.com.zone"; //下载的区域文件保存位置

};

zone "1.168.192.in-addr.arpa" IN { //反向区域

type slave; //区域类型为从区域

masters {192.168.1.100; }; //主服务器地址

file "slaves/192.168.1.arpa"; //下载的区域文件保存位置

};

:named-checkconf /var/named/chroot/etc/named.conf //测试(无提示正确)

:service named start //启动服务

:ls -lh /var/named/chroot/var/named/slaves/ //查看区域文件是否下载(如没有下载查看slaves目录权限)

:nslookup mail.benet.com //测试解析

3 缓存域名服务器

:yum -y caching* //五个软件包要全部安装

  1. 创建主配置文件

:vim /var/named/chroot/etc/named.conf

options {

forwarders { //要做转发的DNS服务器ip

202.103.0.20;

};

forward first; //优先使用缓存服务器,不能解析则使用本地

};

三 实验

作者:马向军 时间:2013-05-014

实验目的:构件缓存域名服务器,实现公司内部客户机的DNS解析服务

主要目的是提高域名解析的速度减少互联网访问的出口量

实验环境:如图所示

实验中是用虚拟机模拟的虚拟环境:一台linuxPC机,一台linux缓存DNS服务器,一台2003充当软路由。软路由的网卡二连接到了internet,DNS指向提供商DNS202.106.0.20

实验步骤:

1,安装缓存服务器所需软件

bind-9.3.3-7.el5.i386.rpm //提供DNS服务(未安装)

bind-utils-9.3.3-7.el5.i386.rpm //包含测试DNS的命令(默认安装)

bind-libs-9.3.6-4.P1.el5_4.2 //库文件(默认已安装)

bind-chroot-9.3.3-7.el5.i386.rpm //建立相关目录(未安装)

caching-nameserver-9.3.3-7.el5.i386.rpm //配置缓存服务器(未安装)

2,配置服务器的IP,网关

:vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0 //网络接口

ONBOOT=yes //是否随机启动

BOOTPROTO=staitic //静态(dhcp为动态)

IPADDR=192.168.1.101 //ip

NETWASK=255.255.255.0 //掩码

GATEWAY=192.168.1.1 //网关

:service network restart //重启服务

:route //检查默认路由(网关)

:vim /etc/resolv.conf //删除默认DNS

2, 建立主配置文件

:vim /var/named/chroot/etc/named.conf

options {

forwarders { //要做转发的DNS服务器ip

202.103.0.20;

};

forward first; //优先使用缓存服务器,不能解析则使用本地

};

注:实际测试中第一次解析速度很慢

直接在公司内部搭建主dns服务器就能实现公司内部客户机访问内部域名和internet,无需做转发。

缓存服务器解析速度感觉比较慢,不建议使用。