(原)通过clash在ubuntu下做旁路由
(本⽂假设阅读者已经熟练使⽤clash for windows。)
⽬的:把⼀台闲置ubuntu,搞成旁路由(下⽂⾥的"旁路由"或"ubuntu"都是指这台ubuntu机器)。搞成后,想要FQ的设备⽐如iphone,把其⽹关和DNS设置为ubuntu的IP就可以了。
⼀、
然后,把clash for windows⾥的配置⽂件(⽐如我的就是l)放到ubuntu的/etc/clash/⽬录下(需创建此⽬录),并改名为/etc/clash/config.yaml
修改此yaml⽂件的前⾯部分:世界上跑得最快的人
# HTTP 代理端⼝
port: 7890
# SOCKS5 代理端⼝
socks-port: 7891
# Linux 和 macOS 的 redir 代理端⼝
redir-port: 7892
# 允许局域⽹的连接
allow-lan: true
# 规则模式:Rule(规则) / Global(全局代理)/ Direct(全局直连)
mode: rule
# 设置⽇志输出级别 (默认级别:silent,即不输出任何内容,以避免因⽇志内容过⼤⽽导致程序内存溢出)。
# 5 个级别:silent / info / warning / error / debug。级别越⾼⽇志输出量越⼤,越倾向于调试,若需要请⾃⾏开启。
log-level: silent
# Clash 的 RESTful API
人户一致
我的理想作文开头
external-controller: '0.0.0.0:9090'
# RESTful API 的⼝令
cret: ''
dns:
enable: true
ipv6: fal
listen: 0.0.0.0:53
#enhanced-mode: redir-host
enhanced-mode: fake-ip
草料场namerver:
- 114.114.114.114
-
223.5.5.5
- tls://dns.rubyfish:853
fallback:
- 114.114.114.114
- tls://dns.rubyfish:853
- 8.8.8.8
experimental:
ignore-resolve-fail: true
proxies: ## 从这⼉开始后⾯的就不⽤改动了.
请特别注意:搞旁路由,yaml配置这⾥enhanced-mode: fake-ip 必须是fake-ip!
请留意上⾯的配置,要把53端⼝作为dns服务监听端⼝了。这可能会和本地的dns的53端⼝冲突,因此必须关闭本地53端⼝服务:
sudo systemctl disable systemd-resolved
请关注上⾯的配置项:external-controller: '0.0.0.0:9090' 下⾯会⽤到。无精打采的反义词
⼆、
把clash弄成系统服务:
在ubuntu⾥, sudo vi /etc/systemd/system/clash.rvice 编辑如下:
[Unit]
Description=clash rvice
After=network.target
[Service]
Type=simple
Ur=root
防御素
ExecStart=/usr/local/bin/clash -d /etc/clash
Restart=on-failure
[Install]
WantedBy=multi-ur.target
使该服务⽣效,输⼊命令:
sudo systemctl daemon-reload
sudo systemctl enable clash
猜数字现在就可以⼿动启动clash了(重启后会⾃启动):
sudo rvice clash start
此时可以在任何⼀台局域⽹的电脑上通过浏览器设置或查看clash的代理设置:
三、
设置iptables(都是nat规则),ubuntu⾥输⼊以下命令:
sudo iptables -t nat -N CLASH
sudo iptables -t nat -A CLASH -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A CLASH -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A CLASH -p tcp -j REDIRECT --to-ports 7892
sudo iptables -t nat -A PREROUTING -p tcp -j CLASH
补充知识:iptables相关命令:
sudo iptables -L # 查看所有iptables规则(但是不含我们搞的nat规则)
sudo iptables -t nat -L -n --line-numbers # 查看所有iptables的nat的规则
sudo iptables -t nat -F # 清空所有iptables的nat的规则
为了让iptables在重启系统后依然⽣效,需要:
sudo apt install iptables-persistent
安装的过程中会提⽰你是否需要保存 iptables 配置,直接选是就⾏。这时候即使电脑重启了也会应⽤这些路由规则。如果后⾯你有需要重新修改 iptables 的配置,那么只需要在执⾏完 iptables 之后再执⾏: sudo iptables-save > /etc/iptables/rules.v4
最后,要让Linux系统具有路由转发功能,还必须配置⼀个Linux的内核参数net.ipv4.ip_forward :
sudo vim /f
鱼缸增氧net.ipv4.ip_forward=1
四、
好了。需要FQ的设备,设置其⽹关和DNS为旁路由的IP即可。(因此应通过路由器固定ubuntu的IP)。ps:路由器⽆需修改⽹关或DNS配置。