Apr 10

Tomato 内置的 DNS 服务器 DNSMASQ 默认缓存条目是 150 条,默认设置不能抵挡 127.0.0.1 段的 DNS-rebind attacks 。

Tomato_DNSMASQ_Setting

如上图设置 Tomato 的 DNS,并且添加如下自定义参数:


## Some Tweak
cache-size=8192
stop-dns-rebind
log-async=5
## Additional DNS servers
# Hong Kong BroadBand Network DNS servers
server=203.80.96.10
server=203.80.96.9
# Huchison Whampoa DNS servers
server=202.45.84.58
server=202.45.84.59

这样设置后用 DNS Benchmark 测试可以得到一个完全安全的本地 DNS 服务器,并且增加 DNS 缓存数量到 8192 条;添加的 DNS 服务器位于香港,适用于广州深圳用户,其他地方的用户可以修改这些服务器地址。

DNS Benchmark

在 Telnet 控制台输入 killall -USR1 dnsmasq ,然后去 Tomato 的日志目录可以查看全部 DNS 服务器查询命中情况。

以上适用于 TomatoUSB 或者原版,如果要用在 Tomato Duelwan 上面,要去掉 cache-size=8192 这条,因为 TD 已经内置了 cache-size=512 ,另行设置会出错导致 DNSMASQ 不能启动。

Tomato Duelwan 修改 cache-size 的方法,telnet 登录路由器:


nvram set dnsmasq_cachesize=1024
nvram commit
reboot