【Hyper-V】PaoPaoDNS-Gateway 速建海淘:DNS 智能分流专用网关图文教程(视频说明)
-
这可能是最简单好用的 DNS 自动分流和上网海淘专用网关设置:PaoPaoDNS 服务器自动判断国内外分流地址,无需多余的额外设置,就可以实现很多以前在 lede 上折腾的效果,而且体积巨小,虚拟机无需添加虚拟磁盘,直接用 ISO 镜像启动即可实现上网海淘。
顺便送给大家最新版本的 Win10 22H2 工作站 Hyper-V 软路由专用版,新增诸多优化。选用工作站,是因为其对网卡的兼容性更好,还可以支持 VMware 虚拟机启动,推荐大家使用(另有 Win11/10/Server2019 Hyper-V 软路由专用版,对应客户端全版本)。
PaoPaoDNS 是一个能一键部署递归 DNS 的 docker 镜像:使用 unbound 作为递归服务器程序,redis 作为底层缓存;针对中国大陆,还有智能按 CN 分流加密查询的功能,也可以自定义分流列表,自动更新 IP 库;分流使用 mosdns 程序,加密查询使用 dnscrypt 程序,对 IPv4/IPv6 双栈用户也有优化处理。
PaoPaoGateWay 是一个体积小巧、稳定强大的 FakeIP 网关,系统由 OpenWrt 定制构建,核心由插件驱动,支持 Full Cone NAT,支持多种方式下发配置、多种出站方式(自定义 socks5、自定义 yaml IP 地址、订阅模式、自由出站),支持 IP 地址测速自动选择、IP 地址排除等功能,并附带 web 面板可供查看日志与连接信息。PaoPaoGateWay 可以和其他 DNS 服务器一起结合使用,比如配合 PaoPaoDNS 的 CUSTOM_FORWARD 功能,就可以完成简单精巧的分流。
项目地址:

Win10 Hyper-V 虚拟机 PaoPaoDNS-Gateway 磁盘镜像下载地址:
22H2_Hyper_x64_19045.2965_Lite.esd(1.32G)- MD5:
80B71F061DFD66930A101BE69230C739 - 网盘分流:123 云盘 / 百度网盘 / 谷歌网盘(下载链接见视频教程简介)
之前一直在使用 lede psw 上网海淘,旁路模式(常用的网关互指),但有一个问题:所有流量都跑网关上去了,包括国内的——最常见的就是打开淘宝,地址跑到了你 IP 地址服务器的位置。可以添加直连规则,但效果总不尽如人意。
所以上网海淘的最终取舍,其实就到了 DNS 的合理优化。目前最好用的方案无疑就是 Fake IP,具体原理可参见《FakeIP 网关的工作原理》。顺便推荐一位油管大佬——不良林,他做了好几期 DNS 分流相关的视频,讲得非常精彩,老少皆宜,可以配合文章一起食用,加深理解。
后面也尝试过自建 DNS 服务器,包括 adhome、smartdns、pihole,网上抄作业,能用,但都不好用。直到最近发现 PaoPaoDNS,感觉是真好用,而且搭建门槛极低;搭配 PaoPaoGateWay,以后就可以直接脱离 lede 的编译了——一个 47MB 的网关镜像,直接上网海淘。
我的方案基于 alpine linux 搭建,主要就是体积小。默认已经安装好了 docker,只需要自己配置下网关 IP、拉取下 docker 镜像,就可以使用了,无需任何额外配置:
视频教程: https://www.bilibili.com/video/BV1pW4y1Q7zf/

视频最后的演示忘了说 Hyper-V 宿主机 IP 配置,下面补上:
以太网适配器 vEthernet (sw): 描述 . . . . . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2 IPv4 地址 . . . . . . . . . . . . : 192.168.1.22(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关 . . . . . . . . . . . . : 192.168.1.1 DNS 服务器 . . . . . . . . . . . : 192.168.1.5一、搭建和配置说明
1、 首先安装配置好 Hyper-V 虚拟机,建好主路由,包括接口桥接、DHCP 等;
2、 先不要动当前的上网海淘网关配置,导入提供的 alpine-docker 和 PaoPaoGateWay-编译 Hyper-V 虚拟机磁盘备份。开启 alpine-docker,修改下 IP,网关设为当前上网海淘的地址,方便后面拉取 Docker 镜像:
- 默认 IP:
192.168.1.6 - 账号:
root - 密码:
admin
3、 SSH 连接虚拟机,配置 IP 和 DNS:
nano /etc/network/interfaces // 修改 IP、网关地址 nano /etc/resolv.conf // 修改 DNS 地址,可以用自建或者公网 IP4、 网络没问题了,直接拉取 paopaodns docker 镜像,将下面配置的远程转发 IP 设置为你自建的网关地址,后面端口号等其他保持不变,然后执行即可完成 DNS 服务器搭建。DNS 服务器因为有 redis 缓存,有效的大内存会提升命中率,建议有条件 2G 内存起步:
2023/11/03 更新说明:新增
USE_MARK_DATA参数——自动更新下载预先标记处理的全球百万域名库,判断大陆分流时优先使用该数据(该功能仅标记数据);新增RULES_TTL参数——可配合 FAKEIP 网关的低 TTL 使用,如果网关不经常重启可以有效利用缓存;新增SHUFFLE参数——对解析结果进行洗牌实现 Round-robin DNS;新增ADDINFO参数——在 DNS 查询结果中增加 ADDITIONAL SECTION 的调试信息(结果来源、查询延迟、失败原因等);新增CN_TRACKER参数——强制 trackerslist.txt 里 tracker 的域名走 dnscrypt 解析,更新数据时自动下载最新 tracker list。具体详情参考作者更新页面:https://github.com/kkkgo/PaoPaoDNS# 拉取最新的 docker 镜像 docker pull sliamb/paopaodns:latest # 设置环境变量(修改 192.168.1.3 为你自己的网关地址,其他无需修改) docker run -d \ --name paopaodns \ -v /home/mydata:/data \ -e UPDATE=weekly \ -e CNAUTO=yes \ -e CNFALL=yes \ -e CN_TRACKER=yes \ -e IPV6=no \ -e CUSTOM_FORWARD=192.168.1.3:53 \ -e AUTO_FORWARD=yes \ -e AUTO_FORWARD_CHECK=yes \ -e USE_MARK_DATA=yes \ -e ADDINFO=yes \ -e SHUFFLE=yes \ -e RULES_TTL=604800 \ -e TZ=Asia/Shanghai \ --restart unless-stopped \ -p 53:53/tcp -p 53:53/udp \ -p 5304:5304/tcp -p 5304:5304/udp \ sliamb/paopaodns二、网关镜像编译
开启 PaoPaoGateWay-编译 虚拟机,IP 配置参考 alpine-docker 设置部分。已经拉取了最新版本的 paopaogateway docker 镜像,默认 IP 为
192.168.1.8,账号密码:root/admin。SSH 连接虚拟机,需要修改这几个地方:
- network.ini:修改编译后网关的 IP、DNS 服务器地址。DNS 服务器地址设为上面刚搭建的 DNS 服务器地址,IP 为你自建的网关地址,需要和刚才 Docker 配置的
-e CUSTOM_FORWARD=192.168.1.3:53的 IP 地址一致; - custom.yaml:这是插件的配置文件,默认使用 Clash Meta 内核,可以支持 xray reality 的最新协议,不用再去其他网站转换地址,只需简单修改。其他协议可以参考 Clash Meta Wiki 页面,只需配置下面这个字段即可,不用配置其他规则等,这里是插件协议配置示例:
proxies: - name: "xary 1.8.1" type: 插件 server: 1.1.1.1 port: 120000 uuid: 110f671a-2379-4c7d-b392-66efb32346b5 network: tcp tls: true udp: true flow: xtls-rprx-vision servername: www.microsoft.com # REALITY servername reality-opts: public-key: vwRmsGXn0MIc9A1NsEcelQ6hUxAPx5gt2jyv1k2D8CI short-id: d9178661 # optional client-fingerprint: chrome # cannot be empty- ppgw.ini:Yacd UI 面板登录密码设置,只需要
插件_web_password设置项,默认登录密码为admin,登录地址为:网关IP地址/ui
6、 执行下面命令打包成 ISO 镜像,然后在 Hyper-V 新建虚拟机,最后一步无需使用磁盘,完成后在虚拟机设置里加载刚才打包的 ISO 镜像,直接光驱启动即可,内存建议配置 1G:
docker pull sliamb/ppgwiso // 可以不用拉取,直接执行下面一句打包 # 生成网关 ISO 文件(视频中推荐使用嗅探配置,实测不需要添加嗅探参数网关也可以良好使用,【推荐直接使用默认配置即可】) docker run --rm -v .:/data sliamb/ppgwiso三、静态路由添加
最后一步:在主路由添加静态路由,将 Fake IP 地址池
7.0.0.0/8指向搭建的网关地址。下面是我在 RouterOS 上添加的(IP-Routes),其他路由请自行添加:
然后主路由的默认网关地址为路由自身,DNS 为 PaoPaoDNS 服务器 IP 地址,即可顺利上网海淘:

至此搭建结束。
拓扑与成品
这是我的自建网络的简易拓扑图:

下面是搭建的成品:


请使用微信扫一扫