CentOS6.4邮件配置二: Bind安装配置 DNS服务器

关于DNS配置可以参考: http://blog.chinaunix.net/uid-16607457-id-3311717.html
Centos Bind安装配置 DNS服务器(比较详细) http://hi.baidu.com/yum_install/item/edd01b306402bbd56d15e9a4

CentOS NDS解析设置 http://hi.baidu.com/rockhuang1030/item/a6b28394d8820af129164797
vi /etc/sysconfig/network-scripts/ifcfg-eth0
CentOS配置简易DNS服务器 http://285946.blog.51cto.com/275946/249576

解释:A记录、MX记录、CNAME记录、TXT记录、AAAA记录、NS记录
http://blog.csdn.net/eroswang/article/details/6576190
关于查看域名A记录,MX记录,CNAME记录-NSLOOKUP用法介绍
http://www.cnaaa.com/style/info/shownews.asp?id=384

系统环境:CentOS 6.2
虚拟机:Vmworkstation 7.0
目标:将虚拟机中的一台服务器配置成dns服务器,正常能够解析。

域名:pandy8.com        IP:192.168.1.187

最近想配置一个局域网邮箱服务器,但需要用到dns解析服务。于是根据虚拟平台进行实验。(后话俺没有权限接触VPS服务器。)

配置网络命令:
yum install -y system-config-network 或者 yum install system-config-network-tui
system-config-network
service network restart


1.先看下局域配置
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Auto eth0"
UUID=b4eb3f56-8141-4203-815e-78b0a5746e62
ONBOOT=yes
IPADDR=192.168.1.187
NETMASK=255.255.255.0
DNS2=202.96.134.133
GATEWAY=192.168.0.2
DNS1=211.95.193.97
DEVICE=eth0
USERCTL=no
PREFIX=24
HWADDR=00:0C:29:C5:CF:BF

2.安装Bind
安装方法很多。我这里用最简单yum安装.注意要切换root用户进行操作.以下都是该用户下操作.
[root@dns /]# yum -y install bind* caching-nameserver

3.主配置文件named.conf的配置。

我这里直接在/etc目录下操作。网上还有安装bind-chroot包,在/var/named/chroot/etc/目录下操作。大家可以去了解下。先备份下哦再编辑啦。

[root@dns etc]# cd /etc
[root@dns etc]# cp -p named.conf  named.conf.bak
[root@dns etc]# gedit named.conf
//更改过内容如下
options {
        listen-on port 53 { any; };//这里将127.0.0.1改为any.监听所有.
       #listen-on-v6 port 53 { ::1; };//将ipv6注释掉啊。暂无需求.
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };//此处修改为any
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

  /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

4.在此目录下还有一个文件要配置,命令如下:
[root@dns etc]# gedit /etc/named.rfc1912.zones
zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
//注意以下为注释内容

#zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
#       type master;
#       file "named.loopback";
#       allow-update { none; };
#};


zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};

//以下是要添加正向的域。根据自己情况添加。我的是pandy8.com
zone "pandy8.com" IN {
        type master;
        file "pandy8.com.zone";
};


//添加反向解析域

zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "1.168.192.in-addr.arpa";
};


5. 配置正、反解文件。
需要新建两个文件 pandy8.com.zone1.168.192.in-addr.arpa

[root@dns etc]# cd  /var/named/chroot/var/named///不应该放在这个位置
[root@dns etc]# cd  /var/named/
[root@dns named]# touch pandy8.com.zone
[root@dns named]# touch 1.168.192.in-addr.arpa
[root@dns named]# gedit pandy8.com.zone  //添加以下内容保存
$TTL 1D
@       IN SOA  dns.pandy8.com. root (
                                20120524        ; serial  //这里随便一个序列号
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum

@ IN NS dns.pandy8.com.
@ IN MX 10 mail.pandy8.com.
dns IN A 192.168.1.187
@   IN A 192.168.1.187
mail IN A 192.168.1.187
www IN A 192.168.1.187
ftp IN CNAME www



[root@dns named]# gedit 1.168.192.in-addr.arpa //添加以下内容保存退出
$ORIGIN   1.168.192.in-addr.arpa.
@       IN SOA  dns.pandy8.com. root(
                                        20120523 ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@ IN NS dns.pandy8.com.
187  IN PTR dns.pandy8.com.
187  IN PTR mail.pandy8.com.
187  IN PTR www.pandy8.com.


6.修改/etc/resolv.conf文件。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:
[root@dns named]# gedit /etc/resolv.conf
只要加上一句:nameserver 192.168.1.187 就行了。
# Generated by NetworkManager
search pandy8.com
nameserver 192.168.1.187


注意:resolv.conf的值此时无法永远保存的,在电脑重启后变成原样。解决方法见 http://hi.baidu.com/afei47/blog/item/6ff2898272e5d29e6d81196f.html,大致如下,
手动配置:
DNS服务器 : 192.168.1.187 , 搜索域: pandy8.com。
(本机地址, 这样设定,无法使用yum远程安装,所以,先安装所有软件之后,在设定这些信息)
断开网络再连接,或者: service network restart

7.有时候需要关闭防墙

[root@dns named]#/etc/init.d/iptables stop
[root@dns named]#chkconfig  iptables off   //开机永久关闭
只要设定iptables通过25,110端口,应该没问题,但是注意网络提供商是否屏蔽这两个端口,否则设定成其他端口。



验证配置:

更改正反解析文件所属组
chown :named 1.168.192.in-addr.arpa
chown :named pandy8.com.zone


检测配置文件和解析文件有没有错误。
named-checkconf
named-checkzone pandy8.com.zone /var/named/pandy8.com.zone


zone pandy8.com.zone/IN: mail.pandy8.com.zone/MX 'mail.pandy8.com' (out of zone) has no addresses records (A or AAAA)
zone pandy8.com.zone/IN: loaded serial 0
OK

named-checkzone 1.168.192.in-addr.arpa /var/named/1.168.192.in-addr.arpa

zone 1.168.192.in-addr.arpa/IN: loaded serial 0
OK

8.启动服务
[root@dns named]# service named restart
[root@dns named]# chkconfig named on //开机开启

9.测试
[root@dns named]# nslookup www.pandy8.com
Server:         192.168.1.187
Address:        192.168.1.187#53

Name:   www.pandy8.com
Address: 192.168.1.187

//查看A记录
[pandy@localhost ~]$ nslookup -qt=a pandy8.com
*** Invalid option: qt=a
Server: 192.168.1.187
Address: 192.168.1.187#53

Name: pandy8.com
Address: 192.168.1.187
//查询到正确地址ok


//查询MX记录
[root@dns named]# host -t MX pandy8.com
pandy8.com mail is handled by 10 mail.pandy8.com.

//查询MX记录
[pandy@localhost ~]$ nslookup
> set type=MX   <<输入的信息
> pandy8.com   <<输入的信息
Server: 192.168.1.187
Address: 192.168.1.187#53

pandy8.com mail exchanger = 10 mail.pandy8.com.
>

//测试A记录
[root@bogon named]# ping www.pandy8.com
PING www.pandy8.com (192.168.1.187) 56(84) bytes of data.
64 bytes from dns.pandy8.com (192.168.1.187): icmp_seq=1 ttl=64 time=0.131 ms
64 bytes from dns.pandy8.com (192.168.1.187): icmp_seq=2 ttl=64 time=0.082 ms
64 bytes from dns.pandy8.com (192.168.1.187): icmp_seq=3 ttl=64 time=0.099 ms
64 bytes from dns.pandy8.com (192.168.1.187): icmp_seq=4 ttl=64 time=0.108 ms

对于不能发件的问题,做了端口映射,具体如下:
为了使其他电脑能够访问你的邮件服务器,你需要设置你的防火墙或者路由,以便允许以下必要的端口连接服务器。
IMAP - 143
IMAPS - 993
POP3 - 110
POP3S - 995

对于不能收件,大多问题出在DNS解析上。
首先,需要一条MX记录,如:mail.domain.com 注意 /etc/postfix/main.cf 中 myhostname = mail.domain.com 它需要和MX记录中的值一致!
其次,需要一条A记录,将mail.domain.com指向一个固定IP。

问题:
1.因为每次重启,都会resolv.conf的值此时无法永远保存的,在电脑重启后变成原样。按照上面的解决方式也不是很好,那么是不是可以先备份一份没问题的resolv.conf.bak,然后电脑启动进入后,在覆盖resolv.conf?
sudo cp -rf /etc/resolv.conf /etc/resolv.conf.bak   备份
sudo rm -f /etc/resolv.conf   删除
sudo cp -rf /etc/resolv.conf.bak /etc/resolv.conf   还原

猜你喜欢

转载自panyongzheng.iteye.com/blog/1882011