使用CLASH实现透明代理

此文章仅作为操作记录,并无自研及开发操作。

(2020/7/9)目前使用的是socks5代理方式,可以满足TV,NAS(部分应用),手机,iPad等的上网需求,但是无法做到透明代理,此处记录一下透明代理的做法。

透明代理:终端不需要配置代理,即可完成代理上网的上网方式。

Clash安装在NAS上,开放端口给其他设备作为DNS/网关,从而达到代理上网。以下两篇文章作为参考:

https://a-wing.top/network/2020/02/22/bypass_gateway-1_clash.html

https://blog.e9china.net/tufan/clash-proxy-daili.html

Clash配置文件加入DNS设置:

dns:
  enable: true
  ipv6: false
  listen: [NAS's IP]:53
  #enhanced-mode: fake-ip
  enhanced-mode: redir-host
  nameserver:
    - 114.114.114.114
    - 223.5.5.5
    - tls://dns.rubyfish.cn:853
  fallback:
    - 114.114.114.114
    - tls://dns.rubyfish.cn:853
    - 8.8.8.8

iptables设置转发规则

iptables -t nat -N Clash
iptables -t nat -A Clash -d 192.168.0.0/16 -j RETURN
iptables -t nat -A Clash -p tcp -j REDIRECT --to-ports 7892
iptables -t nat -A PREROUTING -p tcp -j Clash
iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 7892

Done.