overtls + tun2proxy 实现全局翻墙,所有流量走代理
本文是 简单、高速、稳定的翻墙软件 overtls 安装、使用教程 的续篇
运行 overtls 后,为什么命令行下载软件可能很慢
如果你使用的是 overtls Windows GUI 客户端 ssrWin
,那么你可能会发现:
-
浏览器翻墙一切正常
-
命令行下载包时,有时很慢甚至连不上
比如,编程语言的包管理器可能会用命令行从 github 下载包,这时可能很慢甚至连不上
-
Dropbox 或类似程序却能正常工作
这是为什么?
原因其实很简单,浏览器和 Dropbox 等程序会读取并应用 ssrWin 设置在操作系统的代理,因此翻墙没有问题。但是没有这个自觉的程序,它们不管这个,只知道直连目标地址,如果目标地址被 GFW 限制,就会连接速度很慢甚至连不上
问题来了,有什么办法强制本机所有流量走代理,实现全局翻墙?办法当然是有的,就是同时使用二个命令行程序 overtls 和 tun2proxy
tun2proxy
能接管全部流量的原理
tun2proxy
会创建虚拟网卡,让本机所有流量走这张虚拟网卡,并将流量转发到本机 overtls
客户端监听的端口,overtls
客户端则负责和服务端通讯,包括让服务端进行 DNS 查询
overtls
+ tun2proxy
实现全局翻墙,本机所有流量走代理
-
运行
overtls
命令行客户端overtls -c config.json
-
运行
tun2proxy
sudo tun2proxy-bin --setup --proxy socks5://127.0.0.1:765 --bypass 210.98.76.54 --bypass 98.76.54.32
sudo
是 Linux 系统申请管理员权限,Windows 下可用管理员身份打开终端窗口代替765
是 overtls 在本机监听的端口bypass
是为了让系统路由表对目标服务端 IP 地址的数据包不经 tun2proxy 而是直接发往当前活动网卡的网关- v0.5.0 起,tun2proxy.exe 改名为 tun2proxy-bin.exe
详细可参考 tun2proxy 的官方教程
关于 DNS 被干扰导致有的网站打不开的问题
据说 中国互联网络防火墙已经可以精确识别与境外 DNS over HTTPS(DoH) 服务器的连接
如果 DNS 被干扰,目标网站就会打不开。tun2proxy 默认用 Google 的 DNS 8.8.8.8,这个 IP 树大招风,容易被 GFW 盯上。解决办法,在 tun2proxy 的命令行中指定没有被 GFW 盯上的 DNS 地址,如:
sudo tun2proxy-bin --setup --proxy socks5://127.0.0.1:765 --bypass 210.98.76.54 --bypass 98.76.54.32 --dns-addr 162.159.36.1
可用的 DNS 地址可参考:国内外可用 DNS DoH 及速度实测 - 开发调优 - LINUX DO
相关内容
- 简单、高速、稳定的翻墙软件 overtls 安装、使用教程
- overtls Android 手机翻墙上网教程
- 把 overtls、tun2proxy 设置成开机自动启动的系统服务
- 全能翻墙工具 sing-box + overtls 配置方法和使用教程
- https://github.com/shadowsocksr-live/overtls
- https://github.com/tun2proxy/tun2proxy
- https://github.com/tun2proxy/tun2proxy/wiki/Usage-(Chinese)
- https://github.com/softwaredownload/openwrt-fanqiang
2024-09-09