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

来源: ChinaUnix博客  日期: 2007.05.16 11:55 

原文出自清华大学的一本讲linux server hacker的小册子】
使非本地服务看上去像是来自本地端口
正如我们在“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 端口间接寻址。
另请参阅:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值