软路由使用 Clash Tun 模式下,如何代理 telegram - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yikyo
V2EX    宽带症候群

软路由使用 Clash Tun 模式下,如何代理 telegram

  •  
  •   yikyo 2021-11-30 09:16:37 +08:00 6082 次点击
    这是一个创建于 1410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    软路由使用了基于 debian 的 vyos 系统,仅将 dns 流量转发到 53 端口

    其他应用都没有什么问题,就是 TG 无法使用,TG 配置代理也不行( SOCKS5 10.0.0.1:7890 )

    从 Clash debug 日志中看不到任何信息,TG 配置代理后,会有几个 IP 的流量信息

    请问如何解决此问题,万分感谢

    mxed-port: 7890 allow-lan: true mode: rule log-level: silent external-controller: 0.0.0.0:9090 dns: enable: true listen: 0.0.0.0:53 ipv6: false enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 nameserver: - 10.0.0.1:5553 tun: enable: true stack: system 
    set interfaces bridge br0 address '10.0.0.1/24' set interfaces bridge br0 member interface eth1 set interfaces bridge br0 member interface eth2 set interfaces ethernet eth0 address 'dhcp' set interfaces ethernet eth0 hw-id 'e4:3a:6e:2d:5d:6e' set interfaces ethernet eth1 hw-id 'e4:3a:6e:2d:5d:6f' set interfaces ethernet eth2 hw-id 'e4:3a:6e:2d:5d:70' set interfaces loopback lo set nat destination rule 100 destination address '!10.0.0.1' set nat destination rule 100 destination port '53' set nat destination rule 100 inbound-interface 'br0' set nat destination rule 100 protocol 'tcp_udp' set nat destination rule 100 source address '10.0.0.0/24' set nat destination rule 100 translation address '10.0.0.1' set nat source rule 300 outbound-interface 'eth0' set nat source rule 300 source address '10.0.0.0/24' set nat source rule 300 translation address 'masquerade' set service dhcp-server shared-network-name Lan subnet 10.0.0.0/24 default-router '10.0.0.1' set service dhcp-server shared-network-name Lan subnet 10.0.0.0/24 lease '86400' set service dhcp-server shared-network-name Lan subnet 10.0.0.0/24 name-server '10.0.0.1' set service dhcp-server shared-network-name Lan subnet 10.0.0.0/24 range 100 start '10.0.0.100' set service dhcp-server shared-network-name Lan subnet 10.0.0.0/24 range 100 stop '10.0.0.200' set service ssh port '22' set system config-management commit-revisions '100' set system host-name 'vyos' set system name-server '202.101.172.35' set system name-server '202.101.172.47' set system ntp server time.apple.com set system ntp server time.asia.apple.com set system syslog global facility all level 'info' set system syslog global facility protocols level 'debug' set system time-zone 'Asia/Shanghai' 
    18 条回复    2022-11-04 11:52:20 +08:00
    terrancesiu
        1
    terrancesiu  
       2021-11-30 09:33:13 +08:00
    redir
    -A PREROUTING -s 172.31.0.0/16 -d 91.108.4.0/22 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 91.108.8.0/22 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 91.108.56.0/22 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 109.239.140.0/24 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 149.154.160.0/20 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 23.246.0.0/18 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 37.77.184.0/21 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 45.57.0.0/17 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 64.120.128.0/17 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 66.197.128.0/17 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 108.175.32.0/20 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 192.173.64.0/18 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 198.38.96.0/19 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    -A PREROUTING -s 172.31.0.0/16 -d 198.45.48.0/20 -p tcp -m tcp ! --dport 22 -j REDIRECT --to-ports 3128
    yikyo
        2
    yikyo  
    OP
       2021-11-30 09:34:22 +08:00
    @terrancesiu 是需要用 iptables 将流量导到 clash 吗
    lmoon
        3
    lmoon  
       2021-11-30 09:39:27 +08:00
    这不是你规则的问题吗
    yikyo
        4
    yikyo  
    OP
       2021-11-30 09:50:10 +0800
    @lmoon 尝试过添加规则没有解决,我从官方 issue 中发现也有类似的问题。
    有一个现象,我开 debug 模式查看日志,没有任何信息,感觉像流量没过 clash 。
    如果是规则的问题,应该还是会有日志,而且我设置为全局模式,telegram 仍然无法使用。
    ziseyinzi
        5
    ziseyinzi  
       2021-11-30 09:55:05 +08:00
    telegram 直接使用 ip,你这个 fake-ip 方案只对域名有效
    ghjexxka
        6
    ghjexxka  
       2021-11-30 09:57:57 +08:00
    试试看给 tg 配一个地址是域名的 mtp 公共代理呢
    yikyo
        7
    yikyo  
    OP
       2021-11-30 10:03:18 +08:00
    @ziseyinzi 所以需要怎么解决,换成 redir ?
    noahzh
        8
    noahzh  
       2021-11-30 10:03:19 +08:00
    你没有理解 clash tun 模式工作原理,你用的是 fake ip 模式.但是 telegram 是直接连接 ip 不是走域名.
    yikyo
        9
    yikyo  
    OP
       2021-11-30 10:09:07 +08:00
    @noahzh 嗯,看了 5#的回答,大概了解问题了,但是还是有点疑问,clash 规则中针对 ip 部分的配置,fake-ip 下是无效的吗?
    yikyo
        10
    yikyo  
    OP
       2021-11-30 10:17:55 +08:00
    @ghjexxka 感谢,我等会尝试一下,感觉这个方案最简单点。但是还是想了解一下具体原因。方便以后排查问题
    terrancesiu
        11
    terrancesiu  
       2021-11-30 10:19:16 +08:00
    @yikyo 是的,假设你的局域网是 173.1.0.0/16,clash 的 redir 端口是 3128 。因为 fakeip 模式,只针对于域名,如果 ip 直连需要重定向
    noahzh
        12
    noahzh  
       2021-11-30 13:55:53 +08:00
    tun 就是一个网卡他只接收你 fakeip 的流量,这样理解就完了.
    dcty
        13
    dcty  
       2021-11-30 14:00:28 +08:00
    对网络相关配置不熟悉的话,可以试一下 shellclash
    yikyo
        14
    yikyo  
    OP
       2021-11-30 18:58:59 +08:00
    @noahzh 还是想请教一下大佬,tun 模式下如何解决 ip 直联的情况,常规的解决方案是什么
    zhouzm
        15
    zhouzm  
       2021-12-05 10:48:32 +08:00   1
    既然软路由了,应该专业的软件干专业的事:
    1. ipset 配合 https://github.com/gaoyifan/china-operator-ip 生成中国 ip 集。
    2. 使用 coredns 的插件 dnsredir ( https://github.com/missdeer/coredns_custom_build ) 解决纯净 dns 问题
    3. 任意支持透明代理的软件即可,提供一个本机端口,代理所有流量到远程,无需复杂配置,只要解决网络通道就行。
    4. iptables + ipset ,非中国 ip 走透明代理端口,记得把局域网段排除掉

    这种模式下,局域网下任意客户端上的任意软件都是一样的,访问国内 ip 走原始网络,其他 ip 走透明代理。
    yikyo
        17
    yikyo  
    OP
       2022-07-09 19:40:28 +08:00
    @smilingsun 非常感谢,找个时间测试一下
    jemyzhang
        18
    jemyzhang  
       2022-11-04 11:52:20 +08:00
    @yikyo 请问你有没有设置成功?我在设置路由下一条的时候出错了。
    ```
    root@OpenWrt:~# route add -net 91.108.4.0/22 gw 198.18.1.254
    route: SIOCADDRT: Network unreachable
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2588 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 00:02 PVG 08:02 LAX 17:02 JFK 20:02
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86