利用 mosdns + tpclash 搭建透明代理尚存的一些问题

15次阅读

共计 1069 个字符,预计需要花费 3 分钟才能阅读完成。

总结来说,就是设置了 mosdns 监听了 N1 的 53 端口,手机设置 dns 指向 N1,但是我看 mosdns 的日志,好像没有处理任何 dns 请求,请教一下可能的原因是什么。

我现在是利用 mosdns + tpclash 在 N1 上搭建了透明代理,mosdns 的 docker-compose.yml 配置如下:

version: '3'
services:
  mosdns:
    container_name: mosdns
    image: irinesistiana/mosdns:latest
    ports:
      - "5533:5533/udp"
      - "5533:5533/tcp"
    volumes:
      - /root/mosdns:/etc/mosdns
    restart: always

N1 上的 mosdns 负责处理 dns,对国内域名的 dns 请求,返回真实的解析出来的 ip,对于国外域名,则会返回一个 198.18.x.x 的 fakeip,主路由设置了静态路由表,对于 fakeip 的流量会被转发到 N1 上,tpclash 会处理。

主路由是刷了 padavan 的红米 ac2100,在 内部网络(LAN) -> DHCP 服务器 dnsmasq.servers 设置了 server=192.168.6.206#5533

但是这样的问题就是主路由下的所有设备都会受到影响,具备科学上网的功能,然而室友有意见;

所以我希望是能指定部分设备被透明代理;

我试过将 docker-compose.yml 监听的端口设置为 53,即修改为:

version: '3'
services:
  mosdns:
    container_name: mosdns
    image: irinesistiana/mosdns:latest
    ports:
      - "53:53/udp"
      - "53:53/tcp"
    volumes:
      - /home/zwyyy/mosdns:/etc/mosdns
    restart: always

mosdns 的 config.yaml 也是监听 tcp 和 udp 的 :53 端口,后面我尝试 padavan 中的 dnsmasq.servers 不再转发 dns 请求,即注释掉 server=192.168.6.206#5533

  - type: "udp_server"
    args: {entry: main_seq, listen: ":53"}

  - type: "tcp_server"
    args: {entry: main_seq, listen: ":53"}

然后我尝试着手机上设置静态 ip,即网关设置为主路由,dns 设置为 mosdns 所在的 N1 的 ip,但是好像没有效果,mosdns 似乎没有处理任何 dns 请求,应该如何排查呢?

正文完
 0