分类: LINUX
2011-10-09 23:13:41
DNS & DHCP及其动态更新
一 DNS简易设置
1安装相关软件包
#yum install bind bind-chroot
#vi /etc/sysconfig/named //该文件中指明了,named将在/var/named/chroot提供 的环境中运行,而不是直接到/etc/name*类的文件中设置
2产生相关配置文件
进入chroot提供的环境
#cd /var/named/chroot
#cd etc/ //对应到/etc
启动named服务
#/etc/init.d/named start
#ls //发现/etc/name*的部分文件产生在该etc目录下
3编辑两个配置文件
step1 #vi /var/named/chroot/etc/named.conf
修改如下:
// listen-on port 53 { 127.0.0.1; }; 注释掉监听本地端口,即监听所有端口
// allow-query { localhost; }; 注释掉只允许本机查询,即所有都可查询
在文件末,加上如下内容:
zone "example.org" IN { 设置解析域ZONE
type master;
file "example.org.zone"; 对应文件设在/var/named/chroot/var/named/
}; 下的example.org.zone ,需自建
step2 #cd /var/name/chroot/var/named/
#cp -p named.localhost example.org.zone 注意参数“-p” ,即连带权限复制
修改如下:
$TTL 1D
@ IN SOA @ root. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.0.37
www A 192.168.0.38 添加A记录
step3重载与重启服务
#rndc reload
#/etc/init.d/named restart
检测一下
修改使用名称服务器
#vi /etc/resolv.conf
将nameserver 改为使用刚建好的nameserver
格式:
nameserver IP 新建的nameserver名称服务器IP
如nameserver 192.168.0.20
#dig 也许需要重启以上相关服务,此步可提前
4设置远程更新解析域内容
step1 添加设置参数
#vi /var/named/chroot/etc/named.conf
改变如下:
zone “example.org” IN {
type master;
file “example.org.zone”;
allow-update {192.168.0.254;}; 允许该主机远程更新
};
#rndc reload
step2修改权限,允许更新
#chmod g+w /var/named/chroot/var/named/
#getsebool -a |grep named
#setsebool -P named_write_master_zones on 允许修改
step3
远程添加记录
#nsupdate
>server 192.168.0.20 此为nameserver IP
>zone example.org 指定ZONE域
>update add bbs.example.org. 500 A 192.168.0.20 500为缓存时间,单位为s
>send 发送更新
>quit
更新完成后,在/var/named/chroot/var/named/目录中产生一个以jnl结尾的数据文件
本例为example.org.zone.jnl
#file example.org.zone.jnl
#cat example.org.zone 发现记录并未添加
#/etc/init.d/named restart
#cat example.org.zone 重启服务后再打开,记录添加啦!!!
删除已有记录
#nsupdate
>server 192.168.0.20
>zone example.org
>update delete bbs.example.org. 500 A 192.168.0.20
>send
>quit
重启named服务后,即可在example.org.zone中看到记录消失
5加密更新记录
step1 加密设置
#cd /var/named/chroot/etc/
#dnssec-keygen -a HMAC-MD5 -b 128 -h HOST linux
-a 指定算法
-b 指定密码长度,单位bit
#ls 即可看到新增的2个加密文件,为K*.key K*.private
#cat rndc.key
step2修改配置
#cat K*.key 获得加密密码
#vi named.conf
添加:
key “linux” {
algorithm hmac-md5; 此为加密算法
secret “xruBD59R3As=”; 此为加密密码
};
将allow-update {192.168.0.20;}; 改为:
allow-update { key linux;}; 指明以加密key linux更新
step3 以加密方式更新记录
#cd /var/named/chroot/etc/
#nsupdate -k K*.key
>server 192.168.0.20
>zone example.org
>update add bbs.example.org. 600 A 192.168.0.20
>send
>quit
若为删除已有记录,将add改为delete即可
重启相关服务,即可检验
#rndc reload
#/etc/init.d/named restart
#dig bbs.example.org
p { margin-bottom: 0.08in; }
二 DHCP设置
1下载软件
#yum install dhcpd -y
#cat /etc/dhcp/dhcpd.conf 该文件提示了软件提供的设置模板,路径为
/usr/share/doc/dhcp-4*/dhcpd.conf.sample
2 产生配置文件
#cp /usr/share/doc/dhcp-4*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
3编辑
#vi /etc/dhcp/dhcpd.conf
内容如下:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.30 192.168.0.50; 指定分享IP的范围,IP池
option domain-name-servers 192.168.0.20; 指定DNS服务器
option domain-name “example.org”; 指定域名
default-lease-time 600;
max-lease-time 7200;
}
#/etc/init.d/dhcpd restart
4 在客户端中检测
#vi /etc/resolv.conf 更改使用的DNS服务器
nameserver 192.168.0.20
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=“dhcp” 设置为IP动态获取
#/etc/init.d/network restart 重启网络获取IP,也可重启该主机
#ifconfig
在服务端查看
#cd /var/lib/dhcpd
#ls
#cat dhcpd.leases 即可看到分到IP的主机及其MAC地址
5设置固定DHCP IP
在DHCP服务端,
#vi /etc/dhcp/dhcpd.conf
添加:
host www{
hardware ethernet 52:54:00:09:ad:35; 指定客户端MAC地址
fixed-address 192.168.0.55; 指定固定IP,可以为IP池内,也可为
} 其他
#/etc/init.d/dhcpd restart
在客户端
#/etc/init.d/network restart
#ifconfig
记录动态自动更新
step1 主机设置
#vi /etc/dhcp/dchpd.conf
添加内容如下:
ddns-update-style interim;
key linux {
algorithm hma-md5;
secret xruBD59R3As=;
}; 此处设置与named.conf中的设置相同
zone example.org. {
primary 127.0.0.1; 指定以本机作为主DNS
key linux;
}
#/etc/init.d/dhcpd restart
注:执行此操作时,请将固定DHCP Ip的设置注销,以免出现问题
step2 客户端设置
#vi /etc/dhcp/dhclient.conf 该文件未创建
内容如下:
send fqdn.fqdn "station13.example.com."; 该客户端主机名
send fqdn.encoded on;
send fqdn.server-update on;
#/etc/init.d/network restart 重新获取IP
注:RHEL6之前的版本客户端设置文件为/etc/dpclient.conf,RHEL6 为/etc/dhcp/dhclient.conf
重启相关服务后,可到服务端主机查看
# cat /var/lib/dhcpd/dhcpd.leases 客户端主机记录中有新的内容