我有一个Linux VPS(virtuozzo)服务器,我需要设置端口转发,但是我的主机提供商不允许iptables-nat内核模块,所以iptables -t nat
– 不工作。
我正在寻找其他方法如何做到这一点。 我知道我可以使用openssh转发端口,但是我需要转发20多个不同的端口,tcp和udp,所以这不是一个选项。
是否有任何可以做端口转发的软件?
使用名为“socat”的工具,对于这样的事情来说它是很好的工具,而且它已经被封装在许多Linux发行版中。 在这里阅读: http : //www.dest-unreach.org/socat/doc/README
端口转发示例与socat:
socat TCP4-LISTEN:80,fork TCP4:www.yourdomain.org:8080
这将端口80上的所有TCP连接redirect到www.yourdomain.org端口8080 TCP。
那么rinetd
呢?
它是一个redirectTCP连接的守护进程。 看看手册页,看看它是否适合您的需求: http : //www.boutell.com/rinetd/
有一个很小的光源资源程序,叫做redir
,可以很好的configuration。
apt-get install redir
在基于Debian的发行版上apt-get install redir
。
xinetd
支持一个redirect属性,它将做你想做的事情。 正如其他人已经指出,有一些处理redirect的程序。
使用xinetd
或使用tcpwrappers
库的其他程序将允许您在必要时应用访问限制。
我find了一个名为portfwd的小工具http://portfwd.sourceforge.net/它正是我所需要的(TCP和UDP转发),主页说它是在2002年最后更新的,但最新版本是2007年,它工作在2.6内核。
xinet / inetd的。 例如:
redirect
允许一个tcp服务被redirect到另一个主机。 当xinetd在这个端口上收到一个tcp连接时,它产生一个进程,build立到指定的主机和端口号的连接,并在两个主机之间转发所有的数据。
SSH只要可以通过SSL连接进行隧道连接,就可以进行端口转发。
好的,这里是一个简单的答案,它不是火箭科学,但是大多数人把答案复杂化了,把所有的新东西都混淆了。
ufw允许2xxx
2xxx =你的端口号是什么,只要在你的服务器端input命令并打开你想要的端口即可。