旁路由DNS上网代理的新玩法的保姆级教程:只要修改主路由的DNS为旁路由的IP
阿里云服务器 | 腾讯云服务器 | VPS2EZ:老牌低调VPS | ZJI:香港日本美国独服 |
LOCVPS服务周到 | HostKvm低调KVM VPS | 傲游主机:优质VPS | 80VPS:老牌VPS主机 |
搬瓦工:CN2 GIA线路 | CloudCone:性价比高 | JustMySocks科学上网 | RackNerd:超级便宜 |
JustMySocks科学上网 | 好用的宝塔面板 | 购买搬瓦工VPS | 恒创:香港CN2服务器 |
# 前话 # 传统意义上来说,使用旁路由上网代理,需要修改主路由的网关为旁路由IP, # 又或者需要上网代理的设备修改网络的静态IP地址里的网关为旁路由IP, # 并且不管你有没有上网代理,那么你的网络数据都要走一遍到旁路由处理, # 此教程实现的是,只把需要上网代理的域名走旁路由处理,而且不用修改网关, # 只需要修改主路由的DNS为旁路由的IP就行,真正做到旁路由挂了,也不影响主路由网络. # 因为主路由下可设置两个DNS,当第一个主DNS失败,会使用备用DNS查询. # 适合 Debian / Ubuntu / Armbian / DietPi # 不建议用Openwrt当旁路由系统,有局限性,换成完整的Linux体验吧,可玩更多. # 操作安装以下程序前,请先关闭旁路由系统的防火墙, # 并且确保 [53/80/443] 端口未被占用. # 在主路由上给你的旁路由绑定静态IP # 示例: 主路由IP: 192.168.1.1 旁路由器IP: 192.168.1.11 # ----------教程1安装配置AdGuardHome---------- # 项目网址 https://github.com/AdguardTeam/AdGuardHome # 安装AdGuardHome # 安装成功后,浏览器打开 http://IP:3000 # 首次安装配置 # 网页管理界面 > 监听接口-选择[所有接口] > 端口-填[3000] # DNS服务器 > 监听接口-选择[所有接口] > 端口-填[53] # 配置文件 /opt/AdGuardHome/AdGuardHome.yaml # 优化设置 # 设置 > DNS 设置 > 上游 DNS 服务器-填多个国内公共DNS # 设置 > DNS 设置 > 上游 DNS 服务器 > 选择-并行请求 # 设置 > DNS 设置 > 上游 DNS 服务器 > Bootstrap DNS 服务器 > 添加国内公共DNS # 设置 > DNS 设置 > DNS 服务配置 > 速度限制-填[0] # 设置 > DNS 设置 > DNS 服务配置 > 选择-禁用 IPv6 地址的解析 # 设置 > DNS 设置 > DNS缓存配置 > 缓存大小-填[16777216] > 覆盖最小TTL值-填[300] > 覆盖最大TTL值-填[1800] > 选择-乐观缓存 # 设置 > DNS 设置 > 访问设置 > 允许的客户端-留空 # 安装 resolvconf 配置旁路由 本地DNS apt-get install resolvconf -y # 编辑 /etc/resolvconf/resolv.conf.d/head 文件 # 添加 # 127.0.0.1 为旁路由本地IP,而 192.168.1.1 为主路由IP # 优先使用 127.0.0.1 ,如果查询失败就用 192.168.1.1 # 在你的主路由DHCP里,修改DNS设置 # 第一条填旁路由的IP,让旁路由的AdGuardHome优先接管DNS. # 第二条填主路由的IP,让主路由备用接管DNS. # ----------分割线---------- # ----------教程2安装配置v2raya---------- # 官网 https://v2raya.org/ # 安装成功后,浏览器打开 http://IP:2017 # 在第一次进入页面时,你需要创建一个管理员账号,请妥善保管你的用户名密码,如果遗忘,使用sudo v2raya --reset-password命令重置. 设置 > 透明代理/系统代理 > 选择-启用: 分流规则与规则端口所选模式一致 > 开启IP转发 设置 > 透明代理/系统代理实现方式 > 选择-tproxy 设置 > 规则端口的分流模式 > 选择-RoutingA > 配置 > 清空并添加以下内容: # ----------以下V2raya配置内容,请把里面内容替换你自己的---------- # ----------以上V2raya配置内容,请把里面内容替换你自己的---------- 设置 > 自动更新订阅 > 选择-每隔一段时间更新订阅(单位:小时) > 填[12] 设置 > 解析订阅链接/更新时优先使用 > 选择-跟随规则端口 # 永久开启路由转发 # 修改 /etc/sysctl.conf 文件 # 添加 # 让其即刻生效 sysctl -p # 记得把你的梯子添加好,然后运行. # 在本地SSH 测下能否正常翻.例如: curl -L www.google.com # ----------分割线---------- |
# ----------教程3安装配置SniProxy----------
# 项目网址 https://github.com/dlundquist/sniproxy
# 配置文件 /etc/sniproxy.conf
# 修改清空添加以下内容
# ----------以下SniProxy配置内容,请把里面内容替换你自己的----------
# ----------以上SniProxy配置内容,请把里面内容替换你自己的----------
# systemctl restart sniproxy 重启生效
# 接下来,测试下能否成功了.
# 添加 AdGuardHome 重写列表
# 在 AdGuardHome里
# 过滤器 > 自定义过滤规则 > 添加如下:
# ----------以下AdGuardHome重写内容,请把里面内容替换你自己的----------
# ----------以上AdGuardHome重写内容,请把里面内容替换你自己的----------
# 特别注意:这个旁路由IP,是你主路由给旁路由分配的IP,而不是127.0.0.1
# 例如在主路由上给旁路由绑定静态IP为:192.168.1.11,那就在规则上替换为这个.
# 然后在电脑或者手机打开你的浏览器访问www.google.com 或 www.有图比.com 测试能否访问了.
# 我尽量说得明白给你看,你自己慢慢绕着理解,单独拿出来说
# ||google.com^$client=~127.0.0.1,dnsrewrite=旁路由IP
# 匹配google.com域名以及子域名,并排除IP为 ~127.0.0.1 的客户端,然后重写A记录到旁路由IP
# 由于AdGuardHome在旁路由上运行,并且旁路由默认设置使用的DNS也是为 127.0.0.1 ,所以旁路由的本地IP是127.0.0.1
# 而 dnsrewrite 的也是旁路由IP,不过这个不是本地的127.0.0.1 IP,而是主路由给旁路由分配的IP,例如:192.168.1.11
# 由于我们要给局域网的设备把需要上网代理的域名都重写到旁路由IP,让自带v2raya上网代理的旁路由sniproxy处理返回,
# 所以大家都在同一主路由下并分配了IP,大家要互相访问,那就要用到主路由给的IP了,所以 dnsrewrite 是这样理解.
# 这个规则就是匹配需要上网代理的域名,并把旁路由设备自身排除在规则外,然后把域名重写A记录IP到旁路由,如果旁路由都应用这个规则就死循环了.
# 上面的那些演示规则,我只测试google和有图比的,更多的请参考:
# 国内被墙的域名 高墙List https://raw.githubusercontent.com/高墙list/高墙list/master/高墙list.txt 自己下载回用base64解码分析
# 然后参考这里的 https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists Adblock编写规则语法
# 写成你自己的规则文件,放在直链下,或者旁路由上安装个http,放在上面.
# 在AdGuardHome > 过滤器 > DNS 黑名单 > 添加黑名单,添加上规则的直链就行.
相信各位都了解过 奈飞DNS解锁吧,我这个原理是相同的,利用了sniproxy,不过是在本地使用。
别忘了,给你的规则添加上这些解锁网站的,
看这里https://raw.githubusercontent.com/ab77/netflix-proxy/master/proxy-domains.txt。
评论专区