每次Google等网站上不去了,总要去百度获取查找最新的Hosts来更新,感觉非常麻烦。趁着放假,终于研究出在Tomato路由上自动更新Hosts的方法。由于需要使用OptWare,如果没有带USB的路由可能就不能使用以下的方法了。欢迎尝试后反馈!

准备工作

  1. 带USB接口,已刷Tomato Dualwan的路由器一台(本人使用AUSU RT-N16);
  2. U盘一个(本人使用SanDisk Cruzer Fit 8G);

具体步骤

  1. 配置Tomato的NAS功能
    (1)打开路由器设置界面,进入“NAS服务器”→“NAS设置”→“勾选启用NAS功能”→右下角“保存设置”
     title=
    (2)插入准备的U盘,点击页面中的“已连接设备”→“刷新”按钮。正常的话就能识别出你的U盘
     title=
    (3)初始化U盘
    点击识别出的U盘最右侧“NAS状态”中的“完全初始化”按钮,等待路由器自动对U盘进行分区处理。
    注:本操作会清除U盘上的所有数据,并且不能直接在Windows上读取文件。
    (4)安装“文件管理器”
    ①通过“NAS服务器”→“文件管理器”→勾选“启用管理器”,然后保存设置
    ②点击当前页面上的“安装”按钮,耐心等待安装完成。
    注:安装“文件管理器”的目的是为了让Tomato自动安装Optware环境,同时方便进行文件管理
    (5)完成配置
    至此,NAS功能的基本配置已经完成,如有需要可以自行配置安装其它功能。
  2. 配置Optware
    (1)安装SSH或Telnet,本人使用的是Windows自带的Telnet功能(Win7以下系统请自行百度)
    ①打开Windows的“程序和功能”(卸载软件的地方);
    ②点击左侧的“启用或关闭“Windows功能””;
    ③在弹出的对话框中找到“Telnet服务器”并勾选;
    ④点击确定,等待Windows自动安装Telnet功能。
     title=
    (2)快捷键“Win+R”,输入cmd,点击确定,快速打开“命令提示符”窗口
    ①路由器设置:在“系统管理”→“访问设置”→“Telnet访问设置”中“立即启动”Telnet
    ②登录路由器
    在“命令提示符”中输入以下命令后回车(注:IP地址为你的路由器IP

    telnet 192.168.1.1

    接着输入登录路由器的用户名,回车,输入密码,回车。
    如果登录成功,则会显示以下界面
     title=
    ③ 安装wget-ssl(注:此功能为能正常下载HTTPS资源,如果你有HTTP下能直接下载的HOSTS源可以不安装)

    ipkg update
    ipkg install wget-ssl

    等待系统自动安装完成。

  3. 配置路由器“定时任务”
    ①进入“系统管理”→“定时任务”,选择一个自定义任务,并勾选;
    ②选择执行的时间(我选的是每天半夜12点,即12:00 AM);
    ③在“执行命令”中输入以下代码,然后点击“保存设置”。(注:代码中的“/mnt/NAS/hosts”请自行替换成你想保存在路由器上的位置。我保存的位置为U盘根目录下的hosts文件)

    rm /mnt/NAS/hosts
    /opt/bin/wget --no-check-certificate https://raw.githubusercontent.com/racaljk/hosts/master/hosts -c -O /mnt/NAS/hosts
    sleep 3
    service dnsmasq restart

     title=
    代码说明:

    rm /mnt/NAS/hosts #删除旧的hosts文件
    /opt/bin/wget --no-check-certificate https://raw.githubusercontent.com/racaljk/hosts/master/hosts -c -O /mnt/NAS/hosts #下载新的Hosts文件到原位置
    sleep 3 #等待3秒
    service dnsmasq restart #重启DnsMasq服务
  4. 配置DnsMasq
    ①进入“高级设置”→“DHCP / DNS”;
    ②在“DNSMasq设置”中输入以下代码,然后点击“保存设置”。

    addn-hosts=/mnt/NAS/hosts/hosts
  5. 刷新DNS解析缓存
    ①“Win+R”运行“cmd”,打开命令提示符;
    ②输入以下代码后回车。

    ipconfig/flushdns

    ③关闭命令提示符窗口,并访问:https://www.google.com.hk。如果成功则会出现Google搜索。

  6. 排查错误
    ①查看是否下载成功Hosts文件
    在登录了路由器的命令提示符下输入以下命令后回车

    cd /mnt/NAS
    ls -al

    如果存在hosts文件,并且大小不为0,则下载成功。
     title=
    ②查看DsnMasq是否更新成功
    在路由器管理界面的“状态”→“系统日志”中查看

最后修改:2019 年 09 月 08 日
如果觉得我的文章对你有用,请随意赞赏