主页 > 整理 | 学习笔记 > ac68u ddwrt通过dnsmasq增加hosts文件解析主机

ac68u ddwrt通过dnsmasq增加hosts文件解析主机

在网络上搜到的dns解析几乎都是将hosts格式的文件转换成形如address/域名/ip的参数形式,添加在 服务管理-dnsmasp-附加参数 。在增加某hosts时有3000多条记录。我不知道发那些博文的人自己有没有验证过,这样增加程序参数的方法会将参数写在nvram里!!这就是问题所在。

nvram储存几乎所有的系统配置信息,存储空间只有可怜的64k!!而几百条address参数存储在nvram里就已经不够用了。将3000多条存进入后最直观的变化是管理页面变成了英文,刚才保存的address字段完全没有了,所有的个性化配置全部变成空,各种程序运行异常。这个时候系统已经坏掉了,我遇到最严重的一个情况是2.4g的天线完全没信号,就算从备份还原配置、重刷ddwrt、刷回官方原版固件都不管用!!最后多次重刷才好的。某些教程真是害人不浅。
其实,dnsmasp完全可以读取外部的hosts文件,不管windows/linux的hosts都不需要格式转化!

方法如下:

将下载到的原hosts文件(每行都是”127.0.0.1 localhost”格式)存放在ddwrt系统启动时能读到的分区,如存储为/jffs/hosts,服务管理-dnsmasp-附加参数增加

addn-hosts=/jffs/hosts

重启路由即可。这样就可以在局域网的机器里使用hosts里的地址访问了。就是这么简单的一条参数,但网络上却几乎找不到。
2014-08-05_093425

Tags: ac68u ddwrt dnsmasq hosts

评论:3

  1. Ghost.Lin 回复
    2014 年 10 月 22 日 于 下午 2:44

    太感谢了,这招很有用!我想问问如果我在一台机子上已经挂载了gagent的话,能不能让dnsmasq转发从那台机子上走pac?

    • tianyu 回复
      2014 年 10 月 22 日 于 下午 3:09

      这个我没有试过。按我的理解dnsmasq只是优先在hosts文件里解析dns,流量走到哪里dnsmasp并不管。应该考虑下route之类的命令重定向网络的跳转。
      如果是用的linux系统的话是不是可以考虑用polipo之类的做成http代理(如地址:192.168.1.100:8080)(或者gagent本身就是个http代理?监听时设置为192.168.1.100而不是127.0.0.1?),在客户端(如安卓系统192.168.1.101)wifi高级设置里设置http代理为(192.168.100:8080)。g0agent很久以前似乎不好用了就转ss了,具体g怎么配置

  2. 轩无悔 回复
    2015 年 7 月 12 日 于 上午 1:19

    系统启动时能读到的分区…是啥?

发表评论

电子邮件地址不会被公开。 必填项已用*标注