clash旁路由

@果酱  August 5, 2024

一直不太明白啥是旁路由,记录一下

旁路由和系统代理的主要区别

  1. 旁路在指定IP和网关,使请求以路由形式处理
  2. 代理和旁路由可以叠加
  3. 简单的方法是IP自动,只设置代理就行了

旁路由存在问题

  1. 有些地址会失效断网,面代理不会
  2. clash上没有对旁路由的日志,是日志级别设置有关?

clash开启旁路由

  1. config 设置

    redir-port: 7892 #指定路由端口
    mixed-port: 7890
    ipv6: false
    allow-lan: true
    mode: Rule
    log-level: info
    external-controller: '0.0.0.0:9090'
    external-ui: ui
    secret: ''
    tun:
      enable: true
      stack: system
      dns-hijack:
     - tcp://8.8.8.8:53
     - udp://8.8.8.8:53
    dns:
      listen: 0.0.0.0:53 #路由监听端口
      fake-ip-range: 198.18.0.1/16
      default-nameserver:
     - 114.114.114.114
     - 119.29.29.29
     - 223.5.5.5
      enable: true
      enhanced-mode: fake-ip   #redir-host 指定路由模式
      fallback-filter:
     geoip: true
     ipcidr:
       - 240.0.0.0/4
      ipv6: false
      nameserver:
     - 114.114.114.114
     - 119.29.29.29
     - 223.5.5.5
     - https://223.5.5.5/dns-query
     - https://223.6.6.6/dns-query
     - https://doh.pub/dns-query
      use-hosts: true

    需要注意的配置:redir-port, dns.listen, dns.enhanced-mode
    如果53被占用:关闭53系统DNS占用

  2. 开启ipv4转发
    临时 echo 1 > /proc/sys/net/ipv4/ip_forward
    永久 修改 /etc/sysctl.conf 配置文件
  3. 设置系统路由

    iptables -t nat -N CLASH
    iptables -t nat -A CLASH -d 10.0.0.0/8 -j RETURN
    iptables -t nat -A CLASH -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A CLASH -d 169.254.0.0/16 -j RETURN
    iptables -t nat -A CLASH -d 172.16.0.0/12 -j RETURN
    iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A CLASH -d 224.0.0.0/4 -j RETURN
    iptables -t nat -A CLASH -d 240.0.0.0/4 -j RETURN
    iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892 # 不是7890

    科学上网
    linux net.ipv4.ip_forward 数据包转发
    linux 53端口占用的原因


添加新评论

  1. 不错不错,我喜欢看 www.jiwenlaw.com

    Reply