前段时间有写道一篇博客,叫做“再探openWrt局域网中dns不能中继问题“,详细的表述了一下openWrt可以获取的局域网的dns地址,但是却不转发给连接的电脑和手机等。好在”松鹤“同学的评论让我明白了原来dnsmasq还有私有地址抛弃这样一个选项,也怪我没有仔细看清楚配置文件,经历了诸多的波折,终于解决了这个问题,重新再编译,发布。
其实对于我们学校来说,上一个固件的dns地址都是我写死了的,统一写为了192.168.168.164和192.168.168.165。我们学校的同学用这个固件当然是没有问题,苦了其它也想做港湾路由器的童鞋们。这不,openWrt的多拨群里就有人嚷着为什么能够连接但是上不了外网,出于这个考虑,又花了两小时研究和解决了一下这个问题。
我们进入openWrt的编译目录之下,找到这个文件:
package/dnsmasq/files/dhcp.conf
这个即是dnsmasq的一个配置文件,其中有一行是这样子的:
option rebind_protection 1 # disable if upstream must serve RFC1918 addresses
这个的意思就是禁止私有网络地址分配的地址,我们将其中的1改为0,也就是允许了。
重新编译固件,用港湾账号登陆后,我们发现百度可以打开了,校内的网站也能打开了,也就是说dns中继成功了。用ssh登陆路由器,看看network的设置里面会不会有dns设置:
config interface lan
option type bridge
option ifname eth1
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
option nat 1
事实证明dns不是我们设置的,确实是中继过来的,那么我们再vim /etc/resolv.conf看看获取到的dns是不是192.168.168.164:
发现dns地址不是我们内网的dns了,但是也不是原来的127.0.0.1,神奇般的变成了168.168.1.1,即变成了路由的网关了,但是路由器的网关应该是对此作了转换,才能使我们能够上到内网。反正是能上网,就不再深究了。新固件下载地址为:
http://www.chaochaoblog.com/myupload/openwrt-chao-20120415.bin
具体操作参考以下两篇文章:
openwrt吵吵港湾802.1x无线路由固件(db120)下载及刷机教程
如果有成功了话,不妨留个言,说说你是在哪里能够使用该版本的固件,以供后人参考。
如无特别说明,本博客文章皆为原创。转载请说明,来自吵吵博客。
原文链接:http://chaochaoblog.com/archives/1399
吵吵微信朋友圈,请付款实名加入:
这个问题好像我遇到过
哈哈,以前我编译OpenWRT的时候,这个问题也把我折腾得够呛
曾经让我很纠结的一个问题!
博主您好 很荣幸能看到你的帖子 但是我对这个很陌生 很陌生 所以想请教你
我加也是802.1X的协议 但是是中兴的 网上差了一下 貌似每家的协议都是不公开的 可能不能用 希望能得到你的帮助 我买了一个路由 为FW330R 想刷固件 但是自己不会写 希望能的到你的帮助 QQ271242272 貌似我已经在你的群里了 谢谢您了