Annotation of embedaddon/dhcping/dhcping.pod, revision 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>