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

3941748399863_.pic-inmueouc.jpg

以上是一个最简单的基础结构图,当然你可能中间加了很多的ap设备,这都没有关系,只要他们都是中继,dhcp都由主路下发,都可以借鉴以下的教程。

背景

当旁路开启op后会不会经常出现内网无法使用域名访问内部的设备了,经常出现部分站点无法访问,例如:github 的静态资源站点 https://raw.githubusercontent.com/;导致自己开发时很不如意,明明已经具备条件了,为什么还是不行呢?那么我们废话少说,直接剖析。

域名解析——dns

dns 解析原理,如图

3951748399863_.pic-ayhpiuom.jpg

正常情况下我们使用设备访问一个域名,浏览器会先去设备中的hosts文件中查找域名所对应的ip,查询不到则会在网关设备的hosts文件中查找,hosts文件文件都查找不到的情况下,则回去上游设备(运营商或者自定义的dns服务器)下发的dns服务器中查询ip。这是解析域名的整个流程,我们也是需要在这个流程中排查具体问题。

奇怪的ipv6 dns 服务器

如果出现某个网站无法访问,我们可以通过终端命令查询dns解析时使用的服务器,我们以https://raw.githubusercontent.com/ 站点做示例:

当前环境:内网带终端的设备一台,一下使用的是window,打开powershell或者终端

nslookup raw.githubusercontent.com

nslookup www.youtube.com

3961748399863_.pic-fqfsxdyx.jpg

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

3971748399863_.pic-bljigbma.jpg

这就不难解释了,为什么旁路打开了op 还是无法访问 raw.githubusercontent.com 这个站点了,因为解析压根没有经过旁路由。

如果有人出现类似情况,那么请按照以下配置检查一下吧。

主路由配置

接口

dhcp 服务器 - 高级设置 - dhcp选项

3981748399863_.pic-gbkmmxef.jpg

ipv6 设置

3991748399863_.pic-jjistajh.jpg

4001748399863_.pic-eaytjwoj.jpg

dhcp/dns

过滤器

4131748399936_.pic-nennmxty.jpg

旁路设置

op

插件设置

4021748399863_.pic-pnwjcjoa.jpg

4031748399882_.pic-ykiphlnh.jpg

4041748399882_.pic-lfyzefos.jpg

4051748399882_.pic-gmakdejs.jpg

4061748399882_.pic-dlpznqnh.jpg

4071748399882_.pic-jkkeqqgb.jpg

接口

4081748399882_.pic-rjqfksbs.jpg

4091748399936_.pic-tppzwgon.jpg

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

4101748399936_.pic-ndaidufz.jpg

4111748399936_.pic-efpnlkgr.jpg

4121748399936_.pic-nplccrzr.jpg

关闭旁路dhcp即可

dhcp/dns

4131748399936_.pic-nennmxty.jpg

4141748399936_.pic-xgphutlz.jpg

如果有异常

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

4151748399936_.pic-lflygmds.jpg

结果

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

4161748399936_.pic-bnnfmyuo.jpg

禁用后,再启动

更改完成以上配置后,那么看结果吧

4171748399936_.pic-xysocghd.jpg

我们可以看到dns服务器ip 已经是旁路设备ip了。

做一个小检查

4181748399939_.pic-uojnpqyh.jpg

开启这里的日志

终端进入旁路,输入以下命令

logread -f | grep dnsmasq | grep raw.githubusercontent.com

到你的pc终端输入以下命令

nslookup raw.githubusercontent.com

在旁路中可以看到日志

4191748399946_.pic-ulbmvwgs.jpg

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