Passwall 是一款非常优秀的 OpenWrt 功能包,提供各种协议的代理客户端功能,使用其成为软路由科学上网的神器。

当然,Passwall 并非只有简单的代理上网功能,它还有一些高级的功能,例如 Socks 代理以及负载均衡等。本教程将示例讲解如何使用最新版 OpenWrt 官方固件和 Passwall 软件包,开启和使用这些高级功能。

1] 本地 Socks 代理

Passwall 安装成功、节点添加完成后,Passwall 默认会根据使用的 TCP 节点开启一个 Socks 代理,侦听端口为 1070。页面上还有一个 Socks 的主开关,可以添加更多的 Socks 代理端口。

图.1 Passwall Socks 代理开关

可以分别为已经添加的代理节点添加对应的本地 Socks 代理,并且侦听的端口也不一致。同时,还可以代理 HTTP 流量,设置好端口后就可以使用了,如果填0则不启用 HTTP 代理。本地 Socks 节点添加完成后,钩选”Socks 主开关”选择框,之后点击”保存并应用”按钮,就会启动更多的本地 Socks 代理端口。

图.2 OpenWrt 端口侦听信息

可以看到,添加了 Socks 代理节点后,会增加对应的侦听端口,并且提供服务的程序仍然是节点类型程序。相当于又开启了一个代理客户端程序,从而提高代理效率,为更多用户提供服务。

有了这个功能,不仅可以提供更多的代理功能,还能够实现简单的分流选路功能。不同的客户机分别选择不同的代理端口,就实现了线路的选择,虽然,这样的选择是人为设置,不是自动选择的。

2] Passwall 启用负载均衡

Passwall 管理界面的运行状态信息页,有一个负载均衡标签,它用来显示负载均衡状态。如果使用 OpenWrt 官方固件,Passwall 由于组件未安装,则默认不会显示负载均衡标签页,也就是不能使用负载均衡功能。

想使用负载均衡功能,需要安装 HAProxy 软件包。可以在 OpenWrt 管理界面的软件包管理页面,使用可视化方式安装 HAProxy 软件包。也可以登录到路由器,使用如下命令安装它:

# opkg update
# opkg install haproxy

安装完成后,重启 OpenWrt 后,就可以在 Passwall 界面中看到负载均衡的标签页了。

图.3 Passwall 负载均衡标签页

点击下方的”添加”按钮,就可以把参与负载均衡的代理节点添加到负载列表中:

图.4 添加负载均衡节点并启用

负载均衡节点中:

  • 负载均衡端口:是 HAProxy 侦听端口,可以多个节点同时侦听同一端口
  • 负载比例:是每个节点的权重比,可以调整,数值越大权重越大,被选中的机率就更高
  • 多 WAN 指定出口:如果具有多条 WAN 线路,可以分别指定对应出口
  • 模式:分为主用和备用两种,默认会在模式为主的线路中进行负载分配,所有主线路不可用后,则启用备线路

负载均衡节点添加完成后,就可以钩选”开启负载均衡”选择框启用负载均衡功能了。

虽然功能是启用了,但实际上并没有利用起来,还需要把所有流量导入给 HAProxy 才行。

HAProxy 工作原理就是默认开启一个 Socks 侦听,接收全部流量,然后将流量根据权重选择负载均衡节点转发出去,添加节点和启用负载均衡,只是打通了 HAProxy 与各节点间通路,还需要将全部流量导入给它才真正实现负载均衡功能。

在 Passwall 中添加一个 Socks 节点,将服务器选择本机,端口使用 HAProxy 侦听的端口,就可以实现流量导入功能:

图.5 添加 Socks 节点

此处使用了 Xray 类型的节点,然后使用其 Socks 协议让 Xray 作为一个 Socks 客户端连接 HAProxy。采用这种方法的原因是由于未安装 ipt2socks 软件包,Passwall 不能添加 Socks 节点,于是采用了 Xray 的替代方案,效果上是一样的。

负载均衡节点添加完成后,可以进行节点测试,URL 测试通过后,就表示 HAProxy 负载均衡功能已经可以使用了:

图.6 测试负载均衡节点

最后,TCP 和 UDP 节点均选择使用 负载均衡节点,就会将流量导入 HAProxy,并由其进行流量调控。Passwall 的负载均衡功能也正式生效了。

图.7 选择使用负载均衡节点

点击负载均衡标签页的”进入界面”按钮,就可以打开 HAProxy 的管理页面,可以通过该页面查看所有线路的流量情况:

图.8 通过管理页面查看负载均衡状态

本文演示了一些 Passwall 的高级用法,希望可以帮助大家提升使用效果。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注