V2EX 您所在的位置:网站首页 mosdns分流 V2EX

V2EX

#V2EX| 来源: 网络整理| 查看: 265

skies457:

思路主要是:

mosdns 提供屏蔽广告、分流 DNS (国内走 DOH 、国外走 clash DNS 拿 Fake IP )功能 通过 nftables 规则将国外 IP 以及 Fake IP 段的流量通过 TPROXY 劫持到 clash ,国内流量直连

不考虑代理 IPv6 流量(理论上是可以的,但是移动网络 IPv6 国内访问质量堪忧,还是关闭了 IPv6 解析)

mosdns 的 config.yaml:

log: level: info plugins: - tag: main type: sequence args: # 广告屏蔽 # anti-ad-domains.txt 下载地址: https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-domains.txt - matches: - \"qname &./anti-ad-domains.txt\" exec: reject 3 # 缓存 - exec: cache 1024 - matches: - \"has_resp\" exec: accept # 命中 proxy-list 的域名直接转发到 clash DNS # proxy-list.txt 下载地址: https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt # 这里我在 docker 里面跑 mosdns ,所以转发地址写的是 host.docker.internal:7853 - matches: - \"qname &./proxy-list.txt\" exec: forward host.docker.internal:7853 - matches: - \"has_resp\" exec: accept # 查询腾讯云 DOH - exec: prefer_ipv4 - exec: forward https://1.12.12.12/dns-query https://120.53.53.53/dns-query # 如果返回 IP 不是大陆 IP ,就转发到 clash DNS # CN-ip-cidr.txt 下载地址: https://github.com/Hackl0us/GeoIP2-CN/raw/release/CN-ip-cidr.txt - matches: - \"!resp_ip &./CN-ip-cidr.txt\" exec: forward host.docker.internal:7853 - type: udp_server args: entry: main listen: 0.0.0.0:53

nftables 脚本:

#!/bin/sh # 为 TPROXY 设置基于 fwmark 的路由 ip rule del fwmark 0xfd lookup 110 >/dev/null 2>&1 ip rule add fwmark 0xfd lookup 110 ip route replace local default dev lo table 110 # 如果把 clash 放在 docker 里,需要将 network 设为 host 并关闭 bridge-nf-call-iptables ,否则 TPROXY 对局域网来的包会失效: https://stackoverflow.com/a/75607239/612944 sysctl -w net.bridge.bridge-nf-call-arptables=0 sysctl -w net.bridge.bridge-nf-call-iptables=0 sysctl -w net.bridge.bridge-nf-call-ip6tables=0 # CN-ip-cidr.txt 下载地址同 mosdns 配置 CNIP=$(cat /etc/clash/CN-ip-cidr.txt | sed \'/^[[:space:]]*$/d\' | tr \'\\n\' \',\' | sed \'s/,$//\') nft delete table ip clash >/dev/null 2>&1 nft -f -


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有