![在没有 iptables 的情况下在 Linux 上进行端口转发?](https://linux22.com/image/544224/%E5%9C%A8%E6%B2%A1%E6%9C%89%20iptables%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%9C%A8%20Linux%20%E4%B8%8A%E8%BF%9B%E8%A1%8C%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%EF%BC%9F.png)
我有一台 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 连接时,它会生成一个进程,该进程与指定的主机和端口号建立连接,并在两台主机之间转发所有数据。