史上最优雅的透明网关Gateway(旁路由)教程 for ubuntu
2020-10-12
史上最优雅的透明网关(旁路由)教程
方案一:基于ubuntu20.04.1,18.04及以下版本貌似不可行;
方案二:理论上可以适用目前主流的linux发行版;
本教程只适用ipv4,ipv6一直没搞明白,想讨论的可以在教程下方给我email。
一、开启ip_forward
万年不变:
1 | sudo vim /etc/sysctl.conf |
net.ipv4.ip_forward=1
1 | sudo sysctl -p |
二、编译dns2socks
https://sourceforge.net/projects/dns2socks/
1 | gcc *.c -I. -lpthread -o dns2socks |
三、安装dnsmasq
1 | sudo apt install dnsmasq |
修改配置:port=53
conf-dir=/etc/dnsmasq.d
四、停用系统自带域名服务systemd-resolved,启用dnsmasq
dnsmasq服务应该不会启动 53端口被占用,需要把系统自带的systemd-resolved停掉。
1 | sudo systemctl disable systemd-resolved.service |
五、下载clash,并配置
关键配置
socks-port: 7891
redir-port: 7892
allow-lan: true
external-controller: 0.0.0.0:9090
六、下载tun2socks,启动并配置
https://github.com/eycorsican/go-tun2socks/releases/latest
启动:
1 | ./tun2socks-linux-amd64 -proxyServer 127.0.0.1:7891 |
1 | #ip addr |
七、iptables为流量打标,对打标流量进行策略路由
1 | # Generated by iptables-save v1.8.4 on Tue Oct 13 18:40:10 2020 |