资源准备
下载,clash主程序: https://github.com/Dreamacro/clash/releases
下载,dashboard: https://codeload.github.com/Dreamacro/clash-dashboard/zip/gh-pages
centos7系统
设定静态IP地址,本例设置系统ip为 10.255.100.12
关闭selinux
iptables安装
systemctl disable firewalld
systemctl stop firewalld
yum install -y iptables iptables-services
systemctl enable iptables
配置防火墙
iptables -t nat -N clash
iptables -t nat -N clash_dns
iptables -t nat -A PREROUTING -p tcp --dport 53 -d 10.255.0.0/24 -j clash_dns
iptables -t nat -A PREROUTING -p udp --dport 53 -d 10.255.0.0/24 -j clash_dns
iptables -t nat -A PREROUTING -p tcp -j clash
# 这里需要注意的是,下面两行最后的 10.255.0.0 是当前服务器的 IP 地址网段,请根据你自己的实际情况修改
# 如果你自己的服务器 IP 跟下面的 IP 地址不对的话会造成无法
iptables -t nat -A clash_dns -p udp --dport 53 -d 10.255.0.0/24 -j DNAT --to-destination 10.255.100.12:53
iptables -t nat -A clash_dns -p tcp --dport 53 -d 10.255.0.0/24 -j DNAT --to-destination 10.255.100.12:53
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
iptables -t nat -A clash -p tcp ! --dport 22 -j REDIRECT --to-ports 7892
iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner root -j REDIRECT --to-port 7892
# iptables存档
service iptables save
设置流量转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf && sysctl -p
安装
wget https://github.com/Dreamacro/clash/releases/download/v1.2.0/clash-linux-amd64-v1.2.0.gz
wget https://codeload.github.com/Dreamacro/clash-dashboard/zip/gh-pages
得到主程序:clash-linux-amd64-v1.2.0.gz,dashboard程序:clash-dashboard-gh-pages.zip
解压缩,安装
gunzip clash-linux-amd64-v1.2.0.gz
unzip clash-dashboard-gh-pages.zip
chmod a+x clash-linux-amd64-v1.2.0
mv clash-linux-amd64-v1.2.0 /usr/local/bin/clash
创建 clash配置文件
默认启动一次程序会自动帮你创建个空的配置
/usr/local/bin/clash
编辑配置
vi ~/.config/clash/config.yaml
# 以下部分不要修改!
port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: true
mode: Rule
log-level: debug
# external-controller 主要是用于 web 端管理页面,必须监听在 0.0.0.0
external-controller: 0.0.0.0:9090
# secret 是进入管理面板所需要的密码,可填可不填,建议填上
secret: "123456"
# external-ui 表示管理面板的路径,这个路径就是你前面解压缩的dashboard的路径,根据你实际的改
external-ui: /opt/clash-dashboard-gh-pages
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: redir-host
nameserver:
- 8.8.8.8
- 223.5.5.5
- 'tls://dns.rubyfish.cn:853'
fallback:
- 'tls://1.1.1.1:853'
- 'tcp://1.1.1.1:53'
- 'tcp://208.67.222.222:443'
- 'tls://dns.google'
- 'tls://dns.rubyfish.cn:853'
# 下面部分则是代理的设置跟规则的设置,这里忽略不写。
proxies:
- name: "vmess"
type: vmess
server: 你服务器的地址
port: v2ray开放的端口
uuid: 你服务器的uuid
alterId: 64
cipher: auto
# 根据需要配置你的规则
rules:
- DOMAIN-SUFFIX,google.com,vmess
- DOMAIN-KEYWORD,google,vmess
- MATCH,vmess
将clash设置为开机自启
vi /etc/systemd/system/clash.service
[Unit]
Description=clash daemon
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/clash -d /root/.config/clash/
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable clash
reboot
验证是否可用
管理界面:
参考资料: