免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3265 | 回复: 0
打印 上一主题 下一主题

udhcpc 的配置记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-24 15:40 |只看该作者 |倒序浏览
udhcpc scripts
Here's some debian scripts I wrote for
udhcpc
0.9.6.  I wanted to make
it easy to run local scripts for DHCP changes so I created
/etc/udhcpc.d.  All the /usr/share/udhcpc/default.* scripts
have been merged into /etc/udhcpc.d/S50default.  S99local
is an example script that patches resolv.conf and calls
a DNS update script.
   
/etc/init.d/
udhcpc
/etc/
udhcpc.script
/etc/udhcpc.d/
S50default
/etc/udhcpc.d/
S99local
   
Last modified: Mon Feb  4 10:23:49 PST 2002
单调的分割线
http://udhcp.busybox.net/README.udhcpc
udhcp client (udhcpc)
--------------------
The udhcp client negotiates a lease with the DHCP server and notifies
a set of scripts when a leases is obtained or lost.
command line options
-------------------
The command line options for the udhcp client are:
-c, --clientid=CLIENTID         Client identifier
-H, --hostname=HOSTNAME         Client hostname
-h,                                Alias for -H
-f, --foreground                Do not fork after getting lease
-b, --background                Fork to background if lease cannot be
                                immediately negotiated.
-i, --interface=INTERFACE       Interface to use (default: eth0)
-n, --now                       Exit with failure if lease cannot be
                                immediately negotiated.
-p, --pidfile=file              Store process ID of daemon in file
-q, --quit                      Quit after obtaining lease
-r, --request=IP                IP address to request (default: none)
-s, --script=file               Run file at dhcp events (default:
                                /usr/share/udhcpc/default.script)
-v, --version                   Display version
If the requested IP address cannot be obtained, the client accepts the
address that the server offers.
udhcp client scripts
-------------------
When an event occurs, udhcpc calls the action script. The script by
default is /usr/share/udhcpc/default.script but this can be changed via
the command line arguments. The three possible arguments to the script
are:
        deconfig: This argument is used when udhcpc starts, and
        when a leases is lost. The script should put the interface in an
        up, but deconfigured state, ie: ifconfig $interface 0.0.0.0.
       
        bound: This argument is used when udhcpc moves from an
        unbound, to a bound state. All of the paramaters are set in
        enviromental variables, The script should configure the interface,
        and set any other relavent parameters (default gateway, dns server,
        etc).
       
        renew: This argument is used when a DHCP lease is renewed. All of
        the paramaters are set in enviromental variables. This argument is
        used when the interface is already configured, so the IP address,
        will not change, however, the other DHCP paramaters, such as the
        default gateway, subnet mask, and dns server may change.
        nak: This argument is used with udhcpc receives a NAK message.
        The script with the deconfig argument will be called directly
        afterwards, so no changes to the network interface are neccessary.
        This hook is provided for purely informational purposes (the
        message option may contain a reason for the NAK).
The paramaters for enviromental variables are as follows:
        $HOME                - The set $HOME env or "/"
        $PATH                - the set $PATH env or "/bin:/usr/bin:/sbin:/usr/sbin"
        $1                - What action the script should perform
        interface        - The interface this was obtained on
        ip                - The obtained IP
        siaddr                - The bootp next server option
        sname                - The bootp server name option
        boot_file        - The bootp boot file option
        subnet                - The assigend subnet mask
        timezone        - Offset in seconds from UTC
        router                - A list of routers
        timesvr                - A list of time servers
        namesvr                - A list of IEN 116 name servers
        dns                - A list of DNS server
        logsvr                - A list of MIT-LCS UDP log servers
        cookiesvr        - A list of RFC 865 cookie servers
        lprsvr                - A list of LPR servers
        hostname        - The assigned hostname
        bootsize        - The length in 512 octect blocks of the bootfile
        domain                - The domain name of the network
        swapsvr                - The IP address of the client's swap server
        rootpath        - The path name of the client's root disk
        ipttl                - The TTL to use for this network
        mtu                - The MTU to use for this network
        broadcast        - The broadcast address for this network
        ntpsrv                - A list of NTP servers
        wins                - A list of WINS servers
        lease                - The lease time, in seconds
        dhcptype        - DHCP message type (safely ignored)
        serverid        - The IP of the server
        message                - Reason for a DHCPNAK
        tftp                - The TFTP server name
        bootfile        - The bootfile name
additional options are easily added in options.c.
note on udhcpc's random seed
---------------------------
udhcpc will seed its random number generator (used for generating xid's)
by reading /dev/urandom. If you have a lot of embedded systems on the same
network, with no entropy, you can either seed /dev/urandom by a method of
your own, or doing the following on startup:
ifconfig eth0 > /dev/urandom
in order to seed /dev/urandom with some data (mac address) unique to your
system. If reading /dev/urandom fails, udhcpc will fall back to its old
behavior of seeding with time(0).
signals accepted by udhcpc
-------------------------
udhcpc also responds to SIGUSR1 and SIGUSR2. SIGUSR1 will force a renew state,
and SIGUSR2 will force a release of the current lease, and cause udhcpc to
go into an inactive state (until it is killed, or receives a SIGUSR1). You do
not need to sleep between sending signals, as signals received are processed
sequencially in the order they are received.
compile time options
-------------------
options.c contains a set of dhcp options for the client:
        name[10]: The name of the option as it will appear in scripts
       
        flags: The type of option, as well as if it will be requested
        by the client (OPTION_REQ)
        code: The DHCP code for this option


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17258/showart_1090833.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP