这篇文章将为大家详细讲解有关rhel6中dhcp和dns如何配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
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
-----------------
这里写几个常用的命令
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更新完成.
关于“rhel6中dhcp和dns如何配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。