本文探讨软路由配置爱快为主路由,OpenWrt 作为旁路网关的设置。并且 OpenWrt 提供 DNS 去广告和国内外分流。整个网络单层 NAT,并设置为全锥形 NAT 便于 PCDN 的运行。
网络环境#
- 内网:10.0.0.0/24
- 外网:PPPoE 拨号
- 爱快:10.0.0.1
- OpenWrt: 10.0.0.2
单层 NAT 配置#
爱快作为主路由,所以整个内网由爱快提供 NAT。在爱快中开启 NAT1 类型:
爱快开启 UPnP,OpenWrt 关闭 UPnP。
关闭 OpenWrt 全锥形 NAT,关闭防火墙动态伪装。开启转发。
OpenWrt 的动态伪装就是 NAT,开了之后会多一层 NAT,一定要关掉。
关闭动态伪装之后,由于 ARP 验证可能导致无法上网,实测主路由为爱快时,不影响上网。
删除以下防火墙规则,如有:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
以上防火墙规则也是动态伪装,一样要删除。
设置完之后,重启 OpenWrt。
验证是否单层 NAT#
通过爱快终端监控,如果 OpenWrt (10.0.0.2) 也提供 NAT 的话,在爱快里面是看不到其他终端有流量经过的,所有的流量都打到 10.0.0.2 上的,如果不是都打到 OpenWrt 上则证明为单层 NAT。
此时,只有科学的流量才会在爱快中显示过 OpenWrt。国内流量显示为各个对应终端。
使用双 ADG 配合 SSRP 国内外 DNS 分流#
配置双 ADG#
你需要知道:此设置不需要 SmartDNS 和 Turbo ACC 的 DNS 缓存。如有全部关闭。
在 OpenWrt 可以直接安装 luci-app-adguardhome。安装之后进行配置国内版 ADG。
首先设置重定向模式:作为 dnsmasq 上游服务器。
进入 ADG 管理面板后,设置国内 DNS。上游 DNS 服务器设置如下(参考):
https://dns.alidns.com/dns-query
https://doh.pub/dns-query
https://dns.pub/dns-query
tls://dns.pub
tls://dns.alidns.com
tls://dot.pub
Bootstrap DNS 服务器设置为当地运营商 DNS(备选阿里云):
211.136.150.66
211.136.112.50
223.5.5.5
223.6.6.6
211.136.150.66
211.136.112.50
为上海移动 DNS。
速度限制设为 0。
接下来配置第二个 ADG。可以使用 Docker 也可以在第二台虚拟机安装 ADG。我这边使用第二台机器(10.0.0.106)安装 ADG。
安装之后配置 DNS 为国外 DNS。
上游 DNS 服务器设置如下(参考):
https://dns.google/dns-query
tls://dns.google
https://dns.cloudflare.com/dns-query
https://dns.cloudflare.com/dns-query
Bootstrap DNS 服务器设置为当地运营商 DNS(备选阿里云):
211.136.150.66
211.136.112.50
223.5.5.5
223.6.6.6
禁用 IPv6 解析。(SSRP 中某些机场不支持 IPv6 导致无法上网)。速度限制不限。
现在记住:
- 国内 DNS:10.0.0.2:6053 (ADG 设置的端口)
- 国外 DNS:10.0.0.106:6053
配置 dnsmasq#
进入到 OpenWrt 的 「网络」 - 「DHCP/DNS」,DNS 转发应该只有 ADG 的地址。我这边就是 127.0.0.1#6053
,没有其他转发了。
配置 SSRP#
如下图配置:
选择绕过中国大陆 IP,国外 DNS 填写国外分流 ADG。国内 DNS 不填。如果已经填写,选择「其他」,留白就行。
转到「状态」,更新「【GFW 列表】数据库」,「【国内 IP 段】数据库」。