03
2020
06
00:21:22

dhcp dns配置小贴士



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

dhcp配置

案例

/etc/dhcp/dhcpd.conf

subnet 192.168.10.0 netmask 255.255.255.0 {

  range 192.168.10.20 192.168.10.30;

  option routers 192.168.10.1;

  default-lease-time 600;

  max-lease-time 7200;

}


service dhcpd start

chkconfig dhcpd on


dns配置

案例

公司的内部域名是blog.com,需要建立DNS对blog.com域内主机的解析。


配置过程:

1、安装RadHad 6下的DNS软件

2、检查BIND是否安装

rpm -qa | grep bind  #查询是否安装了bind软件

3、如果没有,就使用YUM安装

yum -y install bind*

会装三个包

bind-utils-9.8.2-0.10.rc1.el6.x86_64

bind-chroot-9.8.2-0.10.rc1.el6.x86_64

bind-9.8.2-0.10.rc1.el6.x86_64

装完后,会生成一个named用户

4、修改主配文件

/etc/named.conf

options {

listen-on port 53 { any; };

listen-on-v6 port 53 { ::1; };

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     { 192.168.10.0/24; };

recursion yes;


文件最后两句

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

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


补充:

recursion yes; #轮训查找

forward first; //forward指令用户设置DNS转发的工作方式,可以设置"first"或是"only","first"设置优先使用forwardersDNS服务器做域名解析,如果查询不到再使用本地DNS服务器作域名解析;"only"设置只使用forwarders DNS服务器做域名解析,如果查询不到则返回DNS客户端查询失败.这条一般不要写来得好点.

forwarders { 202.96.128.166;202.96.128.86; };

};



接下来修改

/etc/named.rfc1912.zones 

zone "localhost.localdomain" IN { #本地主机全名解析

type master; #类型为主域

file "named.localhost"; #域配置文件(文件存放在/var/named目录中)

allow-update { none; }; #不允许客户端更新

};

对此做修改

zone "blog.com" IN {

type master;

file "blog.com.zone";

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 { #ipv6本地地址反向解析

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 "10.168.192.in-addr.arpa" IN {

type master;

file "192.168.10.arpa";

allow-update { none; };

};


zone "0.in-addr.arpa" IN { #本地全网地址反向解析(和/域更新用的)

type master;

file "named.empty";

allow-update { none; };

};


/var/named/named.localhost文件分析

$TTL 1D #更新为最长1天

@(使用域的域名) IN SOA(权威DNS服务器) @(权威DNS服务器的名称) rname.invalid.(rname@invalid的邮件) (

0 ; serial #域名版本号,主域版本号要比辅域版本号大,辅域才会进行同步.

1D ; refresh #辅助域名服务器刷新时间

1H ; retry #辅助域名服务器重新检测时间

1W ; expire #辅助域名服务器放弃检测时间

3H ) ; minimum #有效的最小生存期限   #以上这五个参数是控制辅助域名服务和主域名服务通信用的

NS(域名服务器) @(域名服务器名称)

A(正向解析) 127.0.0.1(正向解析的ip)

AAAA(ipv6正向解析) ::1(ipv6正向解析的ip)


cd /var/named

cp -p named.localhost blog.com.zone

cp -p named.localhost 192.168.10.arpa


然后修改blog.com.zone

[root@test1 named]# cat blog.com.zone 

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

AAAA ::1

test1   A  192.168.10.119

DNS1   CNAME test1

ftp     A  192.168.10.119

mail    A  192.168.10.119

test2   A  192.168.10.27 

@   MX  5  mail.blog.com.

$GENERATE  10-50  test$  A  192.168.10.$


2、重启named服务

service named restart

chkconfig named on

netstat -anpl|grep :53


3、客户端做测试

客户端不需要配置/etc/hosts

只需配置/etc/resolv.conf

# cat /etc/resolv.conf

; generated by /sbin/dhclient-script

search  blog.com

nameserver 192.168.10.119


正向解析


做blog.com的域内主机解析


1、nslookup

# nslookup

> test1.blog.com

Server: 192.168.10.119

Address: 192.168.10.119#53


Name: test1.blog.com

Address: 192.168.10.119

> test2.blog.com

Server: 192.168.10.119

Address: 192.168.10.119#53


Name: test2.blog.com

Address: 192.168.10.27

2、dig

# dig test2.blog.com


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> test2.blog.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19253

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2


;; QUESTION SECTION:

;test2.blog.com. IN A


;; ANSWER SECTION:

test2.blog.com. 86400 IN A 192.168.10.27


;; AUTHORITY SECTION:

blog.com. 86400 IN NS blog.com.


;; ADDITIONAL SECTION:

blog.com. 86400 IN A 127.0.0.1

blog.com. 86400 IN AAAA ::1


;; Query time: 1 msec

;; SERVER: 192.168.10.119#53(192.168.10.119)

;; WHEN: Sun Aug 24 01:17:29 2014

;; MSG SIZE  rcvd: 106


3、host

# host test1.blog.com

test1.blog.com has address 192.168.10.119

# host test2.blog.com

test2.blog.com has address 192.168.10.27


4、关闭named服务后,所有解析将出错。


5、这里写一下bind的启动与停止:

/etc/rc.d/init.d/named  #bind的启动脚本

service named start #启动bind服务器命令

service named stop #停止bind服务器命令

service named status #查询bind服务器状态命令

service named restart #重新启动bind服务器命令

--------------



反向解析


反向解析test.com的www主机


在/etc/named.rfc1912.zones文件中开启10.168.192.in-addr.arpa的反向域名

vi /etc/named.rfc1912.zones

添加

zone "10.168.192.in-addr.arpa" IN {

type master;

file "192.168.10.arpa";

};

2、在/var/named中添加192.168.100.rev文件

cd /var/named

cp named.localhost 192.168.100.arpa

vi 192.168.100.arpa

修改为

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS @

A 127.0.0.1

119 IN PTR test1.blog.com.  #此处 1 是IP地址的最后一个 "."后面的数字

27  IN PTR test2.blog.com.

----------

PTR 反向解析的意思

119.10.168.192.in-addr.arpa. IN PTR test1.blog.com.

192.168.10.119的反向解析的域名是test1.blog.com

测试一下

[root@localhost network-scripts]# host 192.168.10.119

119.10.168.192.in-addr.arpa domain name pointer test1.blog.com.

[root@localhost network-scripts]# host 192.168.10.27

27.10.168.192.in-addr.arpa domain name pointer test2.blog.com.





配置辅助域名服务器


辅助域名服务器的配置比较简单,只需要修改name.conf以及named.rfc1912.zones两个文件,辅助域名服务器的区域解析文件是从主DNS服务器上继承下来的,因此不必再作设置。最简单的方法就是直接从主DNS服务器上去复制了。因为,事实上name.conf的设置和主DNS服务器是完全一样的,这里就不作配置说明了。


唯一不一样的就是在写正向或是反射域名解析时将type 后面的参数写成 slave 和加上一句 masters{主域的IP;}就可以了.


1、named安装跟主服务器一样,主配文件的修改

/etc/named.conf

options {

listen-on port 53 { any; };

listen-on-v6 port 53 { ::1; };

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     { 192.168.10.0/24; };

recursion yes;

        allow-transfer  { 192.168.10.120; };


重启named服务

service named restart

chkconfig named on


2、假设主域服务器的IP地址是:192.168.10.119,在从域名服务器上

#vi /etc/named.rfc1912.zones

添加

zone "blog.com" IN {

        type slave;  #这个地方在主域上是写master,而在这里就应该写slave.

        file "slaves/blog.com.zone";   #这个写得跟主域一样就好了

        masters{192.168.10.119;}   #这里写上主域的IP地址.

        allow-update { none; };

};


zone "10.168.192.in-addr.arpa" IN {

        type slave;

        file "slaves/10.168.192.arpa";

        masters{192.168.10.119;}

        allow-update { none; };

};


其余的都不动了,重启named服务后,正反区域文件会自动从主域名服务器上继承过来的.同步过来的文件就会放在 /var/named/slaves里的,为什么是这个目录呢,在named.conf里定义了一个工作目录是/var/named,而在这里又加上了slaves,所以就是/var/named/slaves了.


3、测试

在另一台计算机上,设置从DNS的地址,然后进行解析测试



4,注意,这里同步要看一下主域上区域文件的版本号,版本要比辅域上要大才会同步,有时候不能同步时,往往要修改版本号才会同步.


5、如果你删除了slaves目录,自己重建了另一个目录,即使重设了目录权限和属主与原一样,还是会发现正反区域文件无数据同步过来,这是因为selinux权限造成的,重新设置一下即可。

#man  named_selinux

BOOLEANS

       SELinux policy is customizable based on least access  required.   named

       policy is extremely flexible and has several booleans that allow you to

       manipulate the policy and run named with the tightest access  possible.


       If  you  want  to  allow BIND to write the master zone files. Generally

       this is used for dynamic DNS or zone transfers, you must  turn  on  the

       named_write_master_zones boolean.


       setsebool -P named_write_master_zones 1


wKioL1P5qvCQAloiAAEdLdxBY4o843.jpg

-----------------

这里写几个常用的命令

1,tail /var/log/messages   #查看日志,方便定位我们的服务器问题出在哪里.

2,ps aux |grep named   #查看named进程运行用户

3,ls -ld /var/named/slaves  #打印出/var/named/slaves的目录权限出来,方便查看用户是不有读写权限

4,chmod g+w /var/named/   #修改群用户对/var/named/目录的写权限



------------------

这里写一下辅域同步时的一些问题

1,zone XXX.XXX.XXX.in-addr.arpa/IN: refresh: unexpected rcode (SERVFAIL) from master XXX.XXX.XXX.XXX#53 (source 0.0.0.0#0)

这个问题是本人测试很多次,查找了很多资料,最后解决方式是把反解析区域文件重新写了一遍就可以,本人也不清楚是哪写错了.

2,dumping master file: tmp-XXXXXXXXX: open: permission denied

这个问题是由辅域服务存放区域文件的目录没有写的权限,添加上写的权限就可以.

3,transfer of 'blog.com/IN' from XXX.XXX.XXX.XXX#53: failed to connect: host unreachable

这个问题,可以用辅去ping一下主域,若是通的话就可能是主域防火墙开着的问题;若是不通的话就是网络问题.


4,zone test.com/IN: refresh: retry limit for master XXX.XXX.XXX.XXX#53 exceeded (source 0.0.0.0#0)

这个问题是防火墙开着原因,可以用其他PC去telnet一下主域服务器的53端口,若是不通的话就可以关闭主域的防火墙.

------------------

主辅DNS区域复制原理:master DNS服务器每次修改完成并重启服务后,将传送notify给所有的slave DNS服务器.slave DNS服务器将查询master服务器的SOA记录,master DNS服务器收到请求后将SOA记录发送给Slave DNS服务器,Slave DNS服务器收到后同时对比查询结果中的serial值,如果serial值不大于本机的话将结束数据同步过程;但是如果serial值大于本机的话,slave DNS将发送zone transfer请求要求(AXFR/IXFR).Master响应zone transfer请求并传送结果,直到整个slave更新完成.


本文链接:https://hqyman.cn/post/1340.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: