Linux安装rinetd实现TCP端口转发

启动后可以输入netstat -apn|grep 'rinetd'查看是否运行正常。

rinetd:轻量级Linux端口转发工具-原创极客博文

rinetd:轻量级Linux端口转发工具

Ubuntu下rinetd快速安装配置

新的微服务理念下,网络端口映射从来没有像今天一样被如此频繁的应用。
在正式的生产环境中,HAPROXY或者NGNIX反向代理基本已经成为软件方案中事实上的工业标准,硬件路由器的NAT方式则是硬件方案中的普及应用。
但是在开发环境中,这些通常的工具还是太重了,维护起来也有些麻烦。
rinetd是一个好选择,安装容易,配置简单,兼容性也还不错。我在使用中只发现过碰到上G的大文件直接sftp协议传输碰到一些兼容问题(猜测生产级的多用户、大规模并发性能不够),正常的日常应用基本没有问题。
在Ubuntu上安装rinetd非常容易:

sudo apt install rinetd

rinetd的配置文件位于/etc/rinetd.conf。一行典型的rinetd映射配置如下:

# bindadress    bindport  connectaddress  connectport
0.0.0.0 20022 192.168.130.100 22

如同上面英文部分的解释所描述的,用空格隔开的4个参数分别为:绑定到主机的地址、绑定端口、转发到的目标IP地址,目标端口。
上面的例子实际就是把虚机或者容器中的192.168.130.100机器的22号ssh端口,映射到当前的Ubuntu主机上。
其实目标地址不是虚机或者容器也是可以的。比如局网中,我们只有有限的外部IP地址,其它的设备只拥有内网地址,也一样可以用这个端口映射的方式,为外部提供服务。
这个IP地址甚至可以在别的网段,只要当前这台主机能够访问到,端口代理就都能使用。
这样的配置文件可以有多行,从而同时映射多个端口到本机,供外部访问。
每次修改配置文件后,需要重启rinetd服务来使配置生效:

service rinetd restart

RELATED ARTICLES

Ubuntu16包依赖故障解决

Linux一个令人赞叹的优点就是浩如烟海的开源软件。工作中碰到的大多数问题,往往都能找到一个优秀的开源软件包来解决,从而节省了自己从头开发的时间和金钱。然而也带来了一个附加问题,大量依赖前人成果的后续开发,导致层层叠叠俨如梦魇的包依赖,很多初入门的Linux新手折戟于此。当前已经有很多的的包管理工具来简化这一切,比如Centos中的yum,又比如Ubuntu中的apt。都已经默认就安装在各自…

2018-02-05

@Andrew

GreenPlum无法远程访问解决

通常GreenPlum都是安装在Centos上,结果安装完发现远程无法连接,在本地是可以正常访问的。 测试是否可以连接可以使用psql工具: “`bashpsql -h 192.168.1.200 -p 5432 -d dw_oems -U gpadmin -W #默认密码一般也是gpadmin或者admin“`如果不能连接,可以先使用netstat测试一下: “`bas…

2018-02-08

@Andrew

端口映射和端口转发的区别以及其工具使用 – 猫总会有哒丶 – 博客园

1|0端口映射

端口映射是NAT的一种,功能是把在公网的地址转翻译成私有地址, 采用路由方式的ADSL宽带路由器拥有一个动态或固定的公网IP,ADSL直接接在HUB或交换机上,所有的电脑共享上网。

端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。端口映射有动态和静态之分。

通俗来讲,端口映射是将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;利用端口映射功能还可以将一台外网IP地址机器的多个端口映射到内网不同机器上的不同端口。 端口映射功能还可以完成一些特定代理功能,比如代理POP,SMTP,TELNET等协议。理论上可以提供65535(总端口数)-1024(保留端口数)=64511个端口的映射。

2|0端口转发

端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。

3|0端口映射和端口转发的区别

端口转发应该是将发送到内网机器指定端口的数据丢给另外一个机器的指定端口(重点是个转字)。

端口映射是本机,就跟路由器一样,你要提供WEB服务,那么就得先映射80端口,外部用户通过80端口访问你的WEB服务(外部用户访问80端口,就会被翻译为内网ip的端口)。

端口转发是两台服务器,端口映射是一个服务器。

个人理解:端口转发相当于代理服务器,当访问代理服务器ip的端口时,代理服务器将请求转发给内网主机。因为转发程序是从内网连接到外网的,所以可以实现访问外网ip时即可以通过相应的端口访问对应的内网资源。

端口映射可用于本机某个端口被禁用时,将一个端口映射到另一个端口;也可用于将本机端口映射到公网ip的某个端口,此时在本机访问本机ip加本机端口就可以访问公网ip对应的资源;或者当想通过外网ip访问本机资源时,可以通过路由器的映射功能将公网ip端口映射到本机端口,此时就可以实现通过公网ip来访问本机资源。

4|0端口映射和端口转发工具使用实例

4|1端口转发工具及实例

windows使用lcx.exe工具实现端口转发,linux使用portmap工具进行端口转发,这里使用两个工具,将windows主机内网端口转发到linux主机公网端口。

解压portmap到linux文件夹中,然后在相应文件夹中运行命令:图片[1]-Linux安装rinetd实现TCP端口转发-今天我都干啥了./portmap即可以得到portmap使用方法:

运行命令:

 ./portmap -m 2 -p1 6666 -h2 **********.cn -p2 7777   #监听6666端口,并将6666端口映射到7777端口

解压lcx.exe到system32文件夹,然后在cmd命令行中运行命令:lcx即可以得到lcx使用方法:图片[2]-Linux安装rinetd实现TCP端口转发-今天我都干啥了

然后运行命令:

lcx -slave ********.cn 8888 127.0.0.1 8080  #将本机8080端口转发到公网服务器的8888端口

然后访问http://**********.cn:7777就可以访问到内网的资源

4|2端口映射工具及实例

使用netsh工具:netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具。

netsh语法:

netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport

运行命令:

netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.1.1.110 connectport=3389 connectaddress=10.1.1.110

即可将本机3389端口映射到3340

__EOF__

作  者猫总会有哒丶出  处https://www.cnblogs.com/codebetter/p/10398422.html关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。版权声明:署名 – 非商业性使用 – 禁止演绎,协议普通文本 | 协议法律文本声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

端口转发和端口映射的区别

  • 端口映射可以实现外网到内网和内网到外网双向的通信,而映射转发只能实现外网到内网的单向通信

  • 端口映射 完全不处理数据

  • 端口转发 其实是经过ssh 协议包裹加密

© 版权声明
THE END
在时间中留下我的脚印
分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情图片

    暂无评论内容