文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux系统中rinetd如何实现快速端口转发

2023-06-28 13:11

关注

这篇文章将为大家详细讲解有关Linux系统中rinetd如何实现快速端口转发,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。

Linux系统中rinetd如何实现快速端口转发

  [root@localhost src]# wget http://www.boutell.com/rinetd/http/rinetd.tar.gz  [root@localhost src]# tar -zxvf rinetd.tar.gz  [root@localhost src]# cd rinetd  [root@localhost rinetd]# vim Makefile#修改下Makefile  CFLAGS=-DLINUX -g  rinetd: rinetd.o match.o         gcc rinetd.o match.o -o rinetd  install: rinetd         install -m 700 rinetd /usr/sbin         install -m 644 rinetd.8 /usr/local/share/man/man8  [root@localhost rinetd]# make && make install

登录后复制

这样rinetd就安装好了,使用也很简单可以指定配置文件,一般是放在/etc/rinetd.conf使用-c参数指定配置文件,rinetd是依赖于配置文件工作的

 [root@localhost rinetd]# rinetd --help Usage: rinetd [OPTION]   -c, --conf-file FILE   read configuration from FILE   -h, --help             display this help   -v, --version          display version number  Most options are controlled through the configuration file. See the rinetd(8) manpage for more information.

登录后复制

更多的参数选项可以参看man rinetd在此就不做过多的说明,利用rinetd可以实现快速高效的端口转发,举一个简单的例子,在三层交换机中的2个vlan:192.168.1.0/24、192.168.2.0/24,2个vlan间内网是互通的但是192.168.1.0/24中没有做任何的策略路由,只有内网而192.168.1.0/24在外有一个公网ip做了内部服务器的NAT端口映射,即DZM区,而在外部需要访问192.168.2.0/24内部的某一主机上的相关资源,此时就需要做相应的端口转发,而在2个vlan中分别有192.168.2.22和192.168.1.240,2台主机用rinetd来转发,就在192.168.2.22的主机上的/etc/rinetd.conf文件中添加一行配置:

 0.0.0.0 80 192.168.1.240 80 #source_address source_port destination_address destination_port

登录后复制

当然利用iptables的nat表转发也是一样,nat表如下:

 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [3:226] :OUTPUT ACCEPT [3:226] -A PREROUTING -d 192.168.2.22/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.240:80 -A POSTROUTING -d 192.168.1.240/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.2.22 COMMIT

登录后复制

同时在iptables的filter表上FORWARD链上也要做相应的放行:

 -A FORWARD -s 192.168.1.0/24 -j ACCEPT -A FORWARD -s 192.168.2.0/24 -j ACCEPT -A FORWARD -d 192.168.1.0/24 -j ACCEPT -A FORWARD -d 192.168.2.0/24 -j ACCEPT -A FORWARD -j REJECT --reject-with icmp-host-prohibited

登录后复制

二者之间是等效的,如此可见rinetd的工具在实际生产环境中是非常高效的,这里要注意两点:

一、无论是使用rinetd或者是iptables的nat表都需要开启内核ip地址转发的功能,即net.ipv4.ip_forward = 1;

二、是在filter表中开相应的端口,如果是使用iptables的nat表来转发还要开放FORWARD链以实现转发

三、使用rinetd中都是把端口当成服务监听,所以是长连接,如果是ssh这样的服务在使用端口转发后会在内网连接上的服务上残余很多进程,所以在使用rinetd一般是临时快速实现端口转发而用的,如果是长时间使用或者一些特殊场景下rinetd还是不如iptables的

关于“Linux系统中rinetd如何实现快速端口转发”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯