我可以使用 divert 来替代 ipfw fwd 吗?

我可以使用 divert 来替代 ipfw fwd 吗?

我想通过透明代理引导一些流量(该代理实际上位于另一台服务器上并通过 ssh 隧道连接)。

通常我可以这样做:

ipfw add forward localhost,8080 tcp from any to x.x.x.x 80

然而,fwd/forward 需要重新编译内核,我不乐意这样做。因此,我正在寻找一种不需要重新编译的解决方案。

例如,我可以以某种方式使用转移套接字来实现此目的吗?或者还有其他基本的好的解决方案吗?

答案1

不,你不能。 divert 只能与侦听使用 创建的套接字的软件一起使用IPPROTO_IPDIVERT,但代理服务器通常侦听 TCP 端口。

您是否尝试过使用其他防火墙来实现此目的?http://wiki.squid-cache.org/SquidFaq/InterceptionProxy#Interception_Caching_packet_redirection_for_Solaris.2C_SunOS.2C_and_BSD_systems

答案2

我最近看了rinetd( ~ports/net/rinetd)。

这是一个非常简单的端口重定向器(从一个 IP/端口到另一个)。重定向是通过其配置文件完成的rinted.conf

# bindadress    bindport  connectaddress  connectport
1.2.3.4         8080      4.3.2.1         80 

Divert 通常用于更广泛的端口选择(即从 1 个接口到 natd 的所有端口选择;)。

相关内容