rinetd将tcp端口转发到任意的机器上

     今天在开发机上搭了个xen虚拟机,在配置数据库时,由于是生产环境,没有必要多启动其他端口的mysql,生产环境上启动了一个mysql,端口3306,但是php需要3307和3308端口。。。同事推荐了一个小软件。虽然很古老,但是对于解决这些问题足以了。
 
配置起来非常简单。
  使非本地服务看上去像是来自本地端口 
正如我们在“iptables 的提示和诀窍”中所看到的那样,使用iptables 很 
容易将TCP 和UDP 端口从防火墙转发到内部主机上。但是如果您需要 
将流量从专用地址转发到甚至不在您当前网络上的机器上,又该怎么办 
呢?可尝试另一个应用层端口转发程序,如rinetd。 
这些代码有点古老,但很短小、高效,对于解决这种问题来说是非常完 
美的。解压缩该档案文件并简单地运行make命令,您将看到一个rinetd 
二进制数,允许您将TCP 端口转发到您期望的内容。不幸的是,rinetd 
不支持UDP 端口。 
配置文件极为简单: 
[Source Address] [Source Port] [Destination Address] [Destination Port] 
在每一单独的行中指定每个要转发的端口。源地址和目的地址都可以是 
主机名或IP 地址,IP 地址0.0.0.0 将rinetd 绑定到任何可用的本地IP 
地址上: 
0.0.0.0 80 some.othersite.gov 80 
216.218.203.211 25 123.45.67.89 25 
0.0.0.0 5353 my.shellserver.us 22 
将该文件保存到/etc/rinetd.conf,并将rinetd复制到容易找到的位置(例 
如/usrl local/sbin/)。然后简单地运行rinetd 开始启动该命令。 
第一个示例将所有去往任意本地地址的Web 流量转发到some.othersite. 
gov 上。注意,这只有在本地端口80 上未绑定其他进程(如Apache)时 
才有效。 
下一步将去往2 1 6 . 2 1 8 . 2 0 3 . 2 1 1 的入站S M T P 流量转发到位于 
123.45.67.89 的邮件服务器上(但其他本地IP 地址上未绑定任何SMTP 
代理)。最后的示例将端口5353 上的流量转发到myshellserver.us 的ssh 
网络 
服务器上。这些设置在没有NAT或任何特殊核心配置的情况下都能有效 
工作。简单地运行rinetd,rinetd将在后台运行并启动对指定端口的监听。 
当你的服务器要重新编号或物理位置变化而改变IP地址时你就能切实感 
受到这个工具的好处了,因为服务看上去就像保留在原始IP 地址(即便 
它们实际上完全是来自其他网络)上。如果仅仅是绑定大于1024的端口, 
那么rinetd就不需要以root账户来运行。这种小工具很值得放在身边,以 
便随时调用TCP 端口间接寻址。 

你可能感兴趣的:(职场,端口,转发,休闲,rinetd)