家庭简单的网络拓扑图如下

以上是一个最简单的基础结构图,当然你可能中间加了很多的ap设备,这都没有关系,只要他们都是中继,dhcp都由主路下发,都可以借鉴以下的教程。
背景
当旁路开启op后会不会经常出现内网无法使用域名访问内部的设备了,经常出现部分站点无法访问,例如:github 的静态资源站点 https://raw.githubusercontent.com/;导致自己开发时很不如意,明明已经具备条件了,为什么还是不行呢?那么我们废话少说,直接剖析。
域名解析——dns
dns 解析原理,如图

正常情况下我们使用设备访问一个域名,浏览器会先去设备中的hosts文件中查找域名所对应的ip,查询不到则会在网关设备的hosts文件中查找,hosts文件文件都查找不到的情况下,则回去上游设备(运营商或者自定义的dns服务器)下发的dns服务器中查询ip。这是解析域名的整个流程,我们也是需要在这个流程中排查具体问题。
奇怪的ipv6 dns 服务器
如果出现某个网站无法访问,我们可以通过终端命令查询dns解析时使用的服务器,我们以https://raw.githubusercontent.com/ 站点做示例:
当前环境:内网带终端的设备一台,一下使用的是window,打开powershell或者终端
nslookup raw.githubusercontent.com
nslookup www.**.com

从这里可以清晰的看到dns服务器使用的是 ah-ipv6 ,地址是 2409 开头的一个移动公网ipv6地址,这个地址从旁路由一直排查到主路由,发现是主路由的lan口ip。

这就不难解释了,为什么旁路打开了op 还是无法访问 raw.githubusercontent.com 这个站点了,因为解析压根没有经过旁路由。
如果有人出现类似情况,那么请按照以下配置检查一下吧。
主路由配置
接口
dhcp 服务器 - 高级设置 - dhcp选项

ipv6 设置


dhcp/dns
过滤器

旁路设置
op
插件设置






接口


根据istoreos 的旁路设置来就行了,也可以手动配置



关闭旁路dhcp即可
dhcp/dns


如果有异常
如果有奇怪的异常,主路和旁路防火墙转发统一改成接受

结果
看结果前可能需要重启一下你设备的网络,避免有缓存,关闭wifi 或者以太网,win设置如下

禁用后,再启动
更改完成以上配置后,那么看结果吧

我们可以看到dns服务器ip 已经是旁路设备ip了。
做一个小检查

开启这里的日志
终端进入旁路,输入以下命令
logread -f | grep dnsmasq | grep raw.githubusercontent.com
到你的pc终端输入以下命令
nslookup raw.githubusercontent.com
在旁路中可以看到日志

可以清晰的看到域名被dnsmasq转发(forwarded)了两次 ,分别解析到了ipv4 和ipv6。 |