使用Linux实现透明网关代理取代OpenWrt

💡 原文中文,约14500字,阅读约需35分钟。
📝

内容提要

OpenWrt作为旁路由方案,使用方便,可自行编译,有广泛插件。作者计划实现智能分流、解决DNS污染、支持旁路由。使用Alpine作为最小的Linux发行版,使用iptables和ipset实现国内外IP分流,使用overture解决DNS污染。作者提供了详细的配置步骤和脚本。

🔎

延伸解读

从OpenWrt转向Alpine的考量

作者因OpenWrt插件依赖减少且系统变重,转向Alpine。Alpine作为最小Linux发行版,容器仅5MB,ISO约100MB,适合Docker或虚拟机。这为需要轻量、可定制透明网关的用户提供了替代思路,但需注意Alpine使用apk和OpenRC,与OpenWrt的opkg和UCI不同,配置方式有差异。

分流机制与DNS污染解决

方案通过iptables和ipset实现国内外IP分流:国内IP直连,国外流量重定向到gost代理。同时用overture自建DNS,根据域名和IP文件区分解析,避免DNS污染导致国外域名解析错误。这要求定期更新china_ip_list.txt和gfw_all_domain.txt,否则分流可能失效。

部署与维护要点

文章提供了详细脚本和配置,但需要一定网络基础。关键点包括:设置IP转发、配置iptables NAT规则、使用supervisor管理gost和overture进程、通过crontab实现开机自启。维护时需关注IP和域名列表更新,以及代理服务的稳定性。

❓

Q&A

如何使用Alpine实现透明网关代理?

使用Alpine作为最小的Linux发行版,结合iptables和ipset实现国内外IP分流,并使用overture解决DNS污染。

OpenWrt的优缺点是什么?

OpenWrt使用方便且可自行编译,插件丰富,但随着使用时间增加,可能变得较重,且在实现复杂路由规则时不够灵活。

什么是DNS污染,如何解决?

DNS污染是指通过国内DNS解析国外IP时返回错误的IP,使用overture可以自建DNS解析服务来解决此问题。

iptables在透明网关中有什么作用?

iptables用于管理网络包,通过设置规则实现国内外IP的分流,确保不同流量走不同的代理策略。

如何配置Alpine的网络设置?

在Alpine中,编辑/etc/network/interfaces文件,设置静态IP、网关和DNS,然后重启网络服务。

使用gost作为网络安全隧道工具的优势是什么?

gost支持多种协议,能够提供灵活的网络安全隧道解决方案,适合用于透明网关的实现。

🏷️

标签

➡️

继续阅读