Skip to content

Bypass

流量控制-分流器

所谓的分流是指按照一定的规则对流量进行划分,再对划分后的流量执行相应的操作,以达到某种程度的流量控制。

举一个现实中的例子,对于一个网络管控比较严格的公司,流量大概可以分为以下几类:

  • 非法流量 - 不被允许的流量,例如被公司禁止访问的服务,直接访问会被拒绝。
  • 内网流量 - 例如访问公司内部服务器,这种流量只能在公司内网才有效,不能被转发到外网。
  • 外网流量 - 例如访问外网服务,可能需要通过公司的代理服务器才能访问。

GOST v3动态分流功能的一种实现方式

原文地址:https://groups.google.com/g/go-gost/c/b9Z0BcqUArw

分流是指根据一定的规则让需要通过转发链的请求走转发链,不需要走转发链则绕过转发链。分流在GOST v3中通过分流器来实现(bypass),具体的使用方式可以参考https://gost.run/concepts/bypass/。

GOST v3中新增了一个记录器模块(https://gost.run/concepts/recorder/),可以看作是另外一种日志记录方式,有别于日志的是记录器可以针对特定的数据进行记录,例如记录服务的所有访问用户IP,所有访问的目标地址等。

分流器和记录器在GOST v3版本中都增加了对redis服务的支持,对于分流器可以从redis中动态加载规则,对于记录器则可以将数据记录到redis服务中。

利用以上的特性,就可以实现类似与COW(https://github.com/cyfdecyf/cow)所提供的自动分流功能,默认情况下请求不使用转发链,当请求失败后切换为使用转发链。