linux下udhcpc的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下udhcpc的使⽤
⼀、创建配置⽂件
从busybox的examples/udhcp/下获取simple.script⽂件,复制到嵌⼊式设备/usr/share/udhcpc/下,并重命名为default.script。

simple.script内容:
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@>
RESOLV_CONF="/etc/resolv.conf"
[ -n "$1" ] || { echo "Error: should be called from udhcpc"; exit 1; }
NETMASK=""
if command -v ip >/dev/null; then
[ -n "$subnet" ] && NETMASK="/$subnet"
else
[ -n "$subnet" ] && NETMASK="netmask $subnet"
fi
BROADCAST="broadcast +"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
case"$1"in
deconfig)
echo "Setting IP address 0.0.0.0 on $interface"
if command -v ip >/dev/null; then
ip addr flush dev $interface
else
ifconfig $interface0.0.0.0
fi
;;
renew|bound)
echo "Setting IP address $ip on $interface"
if command -v ip >/dev/null; then
ip addr add $ip$NETMASK $BROADCAST dev $interface
else
ifconfig $interface $ip $NETMASK $BROADCAST
fi
if [ -n "$router" ] ; then
echo "Deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
metric=0
for i in $router ; do
echo "Adding router $i"
if [ "$subnet" = "255.255.255.255" ]; then
# special case for /32 subnets:
# /32 instructs kernel to always use routing for all outgoing packets
# (they can never be sent to local subnet - there is no local subnet for /32).
# Used in datacenters, avoids the need for private ip-addresses between two hops.
ip route add $i dev $interface
fi
route add default gw $i dev $interface metric $((metric++))
done
fi
echo "Recreating $RESOLV_CONF"
# If the file is a symlink somewhere (like /etc/resolv.conf
# pointing to /run/resolv.conf), make sure things work.
if test -L "$RESOLV_CONF"; then
# If it's a dangling symlink, try to create the target.
test -e "$RESOLV_CONF" || touch "$RESOLV_CONF"
fi
realconf=$(readlink -f "$RESOLV_CONF"2>/dev/null || echo "$RESOLV_CONF")
tmpfile="$realconf-$$"
> "$tmpfile"
[ -n "$domain" ] && echo "search $domain" >> "$tmpfile"
for i in $dns ; do
echo " Adding DNS server $i"
echo "nameserver $i" >> "$tmpfile"
done
mv "$tmpfile""$realconf"
;;
esac
exit 0
⼆、执⾏命令,指定⽹卡为bridge0
udhcpc -i bridge0
三、执⾏结果
/ # udhcpc -i bridge0
udhcpc (v1.23.1) started
Setting IP address 0.0.0.0 on bridge0
Sending discover...
Sending select for192.168.137.96...
Lease of 192.168.137.96 obtained, lease time 604800 Setting IP address 192.168.137.96 on bridge0 Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.137.1
Recreating /etc/resolv.conf
Adding DNS server 192.168.137.1。

相关文档
最新文档