dnsforlinux
‘壹’ 如何在 linux/Unix/Mac 下清除 DNS 查询缓存
Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。
Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显着加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存:
$ sudo /etc/init.d/nscd restart
或
# service nscd restart
或
# service nscd reload
Mac下用root用户输入下面的命令:
# dscacheutil -flushcache
或者
$ sudo dscacheutil -flushcache
如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令:
lookupd -flushcache
‘贰’ linux的DNS被注释掉了是什么意思
DNS是域名解析,被注释掉了的话就不能解析域名了,给你看看域名解析的相关配置了解一下:
root@jaking-virtual-machine:~#cat/etc/resolv.conf
#Thisfileismanagedbyman:systemd-resolved(8).Donotedit.
#
#Thisisadynamicresolv.
#-resolved.Thisfilelistsall
#configuredsearchdomains.
#
#Run"systemd-resolve--status"
#currentlyinuse.
#
#,butonlythroughthe
#symlinkat/etc/resolv.conf.Tomanageman:resolv.conf(5)inadifferentway,
#.
#
#Seeman:systemd-resolved.service(8)
#operationfor/etc/resolv.conf.
nameserver127.0.0.53
searchlocaldomain
更多知识请网络《Linux就该这么学》
‘叁’ LINUX的DNS怎么设置
linux下修改IP、DNS、路由命令行设置 ubuntu 版本命令行设置IP
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.104
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.2
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 58.22.96.66 218.104.128.106 202.101.138.8
dns-search .COM
重启网卡: /etc/init.d/networking restatr
redhat linux版本命令行设置IP:
ifconfig eth0 新ip
然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
一、修改IP地址
[aeolus@db network-scripts]$ vi ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=219.136.241.211
NETMASK=255.255.255.128
GATEWAY=219.136.241.254
二、修改网关
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Aaron
GATEWAY=192.168.1.1
三、修改DNS
[aeolus@db etc]$ vi resolv.conf
nameserver 202.96.128.68
nameserver 219.136.241.206
四、重新启动网络配置
/etc/init.d/network restart五、例子
1、修改ip地址
即时生效:
# ifconfig eth0 192.168.0.20 netmask 255.255.255.0
启动生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
2、修改default gateway
即时生效:
# route add default gw 192.168.0.254
启动生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
修改dns
修改/etc/resolv.conf
修改后可即时生效,启动同样有效
3、修改host name
即时生效:
# hostname fc2
启动生效:
修改/etc/sysconfig/network
‘肆’ linux dns服务器怎么设置
在linux系统中一般通过bind软件包来提供dns服务。
1、环境准备:
临时关闭selinux和iptables
#setenforce0
#serviceiptablesstop
2、查询相关软件包:
[root@localhost~]#yumsearchbind
Loadedplugins:proct-id,refresh-packagekit,subscription-manager
UpdatingRedHatrepositories.
======================================================================================N/SMatched:bind======================================================================================
PackageKit-device-rebind.i686:
bind.i686:TheBerkeleyInternetNameDomain(BIND)DNS(DomainNameSystem)server
bind-chroot.i686:,named(8)
bind-utils.i686:
其中各软件包的作用如下:
1)、bind: 提供域名服务的主要程序及相关文件。
2)、bind-chroot:为bind提供一个伪装的根目录以增强安全性。
3)、bind-utils:提供对DNS服务器测试的工具程序(如nslookup、dig等)。
3、安装BIND软件包
#yuminstall*bind*
4、配置DNS服务器:
1)、bind服务器端程序
主要执行程序:/usr/sbin/named
服务脚本:、etc/init.d/named
默认监听端口:53
主配置文件: /etc/named.conf
保存DNS解析记录的数据文件: /var/named/chroot/var/named
2)、查询bind程序的配置文件列表
[root@localhost~]#rpm-qcbind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
3)、查看主配置文件named.conf
#vim/etc/named.conf
4)、主配置文件解析:
a、全局配置部分,默认的全局配置项如下:
options{
11listen-onport53{127.0.0.1;};//监听的端口和接口IP地址
12listen-on-v6port53{::1;};
13directory"/var/named";//dns区域的数据文件默认存放位置
14mp-file"/var/named/data/cache_mp.db";
15statistics-file"/var/named/data/named_stats.txt";
16memstatistics-file"/var/named/data/named_mem_stats.txt";
17allow-query{localhost;};//允许dns查询的客户机列表,any表示所有
18recursionyes;//是否允许客户机进行递归查询
19
20dnssec-enableyes;
21dnssec-validationyes;
22dnssec-lookasideauto;
23
24/*PathtoISCDLVkey*/
25bindkeys-file"/etc/named.iscdlv.key";
26};
全局配置中还有如下选项:
//将本域名服务器不能解析的条目转发给其它DNS服务器的IP地址
forwarders{202.102.24.68;12.3.3.3;};
b、默认的区域配置项如下:
35zone"."IN{
36typehint;//区域类型。hint为根区域;master为主区域;slave为辅助区域
37file"named.ca";//该区域对应的区域数据配置文件名
38};
区域配置中还有如下选项:
//允许下载区域数据库的从域名服务器IP地址
allow-transfer{189.98.90.23;};
//允许动态更新的客户端IP地址(none表示全部禁止)
allow-update{none;};
添加如下区域配置:
zone“my.com”IN{
typemaster;//主区域
file“my.com”;//该区域对应的区域数据配置文件名
allow-transfer{192.168.153.1;};//允许下载区域数据库的从域名服务器IP地址
allow-update{none;};
};
zone“153.168.192.in-addr.arpa”IN{//表示针对IP192.168.153.130反向解析
typemaster;//主区域
file“192.168.153.my.arpa”;//该区域对应的区域数据配置文件名
};
5)、配置完了,可以执行如下命令对named.conf文件进行语法检查。
#named-checkconf
注意:倒序网络地址.in-addr.arpa 表示反向区域
主配置文件最后还有一行是:
//该文件包含/etc/named.rfc1912.zones文件
include“/etc/named.rfc1912.zones”
区域数据配置文件:
先看一下named.localhost的内容:
$TTL1D//timetolive生存时间
@[email protected].(//”rname.invalid”DNS区域地址
0;serial//更新序列号
1D;refresh//更新时间
1H;retry//重试延时
1W;expire//失效时间
3H);minimum//无效地址解析记录的默认缓存时间
NS@//nameserver域名服务记录
A127.0.0.1//address只用在正向解析的区域数据文件中
AAAA::1
新建2个对应的区域数据配置文件:
#touchmy.com
#touch192.168.153.my.arpa
#vimmy.com
$TTL86400
@INSOAmy.com.admin.my.com(//admin.my.cm为该区域管理员的邮箱地址
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.//当前域的DNS服务器地址
INMX10mail.my.com.//用于设置当前域的邮件服务器域名地址,数字10表示优先级别,数字越大优先级越低
ns1INA192.168.153.130
mailINA192.168.153.130
wwwINA192.168.153.130
ftpINCNAMEwww//CNAME别名(canonicalname)记录,表示ftp.my.com和www.my.com对应同一个IP.
[root@localhostnamed]#vim192.168.153.my.arpa
$TTL86400
@INSOAmy.com.admin.my.com(
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.
130INPTRftp.my.com
启动DNS服务
[root@localhost~]#servicenamedstart
4、测试:
配置一台ftp服务器用于测试:
#servicevsftpdstart//启动vsftpd服务
当前网卡的配置:
eth0:192.168.0.1/24
eth1:192.168.153.130/24
[root@localhostnamed]#nslookup192.168.153.130
Server:127.0.0.1
Address:127.0.0.1#53
130.153.168.192.in-addr.arpaname=www.my.com.
[root@localhost~]#nslookupftp.my.com
Server:127.0.0.1
Address:127.0.0.1#53
ftp.my.comcanonicalname=www.my.com.
Name:www.my.com
Address:192.168.153.130
‘伍’ 如何在在Linux系统上配置DNS服务器
安装 BIND 软件包
1、安装
# yum -y install bind caching-nameserver
2、配置
下面的例子是以公网IP(172.16.0.80/29),局域网IP(192.168.0.0/24),域名(linuxde.net)作说明。在配置你自己的服务器时,请使用你自己的IP和域名。
# vim /etc/named.conf
options {
directory "/var/named";
# query range
allow-query { localhost; 192.168.0.0/24; };
# transfer range
allow-transfer { localhost; 192.168.0.0/24; };
# recursion range
allow-recursion { localhost; 192.168.0.0/24; };
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
# here is the section for internal informations
vimew "internal" {
match-clients {
localhost;
192.168.0.0/24;
};
zone "." IN {
type hint;
file "named.ca";
};
# set zones for internal
zone "linuxde.net" IN {
type master;
file "linuxde.net.lan";
allow-update { none; };
};
# set zones for internal
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.db";
allow-update { none; };
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
};
vimew "external" {
match-clients {
any;
};
zone "." IN {
type hint;
file "named.ca";
};
# set zones for external
zone "linuxde.net" IN {
type master;
file "linuxde.net.wan";
allow-update { none; };
};
# set zones for external *note
zone "80.0.16.172.in-addr.arpa" IN {
type master;
file "80.0.16.172.db";
allow-update { none; };
};
};
include "/etc/rndc.key";
# *note : For How to write for reverse resolvimng, Write network address reversely like below.
the case for 192.168.0.0/24
network address? 192.168.0.0
range of network? 192.168.0.0 - 192.168.0.255
how to write? 0.168.192.in-addr.arpa
case of 172.16.0.80/29
network address? 172.16.0.80
range of network? 172.16.0.80 - 172.16.0.87
how to write? 80.0.16.172.in-addr.arp
设置Zones
创建zone文件以便服务器能解析域名IP。
1、内部zone文件
这个例子使用的是内网地址(192.168.0.0/24),域名(linuxde.net),请根据自己的具体情况配置。
# vim /var/named/linuxde.net.lan
$TTL 86400
@ IN SOA ns.linuxde.net. root.linuxde.net. (
2007041501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
# define name server
IN NS ns.linuxde.net.
# internal IP address of name server
IN A 192.168.0.17
# define mail exchanger
IN MX 10 ns.linuxde.net.
# define IP address and hostname
ns IN A 192.168.0.17
2、外部zone文件
这个例子使用的是外网地址(172.16.0.80/29),域名(linuxde.net),请替换成自己的。
# vim /var/named/linuxde.net.wan
$TTL 86400
@ IN SOA ns.linuxde.net. root.linuxde.net. (
2007041501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
# define name server
IN NS ns.linuxde.net.
# external IP address of name server
IN A 172.16.0.82
# define Mail exchanger
IN MX 10 ns.linuxde.net.
# define IP address and hostname
ns IN A 172.16.0.82
创建zone文件使服务器能够反向解析IP到域名。
3、内部zone文件
这个例子使用的是内网地址(192.168.0.0/24),域名(linuxde.net),请使用自己的设置替换。
# vim /var/named/0.168.192.db
$TTL 86400
@ IN SOA ns.linuxde.net. root.linuxde.net. (
2007041501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
# define name server
IN NS ns.linuxde.net.
# define range that this domain name in
IN PTR linuxde.net.
# define IP address and hostname
IN A 255.255.255.0
17 IN PTR ns.linuxde.net.
4、外部zone文件
这例子使用外网地址(172.16.0.80/29),域名(linuxde.net),请替换成自己的。
# vim /var/named/80.0.16.172.db
$TTL 86400
@ IN SOA ns.linuxde.net. root.linuxde.net. (
2007041501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
# define name server
IN NS ns.linuxde.net.
# define range that this domain name in
IN PTR linuxde.net.
# define IP address and hostname
IN A 255.255.255.248
82 IN PTR ns.linuxde.net.
启动BIND
1、完成BIND的配置后,在启动named之前,还需要建立chroot环境。
# yum -y install bind-chroot
# /etc/rc.d/init.d/named start
# chkconfig named on
2、操作检验
确认服务器已经正确解析域名或IP地址。
# dig ns.linuxde.net.
; <<>> DiG 9.3.4 <<>> ns.linuxde.net.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54592
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;ns.linuxde.net. IN A
;; ANSWER SECTION:
ns.linuxde.net. 86400 IN A 192.168.0.17
;; AUTHORITY SECTION:
linuxde.net. 86400 IN NS ns.linuxde.net.
;; Query time: 0 msec
;; SERVER: 192.168.0.17#53(192.168.0.17)
;; WHEN: Thu Mar 8 19:35:19 2007
;; MSG SIZE rcvd: 68
# dig -x 192.168.0.17
; <<>> DiG 9.3.4 <<>> -x 192.168.0.17
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45743
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;17.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
17.0.168.192.in-addr.arpa. 86400 IN PTR ns.linuxde.net.
;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400 IN NS ns.linuxde.net.
;; ADDITIONAL SECTION:
ns.linuxde.net. 86400 IN A 192.168.0.17
;; Query time: 0 msec
;; SERVER: 192.168.0.17#53(192.168.0.17)
;; WHEN: Thu Mar 8 19:37:50 2007
;; MSG SIZE rcvd: 107
配置从DNS服务器
配置从DNS服务器比较简单。下面的例子主DNS是“ns.linuxde.net”,从DNS是“ns.example.info”。
1、在主DNS服务器的zone文件作如下配置
# vim /var/named/linuxde.net.wan
$TTL 86400
@ IN SOA ns.linuxde.net. root.linuxde.net. (
# update serial
2007041501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS ns.linuxde.net.
# add name server
IN NS ns.example.info.
IN A 172.16.0.82
IN MX 10 ns.linuxde.net.
ns IN A 172.16.0.82
# rndc reload
server reload successful
2、配置从DNS服务器
# vim /etc/named.conf
# add these lines below
zone "linuxde.net" IN {
type slave;
masters { 172.16.0.82; };
file "slaves/linuxde.net.wan";
};
# rndc reload
server reload successful
# ls /var/named/slaves
linuxde.net.wan # zone file in master DNS has been just transfered
设置别名记录,如果你想为你的主机设置另一个名称,在zone文件定义CNAME记录
# vim /var/named/server-Linux.info.wan
$TTL 86400
@ IN SOA ns.server-linux.info. root.server-linux.info. (
# update serial
2007041501 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
IN NS ns.server-linux.info.
IN A 172.16.0.82
IN MX 10 ns.server-linux.info.
ns IN A 172.16.0.82
# aliase IN CNAME server's name
ftp IN CNAME ns.server-linux.info.
# rndc reload
server reload successful
以下是一个整理的主配文件参数解释(仅供参考)/**/代表注释:
options { /*OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DI RECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到 /var/named 下,在这里你还可以指定端口等等。不指定则端口是53
*/
directory "/var/named";
}; //
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN { //在这个文件中是用zone关键字来定义域区的,一个zone关键字定义一个域区
type hint;
/*在这里type类型有三种,它们分别是master,slave和hint它们的含义分别是:
master:表示定义的是主域名服务器
slave :表示定义的是辅助域名服务器
hint:表示是互联网中根域名服务器
*/
file "named.ca"; //用来指定具体存放DNS记录的文件
};
zone "localhost" IN { //定义一具域名为localhost的正向区域
type master;
file "localhost.zone" ;
allow-update { none; };
};
zone "test.net" IN { //指定一个域名为test.net的正向区域
type master;
file "test.net”
allow-update { none;};
};
zone "0.0.127.in-addr.arpa" IN { //定义一个IP为127.0.0.*的反向域区
type master;
file "named.local";
allow-update { none; };
};
zone "0.192.168.in-addr.arpa" IN { //定义一个IP为168.192.0.*反向域区
type master;
file "168.192.0";
/var/named/test.net文件
@ IN SOA linux.test.net. Webmaster.test.net. ( SOA表示授权开始
/*上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表test.net,即表示一个域名记录定义的开始。而linux.test.net则是这个域的主域名服务器,而webmaster.test.net则是管理员的邮件地址。注意这是邮件地址中用.来代替常见的邮件地址中的@.而SOA表示授权的开始
*/
2003012101 ; serial (d. adams) /*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,也就对他们来说你更新是没有意义的。
*/
28800 ; refresh
/*定义的是以为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
*/
7200 ;retry
/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,则这个值规定了从服务多长时间后再试
*/
3600000 ; expiry
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的
*/
8400 )
/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记
录
*/
IN NS linux
IN MX 10 linux
linux IN A 168.192.0.14
it-test1 IN A 168.192.0.133
www IN CNAME linux
/*上面的第一列表示是主机的名字,省去了后面的域。
NS:表示是这个主机是一个域名服务器,
A:定义了一条A记录,即主机名到IP地址的对应记录
MX 定义了一邮件记录
CNAME:定义了对应主机的一个别名
/var/named/168.192.0
@ IN SOA linux.test.net. webmastert.linux.net. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.test.net.
/*以上的各关键字的含义跟test.net是相同的
14 IN PTR linux.test.net.
133 IN PTR it-test1.test.net.
/*
上面的第一列表示的是主机的IP地址。省略了网络地址部分。如14完整应该是:
168.192.0.14
PTR:表示反向记录
最后一列表示的是主机的域名。
‘陆’ RedHat-Linux配置DNS详细步骤是什么
RedHat-Linux服务器搭建DNS服务器;x0dx0aDNS domain name system 域名系统x0dx0a特点:(1)具备递归查询和迭代查询x0dx0a(2)分布式数据库x0dx0a(3)将域名解析为IPx0dx0a(4)具有主DNS服务器、辅DNS服务器和缓存DNS服务器三种类型x0dx0a(5)全球13台根域服务器x0dx0ax0dx0a以下是搭建步骤:x0dx0a1、准备软件包x0dx0abind.i386 --主服务软件包 x0dx0abind-chroot.i386 -- 笼环境软件包 x0dx0abind-devel.i386 --开发包x0dx0abind-libs.i386 --库文件x0dx0abind-utils.i386 --工具包x0dx0a[root@rootbug ~]# rpm -qa |grep ^bind- --rhel6.3下的包x0dx0abind-utils-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-chroot-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-libs-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-9.8.2-0.10.rc1.el6.x86_64x0dx0abind-dyndb-ldap-1.1.0-0.9.b1.el6.x86_64x0dx0a-------------看到软件包有点纠结,为啥呢??因为这些软件包的名字跟DNS这三个词每半点关系---------x0dx0a2、安装软件包x0dx0a[root@rootbug ~]#yum install bind* -yx0dx0a3、查看配置文件x0dx0aRHEL6下不管是安装了bind-chroot还是不安装,配置文件都是以/var/named.conf文件为主。x0dx0a(1)修改/etc/named.confx0dx0a[root@rootbug ~]#vim /etc/named.confx0dx0a-------省略其他万行代码----------------x0dx0ax0dx0aoptions {x0dx0alisten-on port 53 { any; }; --将原配置文件中的127.0.0.1改为any,表示监听所有x0dx0alisten-on-v6 port 53 { ::1; };x0dx0adirectory "/var/named"; --域的数据文件存放目录x0dx0amp-file "/var/named/data/cache_mp.db"; x0dx0astatistics-file "/var/named/data/named_stats.txt";x0dx0amemstatistics-file "/var/named/data/named_mem_stats.txt";x0dx0aallow-query { any; }; --将配置文件的localhost改为any,表示所有人能查询这台服务器x0dx0arecursion yes;x0dx0ax0dx0a-------省略其他万行代码----------------x0dx0a修改之后保存退出x0dx0a(2)配置/etc/named.rfc1912.zones,增加域的配置x0dx0a[root@rootbug ~]#vim /etc/named.rfc1912.zonesx0dx0a按照配置文件格式添加一个域,这里我添加一个rootbug.com的域,域的数据文件放在directory "/var/named"当前目录下的data下,名称为:master.rootbug.com.zone。配置域时请注意“;”分号。x0dx0azone "rootbug.com" IN {x0dx0atype master;x0dx0afile "data/master.rootbug.com.zone";x0dx0a};x0dx0a配置好之后保存退出。x0dx0a(3)创建master.rootbug.com.zone的数据文件x0dx0a[root@rootbug ~]#vim /var/named/data/master.cluster.com.zonex0dx0a$TTL 3600x0dx0a@ IN SOA rootbug. zhangsan. (x0dx0a2013090801 --版本号,下面的是各种时间,作用是主从DNS服务器的同步时间 )x0dx0aIN NS 172.16.2.151. --这里就是DNS服务器的IP(实际应该是公网IP,但这里是内网环境,所以写的内网IP),但是ip地址最后还有一个“.”记得加点,也可以写DNS服务器的外网域名;并且这里可以写多个NS,代表了你公司的多台DNS服务器x0dx0amail IN A 1.1.1.1 --A记录就是真正的数据,这里代表mail.rootbug.com的公网地址为1.1.1.1x0dx0adns IN A 172.16.2.151x0dx0abbs IN A 2.2.2.2x0dx0ax0dx0a保存退出x0dx0a(4)启动DNS服务器x0dx0a[root@rootbug ~]#/etc/init.d/named start ----第一次配置开启过程需要等待一段时间x0dx0a(5)客户端认证DNS服务器是否正确x0dx0awindows客户端认证x0dx0a在IP配置DNS栏中将首选DNS填写为172.16.2.151即可x0dx0aMicrosoft Windows XP [版本 5.1.2600]x0dx0a(C) 版权所有 1985-2001 Microsoft Corp.x0dx0ax0dx0aC:\Documents and Settings\ruutbug>nslookup mail.rootbug.comx0dx0a*** Can't find server name for address 172.16.2.151: Server failedx0dx0a*** Default servers are not availablex0dx0aServer: UnKnownx0dx0aAddress: 172.16.2.151x0dx0ax0dx0aName: mail.rootbug.comx0dx0aAddress: 1.1.1.1x0dx0aC:\Documents and Settings\ruutbug>nslookup dns.rootbug.comx0dx0a*** Can't find server name for address 172.16.2.151: Server failedx0dx0a*** Default servers are not availablex0dx0aServer: UnKnownx0dx0aAddress: 172.16.2.151x0dx0ax0dx0aName: dns.rootbug.comx0dx0aAddress: 172.16.2.151x0dx0aC:\Documents and Settings\ruutbug>nslookup bbs.rootbug.comx0dx0a*** Can't find server name for address 172.16.2.151: Server failedx0dx0a*** Default servers are not availablex0dx0aServer: UnKnownx0dx0aAddress: 172.16.2.151x0dx0ax0dx0aName: bbs.rootbug.comx0dx0aAddress: 2.2.2.2
‘柒’ Linux命令行模式下查询DNS包括NS记录利器dig命令详解
Dig简介:
Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具 。由于一直缺失
Dig man page文档,本文就权当一个dig使用向导吧。
Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包括在内,但是在linux系
统下,它通常是某个包的一部分,在Gentoo下是bind-tools,在Redhat/Fedora下是 bind-utils,或者在
Debian下是 dnsutils。
如果你要查找Bind的配置相关的信息,你参考我的文章:Bind for the mall LAN
( http://www.madboa.com/geek/soho-bind/ )。
看懂默认输出:
最简单最常见的查询是查询一台主机,但是默认情况下,Dig的输出信息很详细。你可能不需要所有的输出,
但是它确实值得知道。
=====================================================================
下面是一个带有注释的查询:
$ dig www.isc.org
上面是我调用dig 的命令行。
; DiG 9.2.3 www.isc.org
;; global options: printcmd
Dig的部分输出告诉我们一些有关于它的版本信息(version 9.2.3)和全局的设置选项,如果+nocmd在命令行下
是第一个参数的话,那么这部分输出可以通过加+nocmd的方式查询出来。
;; Got answer:
;; ->>HEADER
‘捌’ linux下如何配置DNS服务器,
在linux下配置DNS服务器,下面是配置过程中设置过的一些文件,
/etc/hosts 文件的具体内容如下:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost fc4
192.168.1.3 a.test.com a
192.168.1.1 b.test.cn b
/etc/host.conf 文件:
order hosts,bind
表示先用hosts文件做解析,在用DNS解析
/etc/resolv.conf 文件:
; generated by NetworkManager, do not edit!
search test.com
nameserver 127.0.0.1
search test.cn
nameserver 192.168.1.1
nameserver 61.144.56.100
/etc/named.conf 文件:
//
// named.conf for Red Hat caching-nameserver
//
options {
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "test.com"IN {
type master;
file "test.com";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa"IN {
type master;
file "192.168.1.rev";
allow-update { none; };
};
zone "test.cn"IN {
type master;
file "test.cn";
allow-update { none; };
};
zone "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.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
include "/etc/rndc.key";
在/var/name/test.com 文件下:
$TTL 86400
@ IN SOA a.test.com. root.a.test.com (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS a.test.com.
IN MX 10 mail.test.com.
a IN A 192.168.1.3
mail IN A 192.168.1.3
//其中root.a.test.com的含义是管理员的邮箱
/var/name/test.cn 文件下:
$TTL 86400
@ IN SOA b.test.cn. root.a.test.com (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS b.test.cn.
IN MX 10 mail.test.cn.
b IN A 192.168.1.1
mail IN A 192.168.1.1
/var/name/192.168.1.rev 文件下:
$TTL 86400
@ IN SOA 1.168.192.in-addr.arpa. root.test.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS a.test.com.
IN NS b.test.cn.
IN MX 10 mail.test.com.
IN MX 10 mail.test.cn.
3 IN PTR a.test.com.
3 IN PTR mail.test.com.
1 IN PTR b.test.cn.
1 IN PTR mail.test.cn.
然后用/etc/init.d/named restart重启DNS服务,在重启过程中,我曾经出现过好几次的错误,按照出错的提示,会提示是named.conf文件第几行出错的。或者提示在那些包含文件例如test.cn这些文件里面的问题,然后一个一个排除。
最后还有一些nslookup的命令比较有用:
set all用于显示使用nslookup工具这台机器上的DNS服务器的一些信息
set type=any会显示完整信息包括域中邮件服务器和主从DNS服务器的名字和IP地址
server 192.168.0.1更换查询的DNS服务器地址
‘玖’ RedHat-Linux配置DNS详细步骤是什么
RedHat-Linux服务器搭建DNS服务器;
DNS domain name system 域名系统
特点:(1)具备递归查询和迭代查询
(2)分布式数据库
(3)将域名解析为IP
(4)具有主DNS服务器、辅DNS服务器和缓存DNS服务器三种类型
(5)全球13台根域服务器
以下是搭建步骤:
1、准备软件包
bind.i386 --主服务软件包
bind-chroot.i386 -- 笼环境软件包
bind-devel.i386 --开发包
bind-libs.i386 --库文件
bind-utils.i386 --工具包
[root@rootbug ~]# rpm -qa |grep ^bind- --rhel6.3下的包
bind-utils-9.8.2-0.10.rc1.el6.x86_64
bind-chroot-9.8.2-0.10.rc1.el6.x86_64
bind-libs-9.8.2-0.10.rc1.el6.x86_64
bind-9.8.2-0.10.rc1.el6.x86_64
bind-dyndb-ldap-1.1.0-0.9.b1.el6.x86_64
-------------看到软件包有点纠结,为啥呢??因为这些软件包的名字跟DNS这三个词每半点关系---------
2、安装软件包
[root@rootbug ~]#yum install bind* -y
3、查看配置文件
RHEL6下不管是安装了bind-chroot还是不安装,配置文件都是以/var/named.conf文件为主。
(1)修改/etc/named.conf
[root@rootbug ~]#vim /etc/named.conf
-------省略其他万行代码----------------
options {
listen-on port 53 { any; }; --将原配置文件中的127.0.0.1改为any,表示监听所有
listen-on-v6 port 53 { ::1; };
directory "/var/named"; --域的数据文件存放目录
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; --将配置文件的localhost改为any,表示所有人能查询这台服务器
recursion yes;
-------省略其他万行代码----------------
修改之后保存退出
(2)配置/etc/named.rfc1912.zones,增加域的配置
[root@rootbug ~]#vim /etc/named.rfc1912.zones
按照配置文件格式添加一个域,这里我添加一个rootbug.com的域,域的数据文件放在directory "/var/named"当前目录下的data下,名称为:master.rootbug.com.zone。配置域时请注意“;”分号。
zone "rootbug.com" IN {
type master;
file "data/master.rootbug.com.zone";
};
配置好之后保存退出。
(3)创建master.rootbug.com.zone的数据文件
[root@rootbug ~]#vim /var/named/data/master.cluster.com.zone
$TTL 3600
@ IN SOA rootbug. zhangsan. (
2013090801 --版本号,下面的是各种时间,作用是主从DNS服务器的同步时间
30
60
90
3600 )
IN NS 172.16.2.151. --这里就是DNS服务器的IP(实际应该是公网IP,但这里是内网环境,所以写的内网IP),但是ip地址最后还有一个“.”记得加点,也可以写DNS服务器的外网域名;并且这里可以写多个NS,代表了你公司的多台DNS服务器
mail IN A 1.1.1.1 --A记录就是真正的数据,这里代表mail.rootbug.com的公网地址为1.1.1.1
dns IN A 172.16.2.151
bbs IN A 2.2.2.2
保存退出
(4)启动DNS服务器
[root@rootbug ~]#/etc/init.d/named start ----第一次配置开启过程需要等待一段时间
(5)客户端认证DNS服务器是否正确
windows客户端认证
在IP配置DNS栏中将首选DNS填写为172.16.2.151即可
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\ruutbug>nslookup mail.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151
Name: mail.rootbug.com
Address: 1.1.1.1
C:\Documents and Settings\ruutbug>nslookup dns.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151
Name: dns.rootbug.com
Address: 172.16.2.151
C:\Documents and Settings\ruutbug>nslookup bbs.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151
Name: bbs.rootbug.com
Address: 2.2.2.2