DNS服务与邮件服务器应用案例
1.案例目标 (1)了解 DNS 服务 BIND 服务的安装配置。
(2)了解 DNS 服务正向解析与反向解析。
(3)使用 DNS 服务实现主从切换。
(4)了解 DNS 检测工具。
(5)了解 Email 服务 postfix 部署安装配置。
(6)了解 postfix 外发配置,测试外发邮件。
2. (1)修改 mail 节点与 dns 节点主机名 [root@controller ~]# hostnamectl set-hostname mail
[root@controller ~]# bash
[root@mail ~]#
[root@compute ~]# hostnamectl set-hostname dns
[root@compute ~]# bash
[root@dns ~]#

 
(2)为了方便测试关闭防火墙与安全策略
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
两台机器都需要操作
(3)测试本地 yum 两台都需要测试
# yum list
3.2 安装与配置 DNS 服务器
(1)使用如下命令安装 DNS 服务器
#yum -y install bind-chroot bind-utils
两台都需要装

(2)启动 DNS 服务 两台都需要
# systemctl restart named 启动服务
[root@mail ~]# systemctl status named 查看状态

(3)查看端口是否启动 两台都要操作
# netstat -lntp | grep named

(4)修改主服务器 DNS 的配置文件 named.conf(记住修改配置每个分号都不能少) 域名解析服务 Bind 的程序名称叫做 named,服务程序的配置文件如下:
数据配置文件目录 /var/named
主配置文件 /etc/named.conf
区域配置文件/etc/named.rfc1912.zones
修改 named.conf 以下配置:(从服务器也是一样!)
listen-on port 53 { any; }; // 监听所有的 53 号端口,此处可以根据需要设置需要监听的 IP
also-notify { any;}; //允许所有的查询

(5)配置正向解析与反向解析 什么叫正向解析和反向解析: 正向解析:根据主机名(域名)查找对应的 IP 地址。
反向解析:根据 IP 地址查找对应的主机名(域名)。( 反向解析的作用是将用户提交的 IP 地址 解析为对应的域名信息,它一般用于对某个 IP 地址上绑定的所有域名进行整体屏蔽,屏蔽 由某些域名发送的垃圾邮件。也可以判断某虚拟主机上运行了多少个网站。)
正向区域: 1 创建转发域: 拷贝模板文件 named.localhost 到 testmail.com.zone,
示例代码如下: # cp -rf /var/named/named.localhost /var/named/testmail.com.zone

2 编辑 testmail.com.zone 文件,示例代码如下: # vi testmail.com.zone
$TTL 1D //生存周期为 1 天
@ IN SOA testmail.com. dns.testmail.com. (
0 ; serial( 定义序列号的值,同步辅助名称服务器数据时使用)
1D ; refresh( 更新时间间隔值。定义该服务器的辅助名称服务器隔 多久时间更新一次)
1H ; retry ( 辅助名称服务器更新失败时,重试的间隔时间)
1W ; expire( 辅助名称服务器一直不能更新时,其数据过期的时间)
3H ) ; minimum ( 最小默认 TTL 的值,如果第一行没有$TTL,则使用 该值)

3 赋予 test.com.zon 所有权限,命令如下: # chmod 777 testmail.com.zone
4 修改区域配置文件/etc/named.rfc1912.zones
# vi /etc/named.rfc1912.zones
#正向解析 在最后一行增加

(type:master 指的是主 dns 解析、slave 指的是从 dns 解析、hint 指的是根域名解析(根提 示域)、forward 指的是转发,转发不使用 file; file :定义区域解析库文件名字(位置默认在/var/named 下面),file 的前缀通常和 zone 的 名字通常对应起来,然后加一个.zone 的后缀。)
5 检查配置,如下所示:
# named-checkzone testmail.com testmail.com.zone //zone 文件检测

反向区域: 6 修改区域配置文件/etc/named.rfc1912.zones
#反向解析
zone "157.168.192.in-addr.arpa" IN { //区域名称:是网络地址的反写.in-addr.arpa.
type master;
file "157.157.168.192.in-addr.local"; };

 
进行拷贝到ip为157.157.168.192上去 //反向地址
7 配置 157.157.168.192.in-addr.local:(不需要 MX、A、AAAA,要有 NS 记录,以 PTR 记录为主。)

检查: named-checkzone mail.testmail.com 157.157.168.192.in-addr.arpa.local

重启
systemctl restart named
在从的服务器上添加主服务器上的地址

 
在主上查看端口的状态

3.3 配置主从 DNS 服务
1.配置从节点服务器 yum -y install bind-chroot bind-utils
2.修改配置 named.conf(与主服务器一致) listen-on port 53 { any; }; // 监听所有的 53 号端口,此处可以根据需要设置需要监听的 IP also-notify { any;}; // 前面已经修改完成
3.修改区配置文件: vi /etc/named.rfc1912.zones

检查 
 重启
测试:
主服务器那边关闭named服务:
[root@mail ~]systemctl stop named
测试,查看server地址是否正确
[root@dns named]# dig dns.testmail.com

[root@dns named]# dig -x 192.168.157.159
测试dns解析结果:
[root@compute named]# nslookup dns.testmail.com
[root@controller ~]# ll /var/named/slaves/

3.4 DNS检测工具
(1)nslookup命令是常用域名查询工具,就是查DNS信息用的命令。
一般格式:
nslookup [-option] [name | -] [server]
参数说明:
● option:表示一些选项。这些选项可以通过set命令设置修改。
● name:表示查询的域名。
● server:可以指定DNS主机IP。
set命令说明:
● set all:打印当前的选项值。
● set calss=value:设置查询的类型,一般情况下为Internet。
● set debug:设置调试模式。
● set d2:设置详细调试模式。
● set domin=name:设置默认的域名。
● set search:
● set port=value:设置DNS端口。
● set querytype=value:改变查询的信息的类型。默认的类型为A纪录。
● set type=value:和set querytype一样。
● set recurse:设置查询类型为递归;若为set norecurse,查询类型为跌代;缺省为前者。
● set retry=number:设置重试的次数。
● set timeout=number:设置等待应答的限制时间(单位为秒),超出即为超时,如果还可以重试,就会将长超时值加倍,重新查询。
● set vc:通过tcp方式查询。
具体说明可以查看man手册。
格式:nslookup -nameserver/ip。例如:
[root@controller ~]# nslookup 192.168.157.157

(2)dig命令主要用来从dns域名服务器查询主机地址信息,是安装bind自带的工具。
一般格式:
dig [@global-server] [domain] [q-type] [q-class] {q-opt} {d-opt}
参数说明:
● @global-server:默认是以/etc/resolv.conf作为DNS查询的主机,这里可以填入其它DNS主机IP。
● domain:要查询的域名。
● q-type:查询记录的类型,例如a、any、mx、ns、soa、hinfo、axfr、txt等,默认查询a。
● q-class:查询的类别,相当于nslookup中的set class。默认值为in(Internet)。
● q-opt:查询选项,可以有好几种方式,比如:-f file为通过批处理文件解析多个地址;-p port指定另一个端口(缺省的DNS端口为53),等等。
● d-opt:dig特有的选项。使用时要在参数前加上一个“+”号。
● d-opt常用选项:
○ +vc:使用TCP协议查询。
○ +time=###:设置超时时间。
○ +trace:从根域开始跟踪查询结果。
dig nameserver/IP 例如:
[root@controller ~]# dig dns.testmail.com

dig 命令默认的输出信息比较丰富,大概可以分为5个部分。
① 显示dig命令的版本和输入的参数。
② 显示服务返回的一些技术详情,比较重要的是status。如果status的值为NOERROR则说明本次查询成功结束。
③ 中的QUESTION SECTION显示我们要查询的域名。
④ 中的ANSWER SECTION是查询到的结果。
⑤ 则是本次查询的一些统计信息,比如用了多长时间,查询了哪个DNS服务器,在什么时间进行的查询等等。
熟悉常见DNS记录的类型如下图所示:

(3)host查询
hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速访问。
语法:host [ 选项] name [server]
选项列表解释:
● -a:查询所有的信息。
● -c:设置查询类型
● -C:查询完整的SOA记录
● -d | -v:显示详细过程。
● -l:列表模式
● -t:选择查询类型。如CNAME、NS、SOA、SIG、KEY、AXFR。
● -w:永久等待。
● -W:设置等待超时。
例如:
[root@controller ~]# host 192.168.157.157
 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号