查看linux下dhcp服务器分配出去的IP地址及剩余IP地址Word格式.docx
《查看linux下dhcp服务器分配出去的IP地址及剩余IP地址Word格式.docx》由会员分享,可在线阅读,更多相关《查看linux下dhcp服务器分配出去的IP地址及剩余IP地址Word格式.docx(15页珍藏版)》请在冰点文库上搜索。
开始时间默认为当天0点,结束时间默认为当前。
(v1.0)
5、列出所有曾经被租用的ip以及它们目前的状态(v1.0)
6、许指定某个备份的lease.record.<
date>
进行查询。
(v1.1)
7、每月15日的0点10分自动把lease记录以lease.record.<
备份,所以意味着默认只能查15天内的数据(v1.1)
二、限制
目前暂时不考虑DHCPFailover以及DHCPOmshell的分析(这两个东西都会在dhcpd.leases中写数据)。
该脚本只记录客户机的mac、客户机的主机名(如果有的话)以及lease的开始/结束时间/状态。
由于环境所限,只有1台客户机可供测试,所以欢迎各位朋友多多指正
三、脚本组成
a)lease_wath.sh,主要是跟踪/var/lib/dhcp/dhcpd.leases文件的输出,并固定输出到某个文件(默认是/tmp/lease.record)。
每次只能启动一个lease_watch.sh,否则程序会报错(Error!
Anotherlease_watchisrunning!
)
b)parse.sh:
完成上述的功能的第1~6项。
c)rotate.sh:
每月15日的0点10分自动把当前的/tmp/lease.record备份为/tmp/lease.record.<
,同时重启lease_watch。
四、屏幕截图
按ip选择:
按mac选择:
按hostname选择:
指定某个历史文件进行查询
列出所有曾经被租用的ip以及其状态:
语法:
========================
从dhcpd.lease中提取MAC和IP地址.2008-01-1022:
17:
26
从DHCP的log中提取MAC和IP地址.
/var/lib/dhcpd/dhcp.lease中的一段记录如下:
lease192.168.1.238{
starts02007/11/2511:
57:
41;
ends02007/11/2517:
tstp02007/11/2517:
bindingstatefree;
hardwareethernet00:
0c:
29:
ac:
4e:
01;
uid"
\377eth0\000\001\000\001\016\354\015J\000\014)\254N\001"
;
}
#catdhcpd.leases|egrep'
lease|hardware'
|sed'
s/lease//g'
s/{//g'
s/hardwareethernet//g
网友给的办法.测试了一下.重复的较多.主要是出现了.同一个MAC多次获取不同的IP地址的情况
在CU上找到更好的命令[url]
catdhcpd.leases|awk'
BEGIN{RS=ORS="
}"
}{print$2,$21,"
\n"
}'
或者
awk'
dhcpd.leases
解释:
RS输入的记录他隔符新行
ORS输出的记录分隔符新行
从头查找,遇到}结束,显示第2和第21个字段.ip在第2个字段.mac在第21个字段.
这样出来的结果基本符合我们的要求.
Allso
}192.168.1.25000:
}192.168.1.23800:
}192.168.1.24100:
}192.168.1.24600:
}192.168.1.24800:
}192.168.1.25100:
05:
8a;
}192.168.1.25300:
c2:
b3:
44;
}192.168.1.24700:
0a:
eb:
f3:
39:
dd;
}192.168.1.25400:
}192.168.1.24900:
a8:
c7:
0a;
}192.168.1.24500:
79:
e2:
aa;
}192.168.1.24400:
}192.168.1.24300:
9d:
e8:
d8;
}192.168.1.24000:
59:
21;
}192.168.1.24200:
}192.168.1.23900:
16:
d3:
b6:
1b:
d2;
}
缺点就是第一行多了Allso每一行多了},也就是说我们要把这个结果再处理一下.
去掉第一行和最后一行,并把它排序.
改进一下命令,由于dhcpd.lease前面7行都是注释的内容,我们跳过这些行
tail-n+8dhcpd.lease
从第8行开始显示dhcpd.lease文件
#tail-n+8dhcpd.leases|less|awk'
192.168.1.25200:
现在还有该死的},我们用sed命令把它替换掉.
sed'
s/}//g'
替换所有的}为空
|sed'
192.168.1.25000:
192.168.1.23800:
192.168.1.24100:
192.168.1.24600:
192.168.1.24800:
192.168.1.25100:
192.168.1.25300:
192.168.1.24700:
192.168.1.25400:
192.168.1.24900:
192.168.1.24500:
192.168.1.24400:
192.168.1.24300:
192.168.1.24000:
192.168.1.24200:
192.168.1.23900:
我们再把结果排序一下,让它看上去舒服一些.
|sort-n
如果只是单纯要IP或者MAC
列出IP
catdhcpd.leases|grep-o'
\<
[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\>
'
列出MAC
catdhcpd.lease|grep-o'
[0-9a-f]\{2\}:
[0-9a-f]\{2\}\>
本文出自“风吹云动”博客,请务必保留此出处
1.DHCP配置文件中的parameters(参数):
表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。
主要内容见表1
参数<
XMLNAMESPACEPREFIX="
O"
/>
解释
ddns-update-style
配置DHCP-DNS互动更新模式。
default-lease-time
指定确省租赁时间的长度,单位是秒。
max-lease-time
指定最大租赁时间长度,单位是秒。
hardware
指定网卡接口类型和MAC地址。
server-name
通知DHCP客户服务器名称。
get-lease-hostnamesflag
检查客户端使用的IP地址。
fixed-addressip
分配给客户端一个固定的地址。
authritative
拒绝不正确的IP地址的要求。
2.DHCP配置文件中的declarations(声明):
用来描述网络布局、提供客户的IP地址等。
主要内容见表2:
声明
shared-network
用来告知是否一些子网络分享相同网络。
subnet
描述一个IP地址是否属于该子网。
range起始IP终止IP
提供动态分配IP的范围。
host主机名称
参考特别的主机。
group
为一组参数提供声明。
allowunknown-clients﹔denyunknown-client
是否动态分配IP给未知的使用者。
allowbootp;
denybootp
是否响应激活查询。
allowbooting﹔denybooting
是否响应使用者查询。
filename
开始启动文件的名称,应用于无盘工作站。
next-server
设置服务器从引导文件中装如主机名,应用于无盘工作站。
3.DHCP配置文件中的option(选项):
用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:
选项
subnet-mask
为客户端设定子网掩码。
domain-name
为客户端指明DNS名字。
domain-name-servers
为客户端指明DNS服务器IP地址。
host-name
为客户端指定主机名称。
routers
为客户端设定默认网关。
broadcast-address
为客户端设定广播地址。
ntp-server
为客户端设定网络时间服务器IP地址。
time-offset
为客户端设定和格林威治时间的偏移时间,单位是秒。
++++++++++++++++++++
rpm-qa |grepdhcpd#查看主机是否安装dhcp包
#cp/usr/share/doc/dhcp*/dhcpd.conf.sample/etc/dhcpd.conf
/var/lib/dhcpd/dhcpd.leases为dhcp服务器和客户端租约建立的启动和到期时间的记录文件。
#cat/etc/dhcpd.conf
ddns-update-stylenone;
#设置不要更新DDNS的设置
subnet192.168.23.0netmask255.255.255.0{#定义网段IP范围,须在本机所处网段范围内,{}内的信息表示此网段的配置信息
#---defaultgateway
optionrouters192.168.23.1;
#设置客户端默认网关
optionsubnet-mask255.255.255.0;
#设置客户端子网掩码
optiondomain-name"
domain.org"
#设置域名
optiondomain-name-servers192.168.23.128;
#设置网络内部DNS服务器的IP地址
optiontime-offset-18000;
#EasternStandardTime
rangedynamic-bootp192.168.23.129192.168.23.254;
#定义DHCP地址池的服务范围,需排除静态地址
default-lease-time21600;
#设置默认租约时间
max-lease-time43200;
#设置最大租约时间
hostns{#设置静态IP地址,用于网络内固定服务器IP,不要置于定义好的DHCP地址池范围内,否则会引起IP冲突。
0C:
00:
5B:
78;
#设置静态主机的mac地址,与IP进行绑定
fixed-address192.168.23.128;
配置/etc/dhcpd.conf
#为注释,除括号一行外,每行都应以;
结尾,
设置的项目都具有独特的名称。
形式为<
参数代号>
<
设置内容>
,如default-time20000
某些项目必须利用option设置,形式为option<
参数代码>
DHCP的ip分为静态ip和动态ip,如果设置静态ip需要知道要设置主机的MAC地址,#ping目标主机ip,#arp–n查看。
parameters(参数):
表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户
Defaults-lease-time:
默认租约时间,默认单位为秒
Max-lease-time:
最大租约时间,客户端超过租约但尚未更新IP时,最长可以使用该IP的时间
ddns-update-style配置DHCP-DNS互动更新模式
default-lease-time指定确省租赁时间的长度,单位是秒
hardware指定网卡接口类型和MAC地址
server-name通知DHCP客户服务器名称
get-lease-hostnamesflag检查客户端使用的IP地址
fixed-addressip分配给客户端一个固定的地址
authritative拒绝不正确的IP地址的要求
option(选项):
用来配置DHCP可选参数,全部用option关键字作为开始
optionrouters:
为客户端设定默认网关
optionsubnet-mask:
为客户端设定子网掩码
optiondomain-name:
为客户端指明DNS名字
optiondomain-name-servers:
为客户端指明DNS服务器IP地址
optiontime-offset:
为客户端设定和格林威治时间的偏移时间,单位是秒
optionntp-server:
为客户端设定网络时间服务器IP地址
optionhost-name为客户端指定主机名称。
若客户端使用windows,不要选择host-name,即不要为其指定主机名称。
optionbroadcast-address为客户端设定广播地址
declarations(声明):
描述网络布局、提供客户的IP地址等
shared-network:
告知是否一些子网络分享相同网络
subnet:
描述一个IP地址是否属于该子网
range:
起始IP终止IP提供动态分配IP的范围
host:
主机名称参考特别的主机
group:
为一组参数提供声明
allowunknown-clients/denyunknown-client:
是否动态分配IP给未知的使用者
allowbootp/denybootp:
是否响应激活查询
allowbooting/denybooting:
是否响应使用者查询
filename:
开始启动文件的名称,应用于无盘工作站
next-server:
配置文件修改完成后,#/usr/sbin/dhcpd即可运行dhcpd服务,如有错误则会将错误信息显示在屏幕上。
可以通过netstat–unlt|grep67查看dhcp的信息。
也可以通过查看/var/log.messages查看dhcp的日志信息
DHCP客户端
1.配置网卡设置dhcp方式获取IP地址。
2.然后重启网卡获取IP地址,在服务器端可以查看/var/log/messages日志信息查看客户端是否在向DHCP客户端申请IP地址,可以查看/var/db/dhcp.leases查看租约申请记录。
3.#/var/log/messages服务器端日志查看dhcp客户端申请IP地址的过程
Oct521:
50:
39masterdhcpd:
DHCPDISCOVERfrom00:
54:
6b:
77viaeth0
DHCPOFFERon192.168.23.132to00:
77(win2003)viaeth0
DHCPREQUESTfor192.168.23.132(192.168.23.254)from00:
DHCPACKon192.168.23.132to00:
dhcpd.leases:
#cat/var/db/dhcpd.leases#dhcp服务器和客户端租约建立的启动和到期时间的记录文件,仅在客户端申请IP地址之后才会有:
………