下载地址
https://github.com/Dreamacro/clash/releases/tag/premium
配置项
# HTTP端口
port: 7890
# SOCKS5端口
socks-port: 7891
# 透明代理端口
redir-port: 7892
#允许来自局域网的连接
allow-lan: true
日志级别
log-level: info
# 控制面板端口
external-controller: 0.0.0.0:9090
# 控制面板路径
external-ui: clash-ui
# 控制面板密码
secret: "123456"
# dns设置
dns:
enable: true
ipv6: false
listen: 0.0.0.0:1053
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 114.114.114.114
- https://dns.alidns.com/dns-query
fallback:
- tls://8.8.4.4:853
- https://dns.pub/dns-query
# tun模式设置
tun:
enable: true
stack: system # or gvisor
dns-hijack:
- any:53
auto-detect-interface: true
# 域名劫持设置
hosts:
#clash.dev: 192.168.1.1
#'.dev': 127.0.0.1
开启流量转发
#!/bin/bash
# 启用ipv4 forward
sysctl -w net.ipv4.ip_forward=1
# 定义环境变量
proxy_port=7892 #clash 代理端口
dns_port=1053 #clash dns监听端口
# 启用tun
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
# 配置tcp透明代理
## 在nat表中新建clash规则链
iptables -t nat -N clash
## 排除环形地址与保留地址
iptables -t nat -A clash -d 0.0.0.0/8 -j RETURN
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
## 重定向tcp流量到clash 代理端口
iptables -t nat -A clash -p tcp -j REDIRECT --to-port "$proxy_port"
## 拦截外部tcp数据并交给clash规则链处理
iptables -t nat -A PREROUTING -p tcp -j clash
# dns 相关配置
iptables -t nat -I PREROUTING -p udp --dport 53 -j REDIRECT --to-port 1053
保存和恢复iptables规则
首先,使用 iptables-save
命令可以将当前 iptables 规则保存到一个文件中。例如,可以将规则保存到名为 iptables
的文件中:
iptables-save > iptables
然后,可以使用 iptables-restore
命令从文件中恢复规则:
iptables-restore < iptables
在某些情况下,可以将规则保存到 /etc/sysconfig/iptables
文件中,这是许多 Linux 发行版默认使用的位置。在保存到此文件后,可以使用以下命令重启 iptables 服务以加载规则:
systemctl restart iptables
此外,如果希望系统在启动时自动加载规则,可以将规则保存到 /etc/sysconfig/iptables
文件中,并在系统启动时自动加载。一种方法是使用 iptables-restore
命令在 /etc/rc.local
脚本中加载规则。将以下命令添加到 /etc/rc.local
文件中:
iptables-restore < /etc/sysconfig/iptables
这将在系统启动时自动加载 /etc/sysconfig/iptables
文件中的规则。