介绍
前面介绍了斐讯N1刷机并配置SMB,在向N1刷入armbian之后可以使用clash(一个可以定制规则并支持多种代理协议的客户端)搭建透明代理(亦称透明网关,旁路由),实现科学上网。
本次系统采用的armbian是基于debian10的
使用
准备
由于debian10的默认配置占用了53端口,这里修改一下配置vi /etc/systemd/resolved.conf,将其中的DNSStubListener=no#取消注释,把yes改为no
安装arm版本的clash
mkdir clash cd clash wget https://github.com/Dreamacro/clash/releases/download/v1.1.0/clash-linux-armv8-v1.1.0.gz gzip -d clash-linux-armv8-v1.1.0.gz chmod +x clash-linux-armv8-v1.1.0 mv clash-linux-armv8-v1.1.0 clash
配置clash
这里实例的是一个简单的配置,更多内容可以参考:clash简易教程 进入clash目录,新建配置文件vi config.yaml
port: 7890
socks-port: 7891
#透明代理需要
redir-port: 7892
#透明代理需要允许来自局域网的访问
allow-lan: true
mode: Rule
log-level: info
#流量出口使用的网络接口
interface-name: eth0
# hosts设置,只有当DNS模式为redir-host时生效
hosts:
# '*.clash.dev': 127.0.0.1
# '.dev': 127.0.0.1
# 'alpha.clash.dev': '::1'
# DNS设置,透明代理需要使用clash提供的DNS服务
dns:
enable: true
listen: 0.0.0.0:53
default-nameserver:
- 114.114.114.114
- 8.8.8.8
enhanced-mode: redir-host # 可选:fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 114.114.114.114 # default value
- 8.8.8.8 # default value
- tls://dns.rubyfish.cn:853 # DNS over TLS
- https://1.1.1.1/dns-query # DNS over HTTPS
fallback-filter:
geoip: true
ipcidr:
# - 240.0.0.0/4
#节点配置,此处可以参考:https://lancellc.gitbook.io/clash/clash-config-file/an-example-configuration-file
Proxy:
#shadowsocks节点示例
- name: "ss1"
type: ss
server: server
port: 443
cipher: chacha20-ietf-poly1305
password: "password"
#节点组配置,可以将多个节点组合成一个组,并且按照一定的规则访问组内节点
Proxy Group:
#节点组示例,使用该组节点时将会自动选择延迟较低的节点
- name: "auto"
type: url-test
proxies:
- ss1
url: 'http://www.gstatic.com/generate_204'
interval: 300
#路由规则,将指定流量使用何种规则
Rule:
#本地流量需要直接放行
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- MATCH,auto
设置防火墙
tproxy运行需要iptables的支持
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 iptables -t nat -A clash -p tcp -j REDIRECT --to-port 7892 iptables -t nat -A PREROUTING -p tcp -j clash
由于iptables的设置重启会消失,可以将上述内容放到/etc/rc.local的exit 0之前即可。
设置开机启动
echo '[Unit] Description=clash auto run [Service] Type=simple ExecStart=/root/clash/clash -f /root/clash/config.yaml [Install] WantedBy=default.target' > /etc/systemd/system/clash.service
运行clash
systemctl enable clash && systemctl start clash
设置网关
只需要将需要科学上网的设备的网关和DNS都设置为N1的IP,即可开始网上冲浪
补充
去广告可以参考:https://github.com/ACL4SSR/ACL4SSR/tree/master
高级设置可以参考:https://github.com/ConnersHua/Profiles/tree/master/Clash
参考链接:
https://lancellc.gitbook.io/clash/clash-config-file/an-example-configuration-file
https://medium.com/@muchenran2/clash-%E5%B8%B8%E7%94%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B-%E7%AE%80%E6%98%93%E7%89%88-c77aeb2a10c
https://breakertt.moe/2019/08/20/clash_gateway/
