概述
设置流程基于IPV6大全版固件,仅为adgaurd+ passwall+ smartdns设置流程。此文件涉及敏感词,不建议在大陆解密发送和传播。
软路由设置是否成功和正确,从日志判断是最准确的,这也是本设置流程的依据。
架构解析
设备DNS查询-> 转发到adgurad监听的5353端口-> Dnsmasq监听的53端口->PASSWALL接管dnsmasq进行分流->smartdns相应的分流端口。下图可作为示例,但不是本架构的精确描述,且遗漏了Dnsmasq部分。
玩家必须了解以上架构,并保证网内主机的DNS没有专门设置,会严格从路由器进行解析。架构设置完毕,主机建议用 ipconfig /flushdns 方式清空缓存DNS。手机则可以开飞行模式,恢复后清空DNS缓存。
此架构搭建时,除基本网络接口设置外,建议从后向前设置,即先设置SMARTDNS,再设置PASSWALL,能成功出墙后再设置ADG更新内核。
设置流程
网络->负载均衡
此项与PASSWALL的负载均衡会有冲突,如果不用多WAN,此项建议直接禁用掉。
接口
WAN口->高级设置:
- 使用内置IPV6管理,
- 获取IPv6地址->自动,
- 使用默认网关,
- 使用对端通告的DNS服务器,取消勾选。//不然会下发运营商的DNS,导致客户端跳过路由器而直接使用公共DNS造成污染。
- 防火墙设置,默认为WAN/MAN即可,若默认有误则手动选中。
一般建议外网口新增城域网接口,MAN口://和WAN共用一个口
- 传输协议用DHCP客户端。这样就可以直接用IP访问上游的光猫。
- 但如果是docker版,据说会有问题,无法访问光猫。
- 防火墙设置,选择WAN/MAN。
LAN口->基本设置:
- 传输协议,静态地址,如192.168.2.1
- 网关为路由器本身,如192.168.2.1
- 不使用自定义的DNS服务器 //IPV4的DNS默认会是网关,即路由器本身
- IPV6分配长度为64
- IPV6后缀为 ::1
LAN口->高级设置:
- 使用内置的IPV6管理
- 强制链路
下方的高级设置,
- 使用动态DHCP
- 强制
下方的ipv6设置
- 路由通告服务,服务器模式
- DHCPV6服务,服务器模式 //不然会把MAC地址上传到上游网关,据说不安全
- NDP代理,混合模式
- 总是通告默认路由,勾选
IPV6的/64地址无法进行2级路由下发而只能采用通告和中继模式,设置很容易出问题,所以网络中不建议使用2级路由。
DHCP/DNS(Dnsmasq)
基本设置:
DNS转发,填写127.0.0.1#6054 //#不要错误写成冒号
高级设置:
禁止解析 IPv6 DNS 记录,取消勾选,启用IPV6解析。
DNS 服务器端口:保持默认的53//作为未来adguard的上游
DNS查询缓存大小,建议设置为0
防火墙
自定义规则:
#iptables -t nat -A PREROUTING -p udp –dport 53 -j REDIRECT –to-ports 53
#iptables -t nat -A PREROUTING -p tcp –dport 53 -j REDIRECT –to-ports 53
#ip6tables -t nat -A PREROUTING -p udp –dport 53 -j REDIRECT –to-ports 53
#ip6tables -t nat -A PREROUTING -p tcp –dport 53 -j REDIRECT –to-ports 53
注释掉这些行,防止防火墙规则跨越ADGUARD的5353端口。
ACC网络加速设置
建议除FULLCONE(全锥形NAT)外全部取消,DNS加速必须取消。
SmartDNS
基本设置
第二DNS服务器
上游服务器:
记得分组时,ali为china,dns.google为guowai。
此部分不需要设置太多DNS。dns.google已走代理,但实际运行时,似乎第一次DNS请求不会走代理,所以国外部分还是要走DOH。
//此时SMART只是待机状态,并没有被任何软件指向。
PASSWALL
->节点列表,
如果VPS用fail2ban保护了SSRR,千万记得要取消Tcping,不然会留下错误日志导致IP被封,虽然手动解封也不难。
添加以下节点,以开启负载均衡:
其类型、密码、加密方式等,必须与“负载均衡”中的所有节点一模一样!否则无法工作。
基本设置->DNS:(不要开启chinadns-NG为上游)
高级设置->定时配置->启动守护进程,勾选。
直连/代理名单管理->代理列表:
已默认dns.google和IP(8.8.8.8,8.8.4.4)走代理表,若没有请自行添加。若有其它国外DNS,也一并添加到表内。
检验设置是否成功,请在启动后查看PASSWALL日志,若有以下信息即为正确:
此时系统应该能正常出墙。
AdGuard Home
先更新内核,由于系统已走代理,很容易成功。
重定向NAT的53请求到Adgurd的5353端口。
防火墙的NAT表中可看到已转发:
//这种设置的好处是,手机不会提示断网,即使ADG停止,也不影响正常的DNS解析。
进入管理器:
->DNS设置:
- 上游DNS服务器,127.0.0.1:53 //指向系统的Dnsmasq端口
- 禁用IPV6,取消
- DNS缓存大小,建议设置为0
关于IPV6
路由器的::1为IPV6地址,与IPV4的127.0.0.1是无缝互通的;adguard也会处理IPV6流量,开启后从防火墙规则可以看出来;而阿里和GOOGLE的IPV4型DNS就可以解析IPV6地址,所以整个流程中对IPV6并不需要做专门设置。
更新日志
2021.9 解决PASSW的负载均衡与MWAN的冲突问题,清除DNSMASQ和ADG的缓存,防止被污染的DNS过长时间存在于缓存中
2021.8 更正国内SMART端口格式为#6054
2021.8 取消smardns的“域名预加载”,以减轻软路由负担
2021.7 尝试设置7.24版本,虚拟机尝试成功
2021.6 以元旦版为固件,基本形成系统
2021.1 开展尝试与总结