400 likes | 549 Views
岗位技能(三) Linux 网络服务器配置与管理 项目 2 架设 DNS 服务器. 教学目标. 能力目标 能配置与管理 DNS 服务器 能配置 DNS 客户端(包括 Linux 及 windows ) 能完成关于 DNS 服务的故障排除. 教学目标. 知识目标 掌握 DNS 服务工作原理. 案例引入. 某校园网的拓扑结构如下图所示。已申请域名: xqpi.edu.cn ,需要保证校内 DNS 客户端及各 FTP 、 WWW 、 Email 服务器的域名解析. 1. DNS 系统简介. DNS 是基于客户/服务器模型设计的。
E N D
岗位技能(三)Linux网络服务器配置与管理项目2 架设DNS服务器
教学目标 • 能力目标 • 能配置与管理DNS服务器 • 能配置DNS客户端(包括Linux 及windows ) • 能完成关于DNS服务的故障排除
教学目标 • 知识目标 • 掌握DNS服务工作原理
案例引入 • 某校园网的拓扑结构如下图所示。已申请域名:xqpi.edu.cn,需要保证校内DNS客户端及各FTP、WWW、Email服务器的域名解析
1. DNS系统简介 • DNS是基于客户/服务器模型设计的。 • 整个域名系统以一个大的分布式数据库的方式工作。
域名称空间 根域 com net org 顶级域 nwtraders 二级域 west south east 子域 sales FQDN: server1.sales.south.nwtraders.com 主机: server 1
DNS查询模式 • 递归查询(Recursive Query) • 叠代查询(Iterative Query)
② ⑦ ③ ⑥ ⑧ ① ④ ⑤ t.y.abc.com 的IP地址是什么? 递归查询 “树根” .edu 顶级 域名服务器 dns.com com .com 顶级 域名服务器 edu xyz abc 因特网 abc 本地域名服务器 dns.xyz.com 授权域名服务器 xyz 本地域名服务器 dns.abc.com 授权域名服务器 … … y x u v w 本地域名服务器 dns.y.abc.com 授权域名服务器 y m.xyz.com … … t.y.abc.com
③ ② ⑤ ④ ⑦ ⑥ ⑧ ① IP(t.y.abc.com) = (198.54.23.15) IP(t.y.abc.com)=? 递归与迭代相结合的查询 根域名服务器 dns.com 本地域名服务器 dns.y.abc.com 本地域名服务器 dns.abc.com 本地域名服务器 dns.xyz.com t.y.abc.com m.xyz.com
2. DNS域名服务器的类型 • 惟高速缓存服务器(caching-only server) • 主域名服务器(primary name server) • 辅助域名服务器(secondary name server)
3. 安装BIND域名服务器 • # rpm -ivh bind-9.3.3-7.el5.i386. rpm • # rpm -ivh bind-chroot- 9.3.3 -7.el5.i386.rpm
BIND的主配置文件named.conf • vi /etc/named.conf
全局配置语句options • 常用语法 options ( directory “path” ; //定义服务器区配置文件的目录 forwarders { IPaddr } ; //定义转发器 ); • 例如: • options • ( directory /var/named; • forwarders { 202.106.196.115; 202.106.0.20; }; • );
区(zone)声明 • 常用语法 zone "zone-name" IN { • type master|hint|slave ; //说明一个区的类型 file • “filename” ; //说明一个区的域信息源数据库信息文件名 • masters { IPaddr }; //指定主DNS的IP地址,用于辅助DNS配置 • }; • 例如:
主域 zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; 注意:每个语句的后面都有“;”,最后也有“;”
主域 zone "21php.com" { type master; notify yes; file "21php.com"; };
主域 • 由一个zone段在/etc/named.conf中宣告 • type master; • file:存放该zone数据的文件名 • 必须存在于options段中提及的目录( "/var/named" )之下 • 文件名可以随意 • allow-update:允许动态更新该zone数据的客户机
从域 zone “example.org" { type slave; file “db.example.org"; allow-transfer { none; }; masters { 204.150.166.143; }; };
从域 • 由一个zone段在/etc/named.conf中宣告 • type slave; • master:指定其主域名服务器 • 对应的主域名服务器必须承认并存放有该区域的数据 • file:本地用于存放zone数据的文件 • 从域名服务器总是试图与其master联系并获取一份当前数据的副本
反解析域 • 域的名字必须用.in-addr.arpa来结尾 • 由一个zone段在/etc/named.conf中宣告 • 反解析域一般对应到一个具体的IP段 • 反解析域同样可以配置为从域 • 许多服务会尝试进行反解析
zone "1.168.192.in-addr.arpa" IN { type master; file “zone.192.168.1"; };
根域 • 根域“.” zone "." IN { type hint; file "named.ca"; };
zone文件 • 文件通常存放在/var/named目录下 • 用于存放指定域内的各种资源与数据 • 第一段资源记录被成为起始授权记录(SOA) • 每一个在/etc/named.conf中定义的zone都应该对应一个具体的zone文件
资源记录 • SOA:定义起始授权 • NS:指定域名服务器 • MX:指定邮件服务器 • A:将一个域名解析成其后的IP • CNAME:将一个域名设置为另一个域名的别名 • PTR:将一个IP地址指向一个域名
SOA记录 • SOA(Start of Authority):起始授权 • 这个记录 放在 zone file 一开始的地方, 描述这个 zone 负责的 name server, version number, maintainer资料, 以及当 slave server 要备份这个 zone 时的一些参数 • 每一个域文件中都应该有一个SOA 段 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum
@ • @是什么内容? • 如果设定了$ORIGIN(如在/var/named/localhost.zone文件中定义的$ORIGIN localhost. [这个点千万要注意,没有这个点后面表示要加上@代表的内容]),那么@就是这个内容了, • 如果没有设定$ORIGIN,那么@跟随上面的设置,就是/etc/named.conf里面的zone名称。
NS记录 • NS(name server):域名服务器 • 每一个主域名服务器和从域名服务器都应该拥有一条NS记录,以防止主服务器在出现故障后,从服务器不能及时提供服务 @ IN NS server1.example.com. example.com IN NS server1.example.com. • 有时,你会见到NS记录的开头什么都没有。这表示自动沿用上一条记录的开头定义。(所以千万要注意格式)
资源记录 • A记录 • 用于将主机名对应成IP地址 • server 1D IN A 192.168.0.254 • CNAME记录 • 用于定义某一个地址的别名 • smtp IN CNAME mail • pop IN CNAME smtp • PTR记录 • 用于将IP地址对应成一个主机名 • 254 IN PTR server1.example.com.(千万不要忘记这个点)
MX与HINFO记录 • MX:用于定义某一个域里负责的邮件服务器 • 每一条MX记录前都需要指定优先级别 example.com IN MX 5 mail (example.com这个域的邮件服务器由mail这台主机负责,即所有到example.com域的邮件都要转到mail这台主机上去。) • HINFO记录提供解析时对一台主机做补充注释 server1 IN HINFO master server
Round Robin • 利用复数A记录来均衡数台服务器的访问负载 www 0 IN A 192.168.0.3 www 0 IN A 192.168.0.4 www 0 IN A 192.168.0.5 • round robin的关键在于,每一条A记录都不应该被记入cache。
r n d c • 域名服务器控制程序 • 安全防范,远程控制运行的域名服务器 • 使用TSIG 安全 • 例如: [root @stationxx root]# rndc reload • rndc 默认只监听本地loopback端口
BIND语法检查工具 • 在BIND出错时使用如下工具: named-checkconf 默认检查的配置文件是 /etc/named.comf named-checkzone 检查一个Zone文件的配置 • 例如: • [root @stationxx root] # named-checkconf ~/myconfig/named.conf • [root @stationxx root] # named-checkzone wenhua.org /var/named/wenhua.org.zone • 另外一种差错的方式是看日志: • More /var/log/messages
redhat-config-bind • 图形界面下的BIND配置工具 • 简单清晰地完成BIND配置 • 可对应多个版本的BIND • 配置文件存放在/etc/alchemist/namespace/dns/local.adl
5 DNS主域名服务器配置实例 6 DNS辅助域名服务器配置实例
7 测试DNS服务器 • Linux环境下测试DNS服务器 • 编辑/etc/resolv.conf,然后令其nameserver选项的值为指定DNS服务器的IP地址。 • [例10-10]查看IP地址202.127.50.100所对应的域名。 • [例10-11] 查看域名www.linux.com所对应的IP地址。
7 测试DNS服务器 • Windows下测试DNS服务器 • 在「首选DNS服务器」中输入配置成功的DNS服务器的IP地址。