网络重新配置
内容提要
文章讨论了如何通过配置 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 接口访问。
延伸问答
如何通过 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。