[喵咪Liunx(3)]端口转发工具rinetd

[喵咪Liunx(3)]端口转发工具rinetd

前言

今天笔者为大家带来了另外一款非常优秀的Liunx工具,这个工具有什么用呢?它能帮助我们解决一些特定场景下的端口转发需求,这个工具就是runetd,runetd可以非常方便的进行端口转发的设置,那就让我们一同来开始本次的学习吧!

附上:

喵了个咪的博客:w-blog.cn

1. 端口转发是什么

我们先来了解几个名词的含义:端口映射,端口转发,反向代理,一同分析他们的相同点以及区别

端口映射

如果你去网上查找端口映射,大部分都是说路由器ADSL把公网IP映射到内网,这个一般是从路由器中设置的,对公网IP某个端口进行映射到路由器下的某个端口,通过访问这个外网地址就可以请求到这台服务器了,使用场景最平凡的就是大家购买的AWS或UCloud的服务器,他们服务器的公网都是通过端口映射的方式实现的.

端口转发

端口转发就实现的功能效果和端口映射几乎一样,这两个名词的边界也比较含糊不清,如果上面把端口映射解释为从是处理路由器公网到内网,可以理解端口转发是系统级别的.一个简单的例子你的tomcat默认使用内网8080端口,你需要在80端口上去访问,这个时候就需要把自己的80端口转发到8080端口,访问80端口的时候会被系统把请求转发到8080端口上接受.

反向代理

反向代理我们最常见使用的就是Nginx反向代理,通用也能实现用户请求80端口代理给本机的8080端口这个业务,但是反向代理和端口转发唯一不同的是他们的网络层次,反向代理是应用层面的通俗易懂的说就是HTTP,反向代理服务器接受到HTTP请求会在建立一条HTTP请求到请求的服务器获取返回结果之后在返回给请求的服务器,但是端口转发就不同了,端口转发是TCP/IP层的也就是说所有的TCP都可以被转发,比如数据库连接,redis连接这个是反向代理做不到的

2. 使用rinetd进行端口转发

大家了解端口转发之后大致明白在什么场景下应该来使用了,我们通常配置端口转发时多半会使用Liunx的iptables来进行,但是这样有诸多不方便的地方,端口占用不提示,关闭不方便等等,后来就有了rinetd这个快速端口转发工具的诞生,我们来了解怎么使用rinetd来配置一个端口转发.

下载软件:

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz

安装软件:

tar xzvf rinetd.tar.gz
cd rinetd
make
make install

编辑配置文件加入你的转发规则 :

内容格式:源IP 源端口 要跳转的IP 要跳转的端口

比如需要通过80端口访问到8080端口的内容

0.0.0.0 8080 0.0.0.0 80

启动rinetd :

rinetd -c /etc/rinetd.conf

在启动时候如果你的80端口被占用会有报错信息

查看转发规则是否成功 :

netstat -tanulp|grep rinetd

3. 总结

我们一同了解了关于端口映射,端口转发,反向代理之前的区别,并且使用rinetd快速设置端口转发规则,在后面的某些特定场景合理的使用以上技术可以解决很多特定问题,也希望对能够有帮助!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

文振熙 CSDN认证博客专家 Go/GoLang PHP 分布式
六年技术研发经验、四年后端技术架构经验,带领管理过45+技术团队和技术架构团队,从零到一帮助公司组建了后端团队、 运维团队和大数据团队,并且不断演进推广前沿技术;

多年来一直坚持产出优质原创博文,共创作169篇原创博客,全网阅读量破百万,并且被CSDN开源社区授予CSDN认证专家,

参加或主导多个开源项目研发(PhalApi、GoCore、GoRSA、KT-connect);
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页