找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5798|回复: 3

【已解决】自己编译的固件,在某些情况下获取不了IP地址

[复制链接]
发表于 2015-2-21 09:01 | 显示全部楼层 |阅读模式
本帖最后由 wukaisky 于 2015-7-7 14:35 编辑

我自己编译的OpenWrt官网固件(barrier_breaker和trunk),刷入路由器后/etc/config/dhcp里有一个选项默认设置是:


option maindhcp '1'


这个设置成“1”,会有问题,表现是:一旦路由器为电脑指派了静态IP,重启路由器后,其他没有指派静态IP的电脑会获取不到IP地址。


PandoraBox的固件就编译的很好,默认是参数 0
option maindhcp '0'


经过我Google搜索,发现和hnetd这个程序有关

hnetd.defaults源代码是这么写的:
  1. #!/bin/sh

  2. uci batch <<EOF
  3. set dhcp.odhcpd.maindhcp=1
  4. commit dhcp
  5. EOF
复制代码
去除hnetd这个组件就OK了


这个是我TP-LINK TL-WDR4310 barrier_breaker的menuconfig



/etc/config/dhcp配置:
  1. config dnsmasq
  2.         option domainneeded '1'
  3.         option boguspriv '1'
  4.         option localise_queries '1'
  5.         option rebind_protection '1'
  6.         option rebind_localhost '1'
  7.         option local '/lan/'
  8.         option domain 'lan'
  9.         option expandhosts '1'
  10.         option authoritative '1'
  11.         option readethers '1'
  12.         option leasefile '/tmp/dhcp.leases'
  13.         option noresolv '1'
  14.         list server '127.0.0.1#1053'                  #我用了ChinaDNS

  15. config dhcp 'lan'
  16.         option interface 'lan'
  17.         option start '100'
  18.         option limit '150'
  19.         option leasetime '12h'
  20.         option ra 'server'
  21.         option dhcpv6 'server'
  22.         option ra_management '1'

  23. config dhcp 'wan'
  24.         option interface 'wan'
  25.         option ignore '1'

  26. config odhcpd 'odhcpd'
  27.         option leasefile '/tmp/hosts/odhcpd'
  28.         option leasetrigger '/usr/sbin/odhcpd-update'
  29.         option maindhcp '1'                                #设置成了1,会有问题

复制代码
  1. src-git packages https://github.com/openwrt/packages.git;for-14.07
  2. src-git luci https://github.com/openwrt/luci.git;luci-0.12
  3. src-git routing https://github.com/openwrt-routing/packages.git;for-14.07
  4. src-git telephony https://github.com/openwrt/telephony.git;for-14.07
  5. src-git management https://github.com/openwrt-management/packages.git;for-14.07
  6. src-git oldpackages http://git.openwrt.org/14.07/packages.git
  7. #src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package
  8. #src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone
  9. #src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
  10. #src-svn xorg svn://svn.openwrt.org/openwrt/feeds/xorg
  11. #src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop
  12. #src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce
  13. #src-svn lxde svn://svn.openwrt.org/openwrt/feeds/lxde
  14. #src-link custom /usr/src/openwrt/custom-feed
  15. src-git ramod https://github.com/ravageralpha/my_openwrt_mod.git                 #就增加了这一段
复制代码


odhcpd的odhcpd.defaults源代码:奇怪的是这里maindhcp居然是0
路径:./package/network/services/odhcpd/files
  1. #!/bin/sh
  2. uci -q get dhcp.odhcpd && exit 0
  3. touch /etc/config/dhcp

  4. uci batch <<EOF
  5. set dhcp.odhcpd=odhcpd
  6. set dhcp.odhcpd.maindhcp=0
  7. set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd
  8. set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update
  9. set dhcp.lan.dhcpv6=server
  10. set dhcp.lan.ra=server
  11. commit dhcp
  12. EOF
复制代码









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

朋友,请教一个问题,我编译一个TL-wr704N V5 Trunk版的固件,但刷机后出现的情况是:端口反序,并且WAN口MAC地址全这0,但能自动获取上一级路由的IP,无线也正常,其它功能也没问题;请问这是哪的问题,请指教。  发表于 2015-7-7 14:14
发表于 2015-2-21 10:22 | 显示全部楼层
关注大神的帖子,希望出级路由1s新版rom.
发表于 2015-2-21 10:22 | 显示全部楼层
一旦路由器为电脑指派了静态IP,重启路由器后,其他没有指派静态IP的电脑会获取不到IP地址。

据说是odhcpd的BUG
暂时的解决方法,请各位谨慎升级OpenWRT 14.07
3.dhcp分配故障。OpenWRT中有一个静态分配地址列表,如果将设备的MAC地址和IP地址录入,那么DHCP能够保留并将指定的地址分配给指定的设备。旧的版本中这个功能一点问题都没有,但是自从BB版开始换为使用odhcpd来分配地址之后,如果指定了这个列表,并且如果在路由器开机时这个列表中的主机都在线的情况下,odhcpd在给这些保留的设备分配好了IP后将不会为其他联入的设备分配IPv4地址。解决这个问题,必须要在列表中添加一台不存在的主机让OP永远无法把这个列表里面的主机都分配到地址,这样,odhcpd就不会陷在BUG里了。当然或许我们可以通过更换dnsmasq-ipv6来替代odhcpd,不过我没测试过。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-1 11:34

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表