端口映射与端口转发用于发布防火墙内部的服务器或者防火墙内部的客户端计算机。有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。虽然Linux本身自带的iptables可以实现端口转发功能,但其配置相对复杂。因此本文介绍另一个端口转发工具Rinetd,其安装和配置都更为简单。
本文是基于Centos7系统部署Rinetd端口转发工具。Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。
到官网下载最新版,得到安装包rinetd.tar.gz :
官网地址:https://boutell.com/rinetd/
上传到Linux,本文上传位置为:
/usr/local/
解压安装包:
tar -zxvf rinetd.tar.gz
由于Rinetd需要编译安装,先安装gcc编译环境:
yum install gcc
进入Rinetd安装目录:
cd /usr/local/rinetd
检查安装配置文件:
vi 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/man/man8
但是若 /usr/man/man8 目录不存在,需要先手建:
mkdir -p /usr/man/man8
编译并安装:
make && make install
至此Rinetd安装完成。
配置端口转发规则(该文件可能不存在,直接创建即可):
vi /etc/rinetd.conf
该文件每行一个转发规则,配置格式为:
[source_address] [source_port] [destination_address] [destination_port]
即:
[本机IP(若非多网卡直接设为0.0.0.0)] [转发端口] [服务IP] [服务端口]
如:
0.0.0.0 9527 192.168.64.22 9527
Rinetd的启动需要指定规则配置文件,而停止需要杀掉进程:
启动:rinetd -c /etc/rinetd.conf 停止:killall rinetd
查看端口转发状态:
netstat -tanulp|grep rinetd
资源下载
https://download.csdn.net/download/lyy289065406/10551468