clash tun 模式下自动插入的 ip rule 的作用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ioiioi
V2EX    问与答

clash tun 模式下自动插入的 ip rule 的作用

  •  
  •   ioiioi 2022-09-23 05:47:47 +08:00 2920 次点击
    这是一个创建于 1167 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近准备使用 clash permium 中的 tun 来实现透明代理,但在使用过程中碰到一些疑问,首先我很困惑的是 clash permium 自动插入的 ip rule 是什么意思?

    > sudo ip rule ls 0: from all lookup local 1000: from all lookup [l3mdev-table] 9000: not from all ipproto tcp goto 9060 9000: from all dport 53 goto 9060 9000: from all iif lo sport 7777 goto 9060 9010: from all to 192.18.0.0/16 lookup 1919247465 9020: from all lookup main suppress_prefixlength 0 9030: not from all iif lo lookup 1919247465 9040: from 0.0.0.0 iif lo uidrange 0-4294967294 lookup 1919247465 9050: from 192.18.0.5 iif lo uidrange 0-4294967294 lookup 1919247465 9060: from all nop 9500: from all to 192.18.0.0/16 lookup 1970566510 9510: from all ipproto icmp goto 9560 9520: not from all dport 53 lookup main suppress_prefixlength 0 9530: not from all iif lo lookup 1970566510 9540: from 0.0.0.0 iif lo uidrange 0-4294967294 lookup 1970566510 9550: from 192.18.0.1 iif lo uidrange 0-4294967294 lookup 1970566510 9560: from all nop 32766: from all lookup main 32767: from all lookup default 

    除了 0 ,1000 ,32766 和 32767 是有明确的意思外,为何 clash 添加了这么多条记录,是啥意思? 接着,我有执行了 ip route show table all

    > sudo ip route show table all | grep utun default dev utun table 1970566510 proto unspec 192.18.0.0/16 dev utun proto kernel scope link src 192.18.0.1 broadcast 192.18.0.0 dev utun table local proto kernel scope link src 192.18.0.1 local 192.18.0.1 dev utun table local proto kernel scope host src 192.18.0.1 broadcast 192.18.255.255 dev utun table local proto kernel scope link src 192.18.0.1 fe80::/64 dev utun proto kernel metric 256 pref medium local fe80::3b91:83c6:157c:91ad dev utun table local proto kernel metric 0 pref medium multicast ff00::/8 dev utun table local proto kernel metric 256 pref medium > sudo ip route show table all | grep redir default via 192.18.0.6 dev redir table 1919247465 proto unspec 192.18.0.0/16 dev redir proto kernel scope link src 192.18.0.5 broadcast 192.18.0.0 dev redir table local proto kernel scope link src 192.18.0.5 local 192.18.0.5 dev redir table local proto kernel scope host src 192.18.0.5 broadcast 192.18.255.255 dev redir table local proto kernel scope link src 192.18.0.5 fe80::/64 dev redir proto kernel metric 256 pref medium local fe80::872:3eff:fe29:d33f dev redir table local proto kernel metric 0 pref medium multicast ff00::/8 dev redir table local proto kernel metric 256 pref medium 

    后面是我的 clash 配置:

    log-level: info allow-lan: true mode: rule ipv6: false routing-mark: 6666 profile: store-selected: true store-fake-ip: true tun: # 启用 tun 模式 enable: true stack: system auto-route: true auto-detect-interface: true dns: enable: true ipv6: false listen: 0.0.0.0:53 default-nameserver: - 233.5.5.5 - 119.29.29.29 enhanced-mode: fake-ip nameserver: - https://dns.alidns.com/dns-query #后面未相关的配置省略 ... 
    5 条回复    2022-11-08 15:45:11 +08:00
    Jirajine
        1
    Jirajine  
       2022-09-23 07:20:31 +08:00
    你都用 premium 了,就不应该关系它具体做了什么,能用就行。这样才是一个合格的闭源软件用户。
    ioiioi
        2
    ioiioi  
    OP
       2022-09-23 08:24:38 +08:00
    因为我碰到问题了,要排错,所以需要知道工作原理才能定位问题。
    noahzh
        3
    noahzh  
       2022-09-23 08:45:55 +08:00
    tun 模式是使用 fake-ip ,ip 规则是把 fake-ip 请求转发给 clash
    ioiioi
        4
    ioiioi  
    OP
       2022-09-23 09:34:45 +08:00
    问题 1:pc 默认路由应该配成旁路由的 ip 吗?
    我的网络拓扑是这样:
    1 、有一个主路由上联宽带下联交换机,主要负责 pppoe 拨号、nat 和对内网的 dhcp ;
    2 、旁路由(物理网卡配了内网 ip )是一台树莓派,安装了 clash premium ,启用 tun 作为透明代理,只有一条网线,上联交换机;
    3 、ap 和 pc 通过网线上联交换机;
    4 、pc 获得的内网 ip 与旁路有、主路由同网段,可通过无线可以访问旁路有和主路由。
    问题 2:ip rule 是如何工作的?
    主要的困惑是不理解 ip rule 的写法和匹配流程。linux 在匹配路由表的时候,还能支持挑转?譬如
    ```
    9000: not from all ipproto tcp goto 9060
    ...
    9060: from all nop
    ```
    这两条语句是路由表吗?隶属于同一个 table ,还是分别隶属于 9000 和 9060 这两个 table ?
    然而我用 ip route show table all 看到的又跟 ip rule ls 不匹配,这给我造成很大困扰。
    tony1016
        5
    tony1016  
       2022-11-08 15:45:11 +08:00
    @ioiioi lookup 才是路由表,goto 只是跳到某一个 rule
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     966 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 22:36 PVG 06:36 LAX 14:36 JFK 17:36
    Do have faith in what you're doing.
    ubao msn 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