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

纵饮孤独 提交于 2020-03-25 18:31:29

3 月,跳不动了?>>>

#[喵咪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快速设置端口转发规则,在后面的某些特定场景合理的使用以上技术可以解决很多特定问题,也希望对能够有帮助!

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!