起因

istoreOS的passwall插件在设置DNS的时候缺少了“默认DNS”这个选项。
image.png

联系seputetto大神排查过程

使用以下命令查看配置项:

1
2
df -h
uci show |grep chinadns

返回结果如下:
image.png
确认配置项的确丢了。
再次切换chinadns-ng和dnsmasq也并没有出现。
接着移除现有passwall,检查以下文件夹是否还有旧版本配置文件

1
2
ls /etc/config
ls /usr/share

image.png
删除相关残留配置:

1
2
rm /etc/config/passwall*
rm -r /usr/share/passwall*

完全删除之后重新安装passwall。
装完之后发现之前的日志还在,但是不影响,日志存放路径为/var/log/。
重装后客户端还是解析不了域名,下面开始问题排查。
查看chinadns-ng的监听端口

1
netstat -anp |grep chinadns

返回结果:
image.png
向chinadns-ng查询域名:

1
2
3

nslookup ddsrem.com 127.0.0.1:15354

返回结果为拒绝:

image.png

查看dns2socks监听端口:

1
netstat -anp |grep dns2socks

返回结果:
image.png
然后向15353查询返回结果:
image.png
接着排查passwall日志里面的可信DNS和直连DNS信息,如下:
image.png
发现直连DNS有192.168.11.1这个地址。需要将该地址去掉。
然后去首页修改自定义DNS地址为192.168.1.1。
image.png
设置完毕之后清空passwall日志,DNS选项里面点IPSET。结果如图:
image.png

接着nslookup查询域名返回结果正常:
image.png
istoreOS目前正常。
但是客户端网关和DNS指向旁路由后解析不了域名,现在开始排查该问题。
image.png
进入旁路由DHCP/DNS选项,高级设置,去掉本地化查询。
image.png
然后重启dnsmasq

1
2
/etc/init.d/dnsmasq restart

发现查询域名还是拒绝。
image.png
看下相关配置

1
cat /tmp/dnsmasq.d/dnsmasq-passwall.conf

image.png

1
2
cat /etc/resolv.conf

image.png

1
2
netstat -anp |grep dnsmasq

image.png

image.png