added full udhcp integration
This commit is contained in:
30
examples/udhcp/sample.bound
Executable file
30
examples/udhcp/sample.bound
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
# Sample udhcpc renew script
|
||||
|
||||
RESOLV_CONF="/etc/udhcpc/resolv.conf"
|
||||
|
||||
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
|
||||
[ -n "$subnet" ] && NETMASK="netmask $subnet"
|
||||
|
||||
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||
|
||||
if [ -n "$router" ]
|
||||
then
|
||||
echo "deleting routers"
|
||||
while /sbin/route del default gw 0.0.0.0 dev $interface
|
||||
do :
|
||||
done
|
||||
|
||||
for i in $router
|
||||
do
|
||||
/sbin/route add default gw $i dev $interface
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n > $RESOLV_CONF
|
||||
[ -n "$domain" ] && echo domain $domain >> $RESOLV_CONF
|
||||
for i in $dns
|
||||
do
|
||||
echo adding dns $i
|
||||
echo nameserver $i >> $RESOLV_CONF
|
||||
done
|
4
examples/udhcp/sample.deconfig
Executable file
4
examples/udhcp/sample.deconfig
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
# Sample udhcpc deconfig script
|
||||
|
||||
/sbin/ifconfig $interface 0.0.0.0
|
4
examples/udhcp/sample.nak
Executable file
4
examples/udhcp/sample.nak
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
# Sample udhcpc nak script
|
||||
|
||||
echo Received a NAK: $message
|
30
examples/udhcp/sample.renew
Executable file
30
examples/udhcp/sample.renew
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
# Sample udhcpc bound script
|
||||
|
||||
RESOLV_CONF="/etc/udhcpc/resolv.conf"
|
||||
|
||||
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
|
||||
[ -n "$subnet" ] && NETMASK="netmask $subnet"
|
||||
|
||||
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||
|
||||
if [ -n "$router" ]
|
||||
then
|
||||
echo "deleting routers"
|
||||
while /sbin/route del default gw 0.0.0.0 dev $interface
|
||||
do :
|
||||
done
|
||||
|
||||
for i in $router
|
||||
do
|
||||
/sbin/route add default gw $i dev $interface
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n > $RESOLV_CONF
|
||||
[ -n "$domain" ] && echo domain $domain >> $RESOLV_CONF
|
||||
for i in $dns
|
||||
do
|
||||
echo adding dns $i
|
||||
echo nameserver $i >> $RESOLV_CONF
|
||||
done
|
7
examples/udhcp/sample.script
Normal file
7
examples/udhcp/sample.script
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
# Currently, we only dispatch according to command. However, a more
|
||||
# elaborate system might dispatch by command and interface or do some
|
||||
# common initialization first, especially if more dhcp event notifications
|
||||
# are added.
|
||||
|
||||
exec /usr/share/udhcpc/sample.$1
|
39
examples/udhcp/simple.script
Normal file
39
examples/udhcp/simple.script
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
|
||||
|
||||
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
|
||||
|
||||
RESOLV_CONF="/etc/resolv.conf"
|
||||
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
|
||||
[ -n "$subnet" ] && NETMASK="netmask $subnet"
|
||||
|
||||
case "$1" in
|
||||
deconfig)
|
||||
/sbin/ifconfig $interface 0.0.0.0
|
||||
;;
|
||||
|
||||
renew|bound)
|
||||
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||
|
||||
if [ -n "$router" ] ; then
|
||||
echo "deleting routers"
|
||||
while route del default gw 0.0.0.0 dev $interface ; do
|
||||
:
|
||||
done
|
||||
|
||||
for i in $router ; do
|
||||
route add default gw $i dev $interface
|
||||
done
|
||||
fi
|
||||
|
||||
echo -n > $RESOLV_CONF
|
||||
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
|
||||
for i in $dns ; do
|
||||
echo adding dns $i
|
||||
echo nameserver $i >> $RESOLV_CONF
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
116
examples/udhcp/udhcpd.conf
Normal file
116
examples/udhcp/udhcpd.conf
Normal file
@@ -0,0 +1,116 @@
|
||||
# Sample udhcpd configuration file (/etc/udhcpd.conf)
|
||||
|
||||
# The start and end of the IP lease block
|
||||
|
||||
start 192.168.0.20 #default: 192.168.0.20
|
||||
end 192.168.0.254 #default: 192.168.0.254
|
||||
|
||||
|
||||
# The interface that udhcpd will use
|
||||
|
||||
interface eth0 #default: eth0
|
||||
|
||||
|
||||
# The maximim number of leases (includes addressesd reserved
|
||||
# by OFFER's, DECLINE's, and ARP conficts
|
||||
|
||||
#max_leases 254 #default: 254
|
||||
|
||||
|
||||
# If remaining is true (default), udhcpd will store the time
|
||||
# remaining for each lease in the udhcpd leases file. This is
|
||||
# for embedded systems that cannot keep time between reboots.
|
||||
# If you set remaining to no, the absolute time that the lease
|
||||
# expires at will be stored in the dhcpd.leases file.
|
||||
|
||||
#remaining yes #default: yes
|
||||
|
||||
|
||||
# The time period at which udhcpd will write out a dhcpd.leases
|
||||
# file. If this is 0, udhcpd will never automatically write a
|
||||
# lease file. (specified in seconds)
|
||||
|
||||
#auto_time 7200 #default: 7200 (2 hours)
|
||||
|
||||
|
||||
# The amount of time that an IP will be reserved (leased) for if a
|
||||
# DHCP decline message is received (seconds).
|
||||
|
||||
#decline_time 3600 #default: 3600 (1 hour)
|
||||
|
||||
|
||||
# The amount of time that an IP will be reserved (leased) for if an
|
||||
# ARP conflct occurs. (seconds
|
||||
|
||||
#conflict_time 3600 #default: 3600 (1 hour)
|
||||
|
||||
|
||||
# How long an offered address is reserved (leased) in seconds
|
||||
|
||||
#offer_time 60 #default: 60 (1 minute)
|
||||
|
||||
# If a lease to be given is below this value, the full lease time is
|
||||
# instead used (seconds).
|
||||
|
||||
#min_lease 60 #defult: 60
|
||||
|
||||
|
||||
# The location of the leases file
|
||||
|
||||
#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
|
||||
|
||||
# The location of the pid file
|
||||
#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
|
||||
|
||||
# Everytime udhcpd writes a leases file, the below script will be called.
|
||||
# Useful for writing the lease file to flash every few hours.
|
||||
|
||||
#notify_file #default: (no script)
|
||||
|
||||
#notify_file dumpleases # <--- usefull for debugging
|
||||
|
||||
# The following are bootp specific options, setable by udhcpd.
|
||||
|
||||
#siaddr 192.168.0.22 #default: 0.0.0.0
|
||||
|
||||
#sname zorak #default: (none)
|
||||
|
||||
#boot_file /var/nfs_root #default: (none)
|
||||
|
||||
# The remainer of options are DHCP options and can be specifed with the
|
||||
# keyword 'opt' or 'option'. If an option can take multiple items, such
|
||||
# as the dns option, they can be listed on the same line, or multiple
|
||||
# lines. The only option with a default is 'lease'.
|
||||
|
||||
#Examles
|
||||
opt dns 192.168.10.2 192.168.10.10
|
||||
option subnet 255.255.255.0
|
||||
opt router 192.168.10.2
|
||||
opt wins 192.168.10.10
|
||||
option dns 129.219.13.81 # appened to above DNS servers for a total of 3
|
||||
option domain local
|
||||
option lease 864000 # 10 days of seconds
|
||||
|
||||
|
||||
# Currently supported options, for more info, see options.c
|
||||
#subnet
|
||||
#timezone
|
||||
#router
|
||||
#timesvr
|
||||
#namesvr
|
||||
#dns
|
||||
#logsvr
|
||||
#cookiesvr
|
||||
#lprsvr
|
||||
#bootsize
|
||||
#domain
|
||||
#swapsvr
|
||||
#rootpath
|
||||
#ipttl
|
||||
#mtu
|
||||
#broadcast
|
||||
#wins
|
||||
#lease
|
||||
#ntpsrv
|
||||
#tftp
|
||||
#bootfile
|
Reference in New Issue
Block a user