clash-tproxy 设置网关代理
config.yml 配置
增加 redir-port tproxy-port
#!/usr/bin/env bash
rm -f config.yaml
wget -O config.yaml ${URL}
sed -i 's/port: 7890/port: 8888/' config.yaml
sed -i 's/socks-port: 7891/socks-port: 8889/' config.yaml
sed -i '3 s/^/redir-port: 8890\n/' config.yaml
sed -i '4 s/^/tproxy-port: 8891\n/' config.yaml
sed -i 's/external-controller: :9090/external-controller: 0.0.0.0:6170/g' config.yaml
启动 clash
clash -d . # 启动clash
部署 yacd
clash 控制面板 用 docker 部署
docker run -p 8080:80 -d --restart=always --name yacd haishanh/yacd
访问网页 连接部署ip http://${ip}:6170
设置允许 ipv4 转发
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf && sysctl -p
iptables redirect 设置透明代理
#!/usr/bin/env bash
set -euo pipefail
iptables -t nat -N clash
iptables -t nat -A clash -d 10.10.10.0/24 -j RETURN
iptables -t nat -A clash -p tcp -j RETURN -m mark --mark 0xff
iptables -t nat -A clash -p tcp -j REDIRECT --to-ports 8890
iptables -t nat -A PREROUTING -p tcp -j clash
iptables tproxy 透明代理设置
tproxy 模块加载
tproxy 需要加载内核模块 xt_TPROXY
# 加载 tproxy
sudo modprobe xt_TPROXY
# /etc/modules-load.d/TPROXY.conf
xt_TPROXY
iptables 设置转发到 clash 的 tproxy-port
#!/usr/bin/env bash
set -euo pipefail
# ROUTE RULES
ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100
# CREATE TABLE
iptables -t mangle -N clash
# RETURN LOCAL AND LANS
iptables -t mangle -A clash -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A clash -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A clash -d 192.168.50.0/16 -j RETURN
iptables -t mangle -A clash -d 192.168.9.0/16 -j RETURN
iptables -t mangle -A clash -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A clash -d 240.0.0.0/4 -j RETURN
# FORWARD ALL
iptables -t mangle -A clash -p udp -j TPROXY --on-port 8891 --tproxy-mark 1
iptables -t mangle -A clash -p tcp -j TPROXY --on-port 8891 --tproxy-mark 1
# REDIRECT
iptables -t mangle -A PREROUTING -j clash
未完内容
- 持久
iptables设置 service持久化