Annotation of embedaddon/dhcping/dhcping.pod, revision 1.1.1.1

1.1       misho       1: #
                      2: # $Id: dhcping.pod,v 1.1 2002/01/27 01:57:15 mavetju Exp $
                      3: #
                      4: 
                      5: =head1 NAME
                      6: 
                      7: B<dhcping> - send a DHCP request to DHCP server to see if it's up and running
                      8: 
                      9: =head1 SYNOPSIS
                     10: 
                     11: B<dhcping>
                     12: [B<-v>] [B<-q>] [B<-i>] [B<-r>]
                     13: B<-t> I<maxwait>
                     14: B<-c> I<client-IP-address>
                     15: B<-s> I<server-IP-address>
                     16: B<-h> I<client-hardware-address>
                     17: [B<-g> I<gateway-IP-address>]
                     18: 
                     19: =head1 DESCRIPTION
                     20: 
                     21: This command allows the system administrator to check if a remote
                     22: DHCP server is still functioning.
                     23: 
                     24: Options are:
                     25: 
                     26: =over
                     27: 
                     28: =item B<-v>
                     29: 
                     30: Verbose, print some information.
                     31: 
                     32: =item B<-i>
                     33: 
                     34: Use DHCPINFORM packets.
                     35: 
                     36: =item B<-r>
                     37: 
                     38: Use DHCPREQUEST packets (default behaviour).
                     39: 
                     40: =item B<-q>
                     41: 
                     42: Quiet, print nothing on the screen.
                     43: 
                     44: =item B<-t> I<maxwait>
                     45: 
                     46: Maximum time to wait for an answer from the server in seconds.
                     47: Default is 3 seconds.
                     48: 
                     49: =item B<-c> I<client-IP-address>
                     50: 
                     51: Request this IP address. Note that this is also the IP address the
                     52: answer will be sent to.
                     53: 
                     54: =item B<-s> I<server-IP-address>
                     55: 
                     56: Send the DHCP packet to this IP address.
                     57: 
                     58: =item B<-h> I<client-hardware-address>
                     59: 
                     60: Use this hardware-address in the DHCP request. It can be up to
                     61: sixteen octets seperated by colons (i.e. 01:02:03:04)
                     62: 
                     63: =item B<-g> I<gateway-IP-address>
                     64: 
                     65: Use this IP address for the gateway IP address in the DHCP packet.
                     66: This option is currently broken.
                     67: 
                     68: =back
                     69: 
                     70: =head1 RETURN VALUES
                     71: 
                     72: If everything goes okay, it returns 0. If there went something
                     73: wrong, it returns 1.
                     74: 
                     75: =head1 SETUP
                     76: 
                     77: This program should be installed setuid root or ran by root only.
                     78: See SECURITY for more information.
                     79: 
                     80: On your DHCP server, add these lines to the dhcpd.conf:
                     81: 
                     82:   host <your monitoring host FQDN> {
                     83:      hardware ethernet <your monitor host mac address>;
                     84:      fixed-address     <your monitoring host IP address>;
                     85:   }
                     86: 
                     87: Then try it:
                     88: 
                     89: $ dhcping -c I<your monitoring host IP address> \
                     90:           -s I<your DHCP server IP address> \
                     91:           -h I<your monitor host mac address>
                     92: 
                     93: It will either respond with "no answer" or "Got answer from: I<your
                     94: DHCP server IP address>"
                     95: 
                     96: The DHCP server logfile will give:
                     97:  S<DHCPREQUEST for 192.168.1.1 from 00:20:18:56:29:8f via ed0>
                     98:  S<DHCPACK on 192.168.1.1 to 00:20:18:56:29:8f via ed0>
                     99:  S<DHCPRELEASE of 192.168.1.1 from 00:20:18:56:29:8f via ed0 (found)>
                    100: 
                    101: Running in DHCPINFORM mode with B<-i>:
                    102: 
                    103: If you see "DHCPINFORM from 192.168.1.1 via xl0: not authoritative
                    104: for subnet 192.168.1.0", you should add the authoritative statement
                    105: to the subnet, See dhcpd.conf(5) for details.
                    106: 
                    107: When running in very verbose mode, B<dhcping> tries to dump all
                    108: data of the send and received DHCP packets. It will first dump the
                    109: packet in hex-format, then decodes the header and finally the
                    110: options.
                    111: 
                    112: =head1 HOW IT WORKS
                    113: 
                    114: The client either sends a DHCPREQUEST or DHCPINFORM packet to the
                    115: server and waits for an answer. Then, if a DHCPREQUEST was send,
                    116: it will send a DHCPRELEASE back to the server.
                    117: 
                    118: =head1 SECURITY
                    119: 
                    120: This program is installed setuid root as it requires the privileges
                    121: to bind itself to port 68 (bootpc). Root privileges are dropped as
                    122: soon as the program has bound itself to that port.
                    123: 
                    124: =head1 BUGS
                    125: 
                    126: Currently (this may, or may not, change in the future) the ISC DHCP
                    127: daemon does not write leases with a fixed IP address in the
                    128: dhcpd.leases file.
                    129: 
                    130: DHCPINFORM packets can only be used on subnets the server is authori-
                    131: tative for. If the monitoring script runs on a subnet the server
                    132: isn't authoritative for, it should use the DHCPREQUEST packets. I
                    133: also experienced some problems with ISC DHCPD v2 servers, but that
                    134: is also in the README of it.
                    135: 
                    136: The B<-V> option is still working, but shouldn't be used for
                    137: debugging of the packets. Better use dhcpdump(8) for that, which
                    138: is available on my website. I wanted to remove it, but decided only
                    139: to do it from the documentation, not from the code. Maybe I'll need
                    140: it one day for debugging.
                    141: 
                    142: =head1 AUTHOR
                    143: 
                    144: Edwin Groothuis, edwin@mavetju.org (http://www.mavetju.org)
                    145: 
                    146: =head1 SEE ALSO
                    147: 
                    148: dhcpd(8), dhclient(8), dhcpd.conf(5), dhcpdump(8)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>