2021-02-03

DNS邮件服务器

dns分类
1、 主DNS服务器:存储原始资料
2、从DNS服务器:自动更新注DNS服务器的数据
3、 缓存服务器:转发来自客户端的请求,但是会缓存查询回来的结果
4、转发器:不向根域发送请求,而是直接发给其他的服务器,并不缓存结果
1、基础准备
使 用 VMWare Workstation 软 件 安 装 CentOS 7.5 操 作 系 统 , 镜 像 使 用 提 供 的CentOS-7-x86_64-DVD-1511。最小化 CentOS 7.5 虚拟机一台,另需要 DNS 服务器一台,YUM 源使用本地系统源。
1.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 ~]#
为了方便测试关闭防火墙与安全策略
[root@mail ~]# systemctl stop firewalld
[root@mail ~]# systemctl disable firewalld
[root@mail ~]# setenforce 0
[root@dns ~]# systemctl stop firewalld
[root@dns ~]# systemctl disable firewalld
[root@dns ~]# setenforce 0
测试本地 yum 源
[root@dns ~]# yum list
[root@mail ~]# yum list
安装与配置 DNS 服务器
1.2 使用如下命令安装 DNS 服务器
#yum -y install bind-chroot bind-utils
启动 DNS 服务
#systemctl restart named
[root@mail ~]# systemctl status named
named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled) Active: active (running) since 日 2020-02-23 11:31:27 CST; 13s ago
Process: 51903 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} O P T I O N S ( c o d e = e x i t e d , s t a t u s = 0 / S U C C E S S ) P r o c e s s : 51900 E x e c S t a r t P r e = / b i n / b a s h − c i f [ ! " OPTIONS (code=exited, status=0/SUCCESS) Process: 51900 ExecStartPre=/bin/bash -c if [ ! " OPTIONS(code=exited,status=0/SUCCESS)Process:51900ExecStartPre=/bin/bashcif[!"DISABLE_ZONE_CHECKING" == “yes” ]; then
/usr/sbin/named-checkconf -z “$NAMEDCONF”; else echo “Checking of zone files is disabled”; fi (code=exited, status=0/SUCCESS)
Main PID: 51905 (named)
CGroup: /system.slice/named.service
└─51905 /usr/sbin/named -u named -c /etc/named.conf

2 月 23 11:31:27 mail named[51905]: network unreachable resolving './DNS…53
2 月 23 11:31:27 mail named[51905]: network unreachable resolving './NS/…53 2 月 23 11:31:27 mail named[51905]: network unreachable resolving './DNS…53
查看端口是否启动
#netstat -lntp | grep named
1.3修改主服务器 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;}; // 允许所有的查询
1.4添加正向解析、反向解析
正向区域:
创建转发域:
拷贝模板文件 named.localhost 到 testmail.com.zone,示例代码如下: # cp -rf /var/named/named.localhost /var/named/testmail.com.zone

编辑 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 (

IN NS dns.testmail.com. // 域名服务器记录
IN MX 10 mail //邮箱交换记录dns IN A 192.168.100.30 //地址记录
mail IN A 192.168.100.30 //地址记录www IN A 192.168.100.30
smtp IN A 192.168.100.30

1.4赋予 test.com.zon 所有权限,命令如下:
#chmod 777 testmail.com.zone

修改区域配置文件/etc/named.rfc1912.zones # vi /etc/named.rfc1912.zones
#正向解析
zone “testmail.com” IN { // 定义 zone 文件,这里是定义的根域的文件位置
type master; #主 dns 解析
file “testmail.com.zone”; #定义区域解析库文件名字
};
检查配置,如下所示:
#named-checkzone testmail.com testmail.com.zone //zone 文件检测工具
zone testmail.com/IN: loaded serial 0 OK
#named-checkconf /etc/named.conf //named.conf 文件检查工具
反向区域:
修改区域配置文件/etc/named.rfc1912.zones #反向解析
zone “100.168.192.in-addr.arpa” IN { //区域名称:是网络地址的反写.in-addr.arpa. type master;
file “30.100.168.192.in-addr.local”;
};

1.5配置 30.100.168.192.in-addr.local:(不需要 MX、A、AAAA,要有 NS 记录,以 PTR
记录为主。)
#vi 30.100.168.192.in-addr.local
$TTL 1D
@ IN SOA ns.testmail.com. admin.testmail.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS dns.testmail.com.
30 IN PTR mail.testmail.com.
30 IN PTR www.testmail.com.
检查配置,如下所示:
#named-checkzone testmail.com 30.100.168.192.in-addr.local zone testmail.com/IN: loaded serial 0
OK

重启生效配置:
#systemctl restart named

添加/etc/resolv.conf 域名服务器 IP # vi /etc/resolv.conf
#Generated by NetworkManager nameserver 192.168.100.40
nameserver 8.8.8.8

1.6测试 DNS 解析是否正常:
#ping www.testmail.com
PING www.testmail.com (192.168.100.30) 56(84) bytes of data.
64 bytes from www.testmail.com (192.168.100.30): icmp_seq=1 ttl=64 time=0.337 ms 64 bytes from www.testmail.com (192.168.100.30): icmp_seq=2 ttl=64 time=0.284 ms 64 bytes from www.testmail.com (192.168.100.30): icmp_seq=3 ttl=64 time=0.474 ms
— www.testmail.com ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.284/0.365/0.474/0.080 ms
2.配置主从dns服务
2.1配置从节点服务器
yum -y install bind-chroot bind-utils
修改配置 named.conf(与主服务器一致)
listen-on port 53 { any; }; // 监听所有的 53 号端口,此处可以根据需要设置需要监听的 IP also-notify { any;}; // 允许所有的查询
修改区配置文件:
vi /etc/named.rfc1912.zones zone “testmail.com” IN {
type slave; //master 为主服务;slave 为从服务;
file “slaves/slavertestmail.com.zone”;
masters {192.168.100.40;}; //指定主 dns 服务器的 IP
};
zone “100.168.192.in-addr.arpa” IN { type slave;
file “slaves/30.100.168.192.in-addr.local”; masters {192.168.100.40;};
};
2.2修改/etc/reslove.conf vi /etc/resolv.conf
nameserver 192.168.100.40
nameserver 192.168.100.30
重启服务:
systemctl restart named
测试:
主服务器那边关闭 named 服务
systemctl stop named
2.3测试 dns 解析结果:
[root@compute named]# nslookup dns.testmail.com Server: 192.168.100.30
Address: 192.168 100.30#53

Name: dns.testmail.com Address: 192.168.100.40
*显示解析到的服务器目前的位置在 192.168.100.30 [root@controller ~]# ll /var/named/slaves/
总用量 8
-rw-r–r-- 1 named named 341 2 月 18 09:29 30.100.168.192.in-addr.local
-rw-r–r-- 1 named named 317 2 月 18 09:29 slavertestmail.com.zone
2.4部署安装 postfix 并配置
centos7 版本默认安装 postfix,检测是否安装 postfix: rpm -q postfix
如果没有安装:yum -y install postfix

检查 postfix 是否支持 cyrus dovecot 功能:
#postconf -a cyrus Dovecot

编辑 postfix 的配置文件,查找并修改对应配置项:
#cat /etc/postfix/main.cf
myhostname = mail.testmail.com //本机主机名mydomain = testmail.com //服务器域名myorigin = $mydomain //初始域名mail_owner = postfix
inet_interfaces = all //监听接口
inet_protocols = all //监听网络版本
mydestination = m y h o s t n a m e , l o c a l h o s t . myhostname, localhost. myhostname,localhost.mydomain, localhost //目标域unknown_local_recipient_reject_code = 550
mynetworks = 192.168.100.0/24, 127.0.0.0/8 //修改可接收邮件的主机名和域名,可被中继的主机 192.168.100.0 为我自己定义的网段
home_mailbox = Maildir/ //邮件目录,在用户家目录下mynetworks_style = host //指定信任网段类型relay_domains = $mydestination //指定允许中转邮件的域名

检查配置文件是否有语法错误
#postfix check //没有输出错误,证明配置文件没有问题其他 postfix 运维命令:
newaliases (重建别名数据库)
postalias /etc/postfix/aliases (创建或查询别名数据库) postcat (显示队列文件内容)
postconf (修改 main.cf 配置文档 ) postqueue ( 査 看 postfix 队 列 ) postsuper (管理员管理 postfix 队列)
postmap (创建查询表的 DB 数据库或查询查询表内容)
重 启 服 务 : systemctl restart postfix
检测服务进程以及端口是否正常: # netstat -lntp | grep 25
#ps -ef | grep postfix | grep -v grep

3.邮件简单外发测试
3.1邮件服务器简单发信测试
Postfix 可以调用本地系统的账户和密码,因此在本地系统创建常规账户即可。
useradd zxa
echo “111111” | passwd --stdin zxa
安装 Telnet 服务yum -y install telnet 测试发信:
#telnet mail.testmail.com 25 //远程登录 25 端口,如报错连接不上,重启 postfix Trying 192.168.100.30…
Connected to mail.testmail.com. Escape character is ‘^]’.
220 mail.testmail.com ESMTP Postfix
mail from:zxa@testmail.com //发件人250 2.1.0 Ok
rcpt to:9728xxxx@qq.com //外发给 QQ 收件人
250 2.1.5 Ok
data
354 End data with . zzzzz
.
250 2.0.0 Ok: queued as 7AF443994AFA
quit
221 2.0.0 Bye
Connection closed by foreign host.

四、查询发信结果:
#grep 7AF443994AFA /var/log/maillog
Feb 18 13:43:40 controller postfix/smtpd[4165]: 7AF443994AFA:
client=mail.testmail.com[192.168.100.30]
Feb 18 13:43:45 controller postfix/cleanup[4168]: 7AF443994AFA: message-id=20200218054340.7AF443994AFA@mail.testmail.com
Feb 18 13:43:45 controller postfix/qmgr[3874]: 7AF443994AFA: from=zxa@testmail.com, size=333, nrcpt=1 (queue active)
Feb 18 13:43:47 controller postfix/smtp[4169]: 7AF443994AFA: to=9728xxxx@qq.com, relay=mx3.qq.com[183.232.93.177]:25, delay=9.8, delays=7.9/0/0.17/1.7, dsn=2.0.0, status=sent (250 Ok: queued as )
Feb 18 13:43:47 controller postfix/qmgr[3874]: 7AF443994AFA: removed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值