关于DNS配置可以参考: [url]http://blog.chinaunix.net/uid-16607457-id-3311717.html[/url]
[color=darkblue]vi /etc/sysconfig/network-scripts/ifcfg-eth0[/color]
CentOS配置简易DNS服务器 [url]http://285946.blog.51cto.com/275946/249576[/url]
解释:A记录、MX记录、CNAME记录、TXT记录、AAAA记录、NS记录
[url][/url]
关于查看域名A记录,MX记录,CNAME记录-NSLOOKUP用法介绍
[url]http://www.cnaaa.com/style/info/shownews.asp?id=384[/url]
系统环境:CentOS 6.2
虚拟机:Vmworkstation 7.0
目标:将虚拟机中的一台服务器配置成dns服务器,正常能够解析。
[b][color=red]域名:pandy8.com IP:192.168.1.187[/color][/b]
最近想配置一个局域网邮箱服务器,但需要用到dns解析服务。于是根据虚拟平台进行实验。(后话俺没有权限接触VPS服务器。)
配置网络命令:
[color=darkblue]yum install -y system-config-network 或者 yum install system-config-network-tui
system-config-network
service network restart[/color]
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
[color=red][b]2.安装Bind[/b][/color]
安装方法很多。我这里用最简单yum安装.注意要切换root用户进行操作.以下都是该用户下操作.
#[color=darkblue]yum -y install bind* caching-nameserver[/color]
[color=red][b]
3.主配置文件named.conf的配置。[/b][/color]
我这里直接在/etc目录下操作。网上还有安装bind-chroot包,在/var/named/chroot/etc/目录下操作。大家可以去了解下。先备份下哦再编辑啦。
#[color=darkblue]cd /etc[/color]
#[color=darkblue]cp -p named.conf named.conf.bak[/color]
#[color=darkblue]gedit named.conf[/color]
//更改过内容如下
options {
listen-on port 53 { [color=red]any[/color]; };//这里将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 { [color=red]any[/color]; };//此处修改为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";
[color=red][b]4.在此目录下还有一个文件要配置[/b][/color],命令如下:
#[color=darkblue]gedit /etc/named.rfc1912.zones[/color]
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
//注意以下为注释内容
[color=darkblue]#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; };
#};[/color]
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
[color=darkblue]zone "pandy8.com" IN {
type master;
file "pandy8.com.zone";
};[/color]
//添加反向解析域
[color=darkblue]zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.in-addr.arpa";
};[/color]
[color=red][b]5. 配置正、反解文件。[/b][/color]
需要新建两个文件[color=darkblue]pandy8.com.zone[/color]和[color=darkblue]1.168.192.in-addr.arpa[/color] 。
#[color=darkblue]cd /var/named/chroot/var/named/[/color]//不应该放在这个位置
#[color=darkblue]cd /var/named/[/color]
#[color=darkblue]touch pandy8.com.zone[/color]
#[color=darkblue]touch 1.168.192.in-addr.arpa[/color]
#[color=darkblue]gedit pandy8.com.zone[/color] //添加以下内容保存
[color=darkblue]$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[/color]
#[color=darkblue]gedit 1.168.192.in-addr.arpa[/color] //添加以下内容保存退出
[color=darkblue]$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.[/color]
[b][color=red]6.修改/etc/resolv.conf文件[/color][/b]。只有修改了这个文件才可以用自己的机器进行域名解析,命令如下:
# gedit /etc/resolv.conf
只要加上一句:nameserver 192.168.1.187 就行了。
[color=darkblue]# Generated by NetworkManager
search pandy8.com
nameserver 192.168.1.187[/color]
注意:resolv.conf的值此时无法永远保存的,在电脑重启后变成原样。解决方法见[url]http://hi.baidu.com/afei47/blog/item/6ff2898272e5d29e6d81196f.html[/url],大致如下,
手动配置:
DNS服务器 : 192.168.1.187 , 搜索域: pandy8.com。
(本机地址,[b][color=red]这样设定,无法使用yum远程安装,所以,先安装所有软件之后,在设定这些信息[/color][/b])
断开网络再连接,或者:[color=darkblue]service network restart [/color]
[color=red][b]7.有时候需要关闭防墙[/b][/color]
#/etc/init.d/iptables stop
#chkconfig iptables off //开机永久关闭
只要设定iptables通过25,110端口,应该没问题,但是注意网络提供商是否屏蔽这两个端口,否则设定成其他端口。
[color=red]
验证配置:[/color]
更改正反解析文件所属组
[color=darkblue]chown :named 1.168.192.in-addr.arpa
chown :named pandy8.com.zone
[/color]
检测配置文件和解析文件有没有错误。
[color=red]named-checkconf
named-checkzone pandy8.com.zone /var/named/pandy8.com.zone[/color]
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
[color=red]named-checkzone 1.168.192.in-addr.arpa /var/named/1.168.192.in-addr.arpa
[/color]
zone 1.168.192.in-addr.arpa/IN: loaded serial 0
OK
[color=red][b]8.启动服务[/b][/color]
# service named restart
# chkconfig named on //开机开启
[color=red][b]9.测试[/b][/color]
# [color=darkblue]nslookup www.pandy8.com[/color]
Server: 192.168.1.187
Address: 192.168.1.187#53
Name: www.pandy8.com
Address: 192.168.1.187
[color=red]//查看A记录[/color]
[pandy@localhost ~]$ [color=darkblue]nslookup -qt=a pandy8.com[/color]
*** Invalid option: qt=a
Server: 192.168.1.187
Address: 192.168.1.187#53
Name: pandy8.com
Address: 192.168.1.187
//查询到正确地址ok
[color=red]//查询MX记录[/color]
# [color=darkblue]host -t MX pandy8.com[/color]
pandy8.com mail is handled by 10 mail.pandy8.com.
[color=red]//查询MX记录[/color]
[pandy@localhost ~]$ [color=darkblue]nslookup[/color]
> set type=MX <<输入的信息
> pandy8.com <<输入的信息
Server: 192.168.1.187
Address: 192.168.1.187#53
pandy8.com mail exchanger = 10 mail.pandy8.com.
>
[color=red]//测试A记录[/color]
# [color=darkblue]ping www.pandy8.com[/color]
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
[color=red][b]对于不能发件的问题[/b][/color],做了端口映射,具体如下:
为了使其他电脑能够访问你的邮件服务器,你需要设置你的防火墙或者路由,以便允许以下必要的端口连接服务器。
IMAP - 143
IMAPS - 993
POP3 - 110
POP3S - 995
[b][color=red]对于不能收件[/color][/b],大多问题出在DNS解析上。
首先,需要一条MX记录,如:mail.domain.com 注意 /etc/postfix/main.cf 中 myhostname = mail.domain.com 它需要和MX记录中的值一致!
其次,需要一条A记录,将mail.domain.com指向一个固定IP。
[color=red][b]问题:[/b][/color]
1.因为每次重启,都会resolv.conf的值此时无法永远保存的,在电脑重启后变成原样。按照上面的解决方式也不是很好,那么是不是可以先备份一份没问题的resolv.conf.bak,然后电脑启动进入后,在覆盖resolv.conf?
[color=darkblue]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 还原[/color]