海运的博客

debian12下initramfs-tools使用udhcpc配置dhcp ip

发布时间:November 18, 2025 // 分类: // No Comments

initramfs-tools自带的dhcp有时不能获取到ip,修改使用udhcpc配置dhcp,先禁用自带的网络配置:

sed -i -e '/configure_networking\(\)/{n; a\' -e 'return 0' -e '}' /usr/share/initramfs-tools/scripts/functions

初始化时启动udhcpc:

cat << EOF > /usr/share/initramfs-tools/scripts/init-premount/00-network
#!/bin/sh
PREREQ=""

prereqs() {
  echo "$PREREQ"
}

case "$1" in
  prereqs)
    prereqs
    exit 0
    ;;
esac

interface=eth0
ip link set dev $interface up
udhcpc -i $interface -t 5 -T 5 -A 30 -b -s /scripts/udhcpc.script

exit 0
EOF
chmod +x /usr/share/initramfs-tools/scripts/init-premount/00-network

udhcpc调用的ip配置脚本:

cat << EOF > /etc/initramfs-tools/scripts/udhcpc.script 
#!/bin/sh

case "$1" in
  BOUND|bound|RENEW|renew)
        # 配置网卡
        ip addr flush dev $interface
        ip addr add $ip/$mask dev $interface
        ip link set dev $interface up

        # 配置默认路由
        ip route del default 2>/dev/null
        if [ -n "$router" ]; then
          for gw in $router; do
            ip route add default via $gw dev $interface
          done
        fi

        # 配置 DNS
        if [ -n "$dns" ]; then
          for ns in $dns; do
            echo "nameserver $ns" >> /etc/resolv.conf
          done
        fi

        ;;
esac

exit 0
EOF
chmod +x /etc/initramfs-tools/scripts/udhcpc.script 

标签:none

发表评论

分类
最新文章
最近回复
  • 海运: 可能版本问题
  • 海运: 如果运营商限制型号
  • 海运: 没有
  • Mruru: 烽火猫切换rootfs的方法有么大佬?
  • nono: 修改光猫型号是做啥子用的
  • 960: root账号默认密码hg2x0 不对哇
  • rer: 感谢分享!~
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。