

clash的搭建教程
source link: https://zhangrr.github.io/posts/20211108-clash/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Clash的搭建教程
没啊办法,翻墙翻墙还是翻墙。
上游有若干 trojian 、v2ray 、sock5 、http各种各样的代理,这样多种的选择,那么就装一个 clash 客户端就可以全接管了。
说下我们的做法:找个小Linux做旁路由,DNS和网关都设置在这台机器上,局域网内的机器都通过这台上网。
我们用到的是 clash 的 Tproxy redir-host 和 udp-proxy 模式,这种模式比较强大。用就用最强大的。
安装很简单,操作系统 centos 或者 ubuntu 都行,项目地址:
https://github.com/Dreamacro/clash
https://lancellc.gitbook.io/clash/clash-config-file/proxy-groups/load-balance
首先下载二进制文件,现在版本是 v1.7.1,解压后放到 /usr/local/bin 目录下
wget https://github.com/Dreamacro/clash/releases/download/v1.7.1/clash-linux-amd64-v1.7.1.gz
gzip -d clash-linux-amd64-v1.7.1.gz
chmod 755 clash-linux-amd64-v1.7.1
mv clash-linux-amd64-v1.7.1 /usr/local/bin
然后生成 clash.service
cat << EOF >> /etc/systemd/system/clash.service
[Unit]
Description=clash service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/clash-linux-amd64-v1.7.1
Restart=on-failure # or always, on-abort, etc
[Install]
WantedBy=multi-user.target
EOF
然后最重要的,就是配置文件了
我这里这个旁路由的设备 IP 地址是 192.168.2.2,网卡设备是 enp2s0
# http的代理端口
port: 7890
#mixed-port: 7890
socks-port: 7891
redir-port: 7892
tproxy-port: 7893
ipv6: false
allow-lan: true
bind-address: '192.168.2.2'
interface-name: enp2s0
mode: rule
log-level: info
external-controller: 0.0.0.0:9090
secret: "Fuck2021"
external-ui: dashboard
profile:
store-selected: false
tracing: true
hosts:
# 把cantv的域名解析屏蔽掉,禁止它自动升级
'tms.can.cibntv.net': 0.0.0.0
dns:
enable: true
listen: 0.0.0.0:1053
enhanced-mode: redir-host # or fake-ip
nameserver:
- '114.114.114.114'
- '223.5.5.5'
fallback:
- 208.67.220.220:5353
- 208.67.222.222:5353
- 101.6.6.6:5353
proxies:
- name: "trojan1"
type: trojan
server: www.linuxboy.net
port: 443
password: Fuck2021
sni: www.linuxboy.net
skip-cert-verify: true
- name: "vmess1"
type: vmess
server: 101.59.201.93
port: 41555
uuid: 7a17ae5e-fb86-42e2-abd4-b8c33cfabcd
alterId: 64
cipher: auto
proxy-groups:
- name: Proxy
type: select
proxies:
- trojan
- name: "auto"
type: url-test
proxies:
- vmess1
- trojan1
url: 'http://www.gstatic.com/generate_204'
interval: 300
rules:
- DOMAIN-SUFFIX,v2ex.com,Proxy
- DOMAIN-SUFFIX,t66y.com,Proxy
- DOMAIN-SUFFIX,ycombinator.com,Proxy
- DOMAIN-SUFFIX,reddit.com,Proxy
- DOMAIN-KEYWORD,amazon,Proxy
- DOMAIN-KEYWORD,google,Proxy
- DOMAIN-KEYWORD,gmail,Proxy
- DOMAIN-KEYWORD,youtube,Proxy
- DOMAIN-KEYWORD,facebook,Proxy
- DOMAIN-SUFFIX,fb.me,Proxy
- DOMAIN-SUFFIX,fbcdn.net,Proxy
- DOMAIN-KEYWORD,twitter,Proxy
- DOMAIN-KEYWORD,instagram,Proxy
- DOMAIN-KEYWORD,dropbox,Proxy
- DOMAIN-SUFFIX,twimg.com,Proxy
- DOMAIN-KEYWORD,blogspot,Proxy
- DOMAIN-SUFFIX,youtu.be,Proxy
- DOMAIN-KEYWORD,whatsapp,Proxy
- SRC-IP-CIDR,192.168.1.0/32,DIRECT
- SRC-IP-CIDR,192.168.2.0/32,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
解释一下:proxy 定义了两个代理,一个是 trojan,一个是 v2ray。然后再集合成组,一个组叫 Proxy, 显式指定用 trojan;另一个组叫 auto,根据 vmess1 和 trojan1 访问 http://www.gstatic.com/generate_204 的页面速度,谁快就用谁,缺省300秒会访问一次这个页面来决定哪个代理快。
剩下的 rules 就很简单,把自己知道要访问的域名放到代理中去,然后把局域网的 IP 段放进 DIRECT 直接访问,最后 GEO IP 不是中国的由 Proxy 兜底。
网上有一大堆规则,八戒的建议是不要去学,规则越多越慢,你自己知道要访问什么网站需要翻墙,加进去就好了。弄一堆,自己看着都头蒙
最后我们在 rc.local 放入以下 iptable 内容,就可以了
###
#clash
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 100.64.0.0/10 -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.0.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
# whitelist China ip.
# iptables -t mangle -A clash -m set --match-set china dst -j RETURN
# FORWARD ALL
iptables -t mangle -A clash -p udp -j TPROXY --on-port 7893 --tproxy-mark 1
iptables -t mangle -A clash -p tcp -j TPROXY --on-port 7893 --tproxy-mark 1
# REDIRECT
iptables -t mangle -A PREROUTING -j clash
# hijack DNS to Clash
iptables -t nat -N CLASH_DNS
iptables -t nat -F CLASH_DNS
iptables -t nat -A CLASH_DNS -p udp -j REDIRECT --to-port 1053
iptables -t nat -I PREROUTING -p udp --dport 53 -j CLASH_DNS
最后启动clash
systemctl start clash
Recommend
-
352
README.md
-
166
README.md Clash for Windows
-
31
Choc Clash for IOS 客户端下载使用教程 日期:2022年03月11日 · 分类:日常分享 ...
-
12
Clash For Windows 客户端中文汉化教程 [更新] · 日期:2022年03月30日 · 分类:日...
-
23
Clash for windows 如何设置TG代理上外网教程? 前面文章已经分享了电脑端如何使用clash for windows 上外网的教程,如果你刚接触上外网教程,可以点击此处
-
11
clash for windows中文版汉化教程(附汉化文件 ) 如何汉化 Clash for Windows? 对于部分新用户来说,纯英文的界面确实有一些不太友好,但是我们可以通过很简单的...
-
6
什么是 Clash for Android?Clash 是一个使用 Go 语言编写,基于规则的跨平台代理软件核心程序。 Clash for Android 是安卓系统上的一个Clash 客户端。 支持的协议:Vmess, Shadowsocks, Snell, SOCKS5, ShadowsocksR。Clash for Android(简称CFA)...
-
83
在kali上安装clash/V2raya的教程 | Tsunamori's blog...
-
9
Clash for Windows 使用教程快速入门篇Clash for Windows是代理工具Clash在Windows系统的唯一图形客户端,同时还支持Windows、Linux、macOS三大系统,功能强大且支持多种代理协议,如Shadowsocks(SS)、ShadowsocksR(SSR)、Socks、Snell、V...
-
12
首页技术宅WindowsClash for Windows 中文汉化教程 Clash for Window...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK