1、查看linux下dhcp服务器分配出去的IP地址及剩余IP地址怎样查看linux下dhcp服务器分配出去的IP地址及剩余IP地址 1。你可以查看防火墙信息,如图,可以清晰的看到,192.1681.200的IP给了哪个MAC地址 2. /var/lib/dhcpd/dhcpd.leases 这个文件专门记录了DHCP的分配情况一、介绍由于 ISC DHCP 没有提供相应的统计工具,所以只能自己动手写一个。 上也有很多,例如QUOTE:php DHCP hosts list : 一个 php 脚本,用于列出一个 DHCP 服务器上的 host 信息rogueDetect :发送一个“诱骗”作用的
2、DHCP DISCOVER ,并等待非权威的 DHCP 服务器消息,以找出未授权的 DHCP 服务器phpDHCPAdmin :一个基于 web 界面的管理 DHCP 工具。有认证、错误检查、数据库驱动,简单易用Analyzes of behavior of protocol DHCP :dhcpmap 能够“注入”和捕捉 DHCP 流量dhcpphp :一个 PHP 脚本,用于显示一个 DHCP 服务器的 leases 记录webDHCP :类似 phpDHCPAdmin 的工具DHCP lease parser :是一个简单的守护进程,它把 DHCP 服务器的 leases 状态的变化记录
3、到一个数据库,以便历史查询。同时该工具还提供了一个历史记录以供查询Lanloard DHCP lease tracker :一个 CGI 程序,用于跟踪 DHCP leasesISC DHCP dhcpd.conf parser and editor :以一个友好的界面方便你编辑 dhcpd.confDHCPdetector :用于检测网络上的 DHCP 服务,主要是为了找出 rogue DHCPreportdhcp.pl :一个用于汇报 DHCP 统计信息的 perl 脚本,需要启用 web 服务所以俺也动手写了一个,功能比较简单,主要有 :1、查询某个 mac 的租用记录 (v1.0)2、
4、查询某个 ip 地址的租用记录 (v1.0)3、查询某个主机名的租用记录 (v1.0)4、允许指定查询的开始时间和结束时间。开始时间默认为当天0点,结束时间默认为当前。(v1.0)5、列出所有曾经被租用的 ip 以及它们目前的状态 (v1.0)6、许指定某个备份的 lease.record. 进行查询。(v1.1)7、每月15日的0点10分自动把 lease 记录以 lease.record. 备份,所以意味着默认只能查15天内的数据 (v1.1)二、限制目前暂时不考虑 DHCP Failover 以及 DHCP Omshell 的分析(这两个东西都会在 dhcpd.leases 中写数据)。
5、该脚本只记录客户机的 mac、客户机的主机名(如果有的话)以及 lease 的开始/结束时间/状态。由于环境所限,只有1台客户机可供测试,所以欢迎各位朋友多多指正三、 脚本组成a) lease_wath.sh ,主要是跟踪 /var/lib/dhcp/dhcpd.leases 文件的输出,并固定输出到某个文件(默认是 /tmp/lease.record)。 每次只能启动一个 lease_watch.sh ,否则程序会报错(Error!Another lease_watch is running!)b) parse.sh :完成上述的功能的第16 项 。c) rotate.sh :每月15日的0
6、点10分自动把当前的 /tmp/lease.record 备份为 /tmp/lease.record. ,同时重启 lease_watch。四、屏幕截图按 ip 选择:按 mac 选择 :按 hostname 选择:指定某个历史文件进行查询列出所有曾经被租用的 ip 以及其状态 :语法 :=从dhcpd.lease中提取MAC和IP地址. 2008-01-10 22:17:26从DHCP的log中提取MAC和IP地址./var/lib/dhcpd/dhcp.lease中的一段记录如下: lease 192.168.1.238 starts 0 2007/11/25 11:57:41;ends
7、0 2007/11/25 17:57:41;tstp 0 2007/11/25 17:57:41;binding state free;hardware ethernet 00:0c:29:ac:4e:01;uid 377eth0000001000001016354015J000014)254N001;# cat dhcpd.leases | egrep lease|hardware | sed s/lease/g | sed s/g | sed s/hardware ethernet/g网友给的办法.测试了一下.重复的较多.主要是出现了.同一个MAC多次获取不同的IP地址的情况在CU上找到更
8、好的命令urlcat dhcpd.leases|awk BEGINRS=ORS=print $2,$21,n或者awk BEGINRS=ORS=print $2,$21,n dhcpd.leases解释:RS 输入的记录他隔符 新行ORS 输出的记录分隔符 新行从头查找,遇到结束,显示第2和第21个字段.ip在第2个字段.mac在第21个字段.这样出来的结果基本符合我们的要求.All so 192.168.1.250 00:0c:29:ac:4e:01; 192.168.1.238 00:0c:29:ac:4e:01; 192.168.1.241 00:0c:29:ac:4e:01; 192.
9、168.1.246 00:0c:29:ac:4e:01; 192.168.1.248 00:0c:29:ac:4e:01; 192.168.1.251 00:0c:29:05:ac:8a; 192.168.1.253 00:0c:29:c2:b3:44; 192.168.1.247 00:0a:eb:f3:39:dd; 192.168.1.254 00:0c:29:c2:b3:44; 192.168.1.249 00:0c:29:a8:c7:0a; 192.168.1.245 00:0c:29:79:e2:aa; 192.168.1.244 00:0c:29:79:e2:aa; 192.168
10、.1.243 00:0c:29:9d:e8:d8; 192.168.1.240 00:0c:29:a8:59:21; 192.168.1.242 00:0c:29:9d:e8:d8; 192.168.1.239 00:16:d3:b6:1b:d2; 缺点就是第一行多了All so 每一行多了,也就是说我们要把这个结果再处理一下.去掉第一行和最后一行,并把它排序.改进一下命令,由于dhcpd.lease前面7行都是注释的内容,我们跳过这些行tail -n +8 dhcpd.lease 从第8行开始显示dhcpd.lease文件#tail -n +8 dhcpd.leases|less|awk B
11、EGINRS=ORS=print $2,$21,n192.168.1.252 00:0c:29:ac:4e:01; 192.168.1.250 00:0c:29:ac:4e:01; 192.168.1.238 00:0c:29:ac:4e:01; 192.168.1.241 00:0c:29:ac:4e:01; 192.168.1.246 00:0c:29:ac:4e:01; 192.168.1.248 00:0c:29:ac:4e:01; 192.168.1.251 00:0c:29:05:ac:8a; 192.168.1.253 00:0c:29:c2:b3:44; 192.168.1.2
12、47 00:0a:eb:f3:39:dd; 192.168.1.254 00:0c:29:c2:b3:44; 192.168.1.249 00:0c:29:a8:c7:0a; 192.168.1.245 00:0c:29:79:e2:aa; 192.168.1.244 00:0c:29:79:e2:aa; 192.168.1.243 00:0c:29:9d:e8:d8; 192.168.1.240 00:0c:29:a8:59:21; 192.168.1.242 00:0c:29:9d:e8:d8; 192.168.1.239 00:16:d3:b6:1b:d2; 现在还有该死的,我们用sed
13、命令把它替换掉.sed s/g 替换所有的为空#tail -n +8 dhcpd.leases|less|awk BEGINRS=ORS=print $2,$21,n|sed s/g192.168.1.252 00:0c:29:ac:4e:01; 192.168.1.250 00:0c:29:ac:4e:01; 192.168.1.238 00:0c:29:ac:4e:01; 192.168.1.241 00:0c:29:ac:4e:01; 192.168.1.246 00:0c:29:ac:4e:01; 192.168.1.248 00:0c:29:ac:4e:01; 192.168.1.2
14、51 00:0c:29:05:ac:8a; 192.168.1.253 00:0c:29:c2:b3:44; 192.168.1.247 00:0a:eb:f3:39:dd; 192.168.1.254 00:0c:29:c2:b3:44; 192.168.1.249 00:0c:29:a8:c7:0a; 192.168.1.245 00:0c:29:79:e2:aa; 192.168.1.244 00:0c:29:79:e2:aa; 192.168.1.243 00:0c:29:9d:e8:d8; 192.168.1.240 00:0c:29:a8:59:21; 192.168.1.242
15、00:0c:29:9d:e8:d8; 192.168.1.239 00:16:d3:b6:1b:d2; 我们再把结果排序一下,让它看上去舒服一些.#tail -n +8 dhcpd.leases|less|awk BEGINRS=ORS=print $2,$21,n|sed s/g|sort -n192.168.1.238 00:0c:29:ac:4e:01; 192.168.1.239 00:16:d3:b6:1b:d2; 192.168.1.240 00:0c:29:a8:59:21; 192.168.1.241 00:0c:29:ac:4e:01; 192.168.1.242 00:0c
16、:29:9d:e8:d8; 192.168.1.243 00:0c:29:9d:e8:d8; 192.168.1.244 00:0c:29:79:e2:aa; 192.168.1.245 00:0c:29:79:e2:aa; 192.168.1.246 00:0c:29:ac:4e:01; 192.168.1.247 00:0a:eb:f3:39:dd; 192.168.1.248 00:0c:29:ac:4e:01; 192.168.1.249 00:0c:29:a8:c7:0a; 192.168.1.250 00:0c:29:ac:4e:01; 192.168.1.251 00:0c:29
17、:05:ac:8a; 192.168.1.252 00:0c:29:ac:4e:01; 192.168.1.253 00:0c:29:c2:b3:44; 192.168.1.254 00:0c:29:c2:b3:44; 如果只是单纯要IP或者MAC列出IPcat dhcpd.leases|grep -o 列出MACcat dhcpd.lease|grep -o 本文出自 “风吹云动” 博客,请务必保留此出处1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。主要内容见表1 参数解释ddns-update-style配置DHCP
18、-DNS 互动更新模式。default-lease-time指定确省租赁时间的长度,单位是秒。max-lease-time指定最大租赁时间长度,单位是秒。hardware指定网卡接口类型和MAC地址。server-name通知DHCP客户服务器名称。get-lease-hostnames flag检查客户端使用的IP地址。fixed-address ip分配给客户端一个固定的地址。authritative拒绝不正确的IP地址的要求。2. DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等。主要内容见表2: 声明解释shared-network用来告知
19、是否一些子网络分享相同网络。subnet描述一个IP地址是否属于该子网。range 起始IP 终止IP提供动态分配IP 的范围。host 主机名称参考特别的主机。group为一组参数提供声明。allow unknown-clients deny unknown-client是否动态分配IP给未知的使用者。allow bootp;deny bootp是否响应激活查询。allow bootingdeny booting是否响应使用者查询。filename开始启动文件的名称,应用于无盘工作站。next-server设置服务器从引导文件中装如主机名,应用于无盘工作站。3. DHCP配置文件中的opti
20、on(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3: 选项解释subnet-mask为客户端设定子网掩码。domain-name为客户端指明DNS名字。domain-name-servers为客户端指明DNS服务器IP地址。host-name为客户端指定主机名称。routers为客户端设定默认网关。broadcast-address为客户端设定广播地址。ntp-server为客户端设定网络时间服务器IP地址。imeoffset为客户端设定和格林威治时间的偏移时间,单位是秒。+rpm -qa| grep dhcpd #查看主机是否安装dhcp包# cp
21、/usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf /var/lib/dhcpd/dhcpd.leases为dhcp服务器和客户端租约建立的启动和到期时间的记录文件。 # cat /etc/dhcpd.conf ddns-update-style none; #设置不要更新DDNS的设置 subnet 192.168.23.0 netmask 255.255.255.0 #定义网段IP范围,须在本机所处网段范围内,内的信息表示此网段的配置信息 # - default gateway option routers 192.168.23.1
22、; #设置客户端默认网关 option subnet-mask 255.255.255.0; #设置客户端子网掩码 option domain-name domain.org; #设置域名 option domain-name-servers 192.168.23.128; #设置网络内部DNS服务器的IP地址 option time-offset -18000; # Eastern Standard Time range dynamic-bootp 192.168.23.129 192.168.23.254; #定义DHCP地址池的服务范围,需排除静态地址 default-lease-tim
23、e 21600; #设置默认租约时间 max-lease-time 43200; #设置最大租约时间 host ns #设置静态IP地址,用于网络内固定服务器IP,不要置于定义好的DHCP地址池范围内,否则会引起IP冲突。 hardware ethernet 00:0C:29:00:5B:78; #设置静态主机的mac地址,与IP进行绑定 fixed-address 192.168.23.128; 配置/etc/dhcpd.conf #为注释,除括号一行外,每行都应以;结尾, 设置的项目都具有独特的名称。形式为,如default-time 20000 某些项目必须利用option设置,形式为o
24、ption 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地址
25、 server-name 通知DHCP客户服务器名称 get-lease-hostnames flag 检查客户端使用的IP地址 fixed-address ip 分配给客户端一个固定的地址 authritative 拒绝不正确的IP地址的要求 option(选项):用来配置DHCP可选参数,全部用option关键字作为开始 option routers:为客户端设定默认网关 option subnet-mask:为客户端设定子网掩码 option domain-name:为客户端指明DNS名字 option domain-name-servers:为客户端指明DNS服务器IP地址 optio
26、n timeoffset:为客户端设定和格林威治时间的偏移时间,单位是秒 option ntp-server:为客户端设定网络时间服务器IP地址 option host-name 为客户端指定主机名称。若客户端使用windows,不要选择host-name,即不要为其指定主机名称。 option broadcast-address 为客户端设定广播地址 declarations (声明):描述网络布局、提供客户的IP地址等 shared-network:告知是否一些子网络分享相同网络 subnet:描述一个IP地址是否属于该子网 range:起始IP 终止IP 提供动态分配IP 的范围 hos
27、t:主机名称参考特别的主机 group:为一组参数提供声明 allow unknown-clients/deny unknown-client:是否动态分配IP给未知的使用者 allow bootp/deny bootp:是否响应激活查询 allow booting/deny booting:是否响应使用者查询 filename:开始启动文件的名称,应用于无盘工作站 next-server:设置服务器从引导文件中装如主机名,应用于无盘工作站。 配置文件修改完成后,#/usr/sbin/dhcpd即可运行dhcpd服务,如有错误则会将错误信息显示在屏幕上。可以通过netstat unlt|gre
28、p 67查看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地址的过程 Oct 5 21:50:39 master dhcpd: DHCPDISCOVER from 00:0c:29:54:6b:77 via eth0
29、Oct 5 21:50:39 master dhcpd: DHCPOFFER on 192.168.23.132 to 00:0c:29:54:6b:77 (win2003) via eth0 Oct 5 21:50:39 master dhcpd: DHCPREQUEST for 192.168.23.132 (192.168.23.254) from 00:0c:29:54:6b:77 (win2003) via eth0 Oct 5 21:50:39 master dhcpd: DHCPACK on 192.168.23.132 to 00:0c:29:54:6b:77 (win2003) via eth0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1