记Openwrt+旁路由实现dns劫持分流加密 |
您所在的位置:网站首页 › 旁路由dns错误 › 记Openwrt+旁路由实现dns劫持分流加密 |
需求:
劫持并加密所有明文DNS请求,对于大陆的IP直接使用阿里公共DNS(https://223.5.5.5/dns-query)实现加密解析,非大陆IP走1.1.1.1,实现对不同域名分流查询。 另外由于校园网域名解析结果都是内网IP,需要走UDP53协议才能被学校劫持,因此这部分DNS请求需要转发到114.114.114.114。 架构:Openwrt主路由 IP:192.168.1.1 OrangePi Zero 2旁路由 IP:192.168.1.2 在Openwrt内LAN口自定义DCHP Option,设置网关为旁路由IP,DNS服务器为主路由IP。 具体设置: 主路由 1.设置网关为192.168.1.2, DNS服务器为192.168.1.1 2.DHCP/DNS设置下设置DNS转发和重绑定保护白名单转发到旁路由53端口也可,mosdns-cn可以取代systemd-resolved作为域名解析服务,并且能够加密请求。 补充:设置忽略解析文件,指定主路由接口DNS如果没有设置忽略解析文件,发往192.168.1.1 的dns请求将不会被转发到旁路由!只有在主路由上发往127.0.0.1的dns请求会被转发到旁路由,太坑了! 设置忽略解析文件在我这边会莫名其妙自动取消,所以需要给每个接口指定DNS服务器为192.168.1.2 3.劫持所有明文DNS请求到主路由,防止DNS泄露参考 [OpenWrt Wiki] DNS hijacking uci -q delete firewall.dns_int uci set firewall.dns_int="redirect" uci set firewall.dns_int.name="Intercept-DNS" uci set firewall.dns_int.src="lan" uci set firewall.dns_int.src_dport="53" uci set firewall.dns_int.proto="tcp udp" uci set firewall.dns_int.target="DNAT" uci set firewall.dns_int.dest="lan" uci set firewall.dns_int.dest_ip="192.168.1.1" uci commit firewall /etc/init.d/firewall restart至此已经完成了主路由方面的设置。 主路由转发DNS查询给旁路由并缓存查询结果,对特定域名使用自定义DNS服务器查询。 旁路由旁路由需要安装v2raya和mosdns-cn,github地址: https://github.com/v2rayA/v2rayA https://github.com/IrineSistiana/mosdns-cn v2raya设置:透明代理开启,IP转发和端口分享开启。 mosdns-cn配置: ./mosdns-cn -s :53 --local-upstream 'https://223.5.5.5/dns-query' --local-ip 'geoip.dat:cn' --local-domain 'geosite.dat:cn' --remote-upstream 'https://1.1.1.1/dns-query' --remote-domain 'geosite.dat:geolocation-!cn' --log-file /tmp/mosdns.log -v测试正常后可以以服务的形式安装 ./mosdns-cn --service install -s :53 --local-upstream 'https://223.5.5.5/dns-query' --local-ip 'geoip.dat:cn' --local-domain 'geosite.dat:cn' --remote-upstream 'https://1.1.1.1/dns-query' --remote-domain 'geosite.dat:geolocation-!cn' --log-file /tmp/mosdns.log -v ./mosdns-cn --service start最后: 设置IP为静态,地址192.168.1.2,网关192.168.1.1,DNS服务器127.0.0.1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |