网络重新配置
内容提要
文章讨论了如何通过配置 OpenVPN 和 Shadowsocks 实现科学上网,解决了 UDP 和 ICMP 协议支持不足的问题。详细介绍了在路由器上配置 OpenVPN 和路由表的方法,包括使用 ChinaRoute 脚本和 ipset + policy route 的设置,以及通过 dnsmasq 填充 ipset 以优化网络管理。
关键要点
-
使用 ss-redir 和 ipset + iptables 透明代理方式进行科学上网,但 UDP 和 ICMP 协议无法支持。
-
通过 OpenVPN 配合 Shadowsocks 解决了 OpenVPN 过墙的问题。
-
在路由器上配置 OpenVPN,设置 socks-proxy 和 remote 地址。
-
使用 ChinaRoute 脚本或 ipset + policy route 配置路由表。
-
在 ubnt 路由器上简化了 iptables 的路由配置,设定了一个到 VPN 的默认路由。
-
设定防火墙规则,匹配特定 ipset 的包通过指定路由表出去。
-
使用 dnsmasq 填充 ipset,生成配置文件并导入路由器。
-
确保外部 DNS 地址的路由设置正确,以便通过 VPN 接口访问。
延伸解读
科学上网的协议选择
文章提到,使用 ss-redir 和 ipset + iptables 的透明代理方式虽然常见,但在处理 UDP 和 ICMP 协议时存在局限性。相比之下,OpenVPN 结合 Shadowsocks 的方案能够更好地解决这些问题,尤其是在需要同时支持多种协议的情况下。
路由器配置的简化
通过使用 ChinaRoute 脚本或 ipset + policy route,用户可以在路由器上更高效地配置路由表。文章中提到的 ubnt 路由器简化了这一过程,使得用户能够更轻松地设定默认路由,降低了配置的复杂性。
防火墙规则的重要性
在配置科学上网时,设定防火墙规则是确保流量正确路由的关键。文章中提到的通过 ipset 匹配特定包的方式,可以有效管理流量,避免不必要的网络干扰,提升网络安全性。
延伸问答
如何通过 OpenVPN 和 Shadowsocks 实现科学上网?
可以通过在服务器上安装 OpenVPN,并将其配置为使用 TCP 协议,同时在路由器上设置 socks-proxy 和 remote 地址来实现科学上网。
在路由器上配置 OpenVPN 需要哪些步骤?
需要在路由器上配置 OpenVPN,设定 socks-proxy 和 remote 地址,并配置路由表,可以使用 ChinaRoute 脚本或 ipset + policy route。
什么是 ChinaRoute 脚本,它的作用是什么?
ChinaRoute 脚本用于自动配置路由表,使 OpenVPN 拨号后能够自动执行路由设置,简化了手动配置的过程。
如何使用 ipset 和 policy route 配置路由表?
可以通过设定一个过墙用的路由表,并使用 ipset 和 policy route 结合 iptables 来实现路由配置,确保特定流量通过指定路由表。
在配置防火墙时需要注意哪些事项?
在配置防火墙时,需要设定规则以匹配特定 ipset 的包,并确保这些包通过正确的路由表出去。
如何使用 dnsmasq 填充 ipset?
可以使用 gfwlist2ipset 脚本生成 dnsmasq-ipset.conf 文件,并将其放入路由器的 /etc/dnsmasq.d/ 目录下,以填充 ipset。