在没有 iptables 的情况下在 Linux 上进行端口转发?

在没有 iptables 的情况下在 Linux 上进行端口转发?

我有一台 Linux VPS(virtuozzo)服务器,需要设置端口转发,但我的托管服务提供商不允许iptables-nat内核模块因此iptables -t nat- 不起作用。

我正在寻找其他方法。我知道我可以使用以下方法转发端口openssh,但我需要转发 20 多个不同的端口,tcp 和 udp,所以这不是一个选项。

有没有linux下可以做端口转发的软件?

答案1

使用名为“socat”的工具,它是处理此类事情的绝佳工具,并且已打包在许多 Linux 发行版中。在此处阅读相关信息:http://www.dest-unreach.org/socat/doc/README

使用 socat 的端口转发示例:

socat TCP4-LISTEN:80,fork TCP4:www.yourdomain.org:8080

这会将端口 80 上的所有 TCP 连接重定向到 www.yourdomain.org 端口 8080 TCP。

答案2

有一个名为的微型、轻量级资源程序,redir它的配置非常方便。

apt-get install redir安装在基于 Debian 的发行版上。

redir :SRC :DEST将作为守护进程在后台运行。

答案3

那怎么样rinetd
它是一个重定向 TCP 连接的守护进程。查看手册页以了解它是否适​​合您的需求:https://manpages.debian.org/unstable/rinetd/rinetd.8.en.html

答案4

xinet/inetd. 例如:

重定向

允许将 TCP 服务重定向到另一台主机。当 xinetd 在此端口上收到 TCP 连接时,它会生成一个进程,该进程与指定的主机和端口号建立连接,并在两台主机之间转发所有数据。

http://linux.die.net/man/5/xinetd.conf

相关内容