Linux系统端口映射(端口转发)工具RINETD,利用rinted转接服务
Linux版本:centos7中文版64位
简介
Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。
使用iptables 很容易将TCP 和UDP 端口从防火墙转发到内部主机上。但是如果您需要将流量从专用地址转发到甚至不在您当前网络上的机器上,又该怎么办呢?可尝试另一个应用层端口转发程序,如rinetd。
这些代码有点古老,但很短小、高效,对于解决这种问题来说是非常完美的。
rinetd - Internet TCP redirection server
socat - multipurpose relay for bidirectional data transfer
安装使用第一种
下载地址:
Linux版本:rinetd.tar.gz
Windows版本:rinetd.zip
# 如果没有安装gcc 先安装gcc,这里就全部一并安装了 yum -y install gcc+ gcc-c++ yum -y install make
需要rinetd目录运行
解压后,make && make install 就可以了,
程序路径 /usr/sbin/rinetd
需要配置文件 /etc/rinetd.conf
配置文件格式很简单:
[Source Address] [Source Port] [Destination Address] [Destination Port]
0.0.0.0 8080 172.19.94.3 8080
本地IP 本地映射端口 远程IP (或者域名) 远程端口
在每一单独的行中指定每个要转发的端口。源地址和目的地址都可以是
安装使用第二种
软件下载 wget -c http://www.qiquanji.com/xiazai/rinetd.tar.gz
解压安装 tar zxvf rinetd.tar.gz
需要rinetd目录运行
make make install
编辑配置 vi /etc/rinetd.conf 0.0.0.0 8080 172.19.94.3 8080 0.0.0.0 2222 192.168.0.103 33890.0.0.0 3333 www.qiquanji.com 80
vi编辑方法:shift+i 开始编辑
按:Esc 结束
输入::wq 回车保存
本地IP 本地映射端口 远程IP(或者域名) 远程端口
说明一下(0.0.0.0表示本机绑定所有可用地址) 将所有发往本机8080端口的请求转发到172.19.94.3的8080端口 将所有发往本机2222端口的请求转发到192.168.0.103的3389端口 将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口
命令格式是 bindaddress bindport connectaddress connectport 绑定的地址 绑定的端口 连接的地址 连接的端口 或 [Source Address] [Source Port] [Destination Address] [Destination Port] 源地址 源端口 目的地址 目的端口
启动程序 pkill rinetd ##关闭进程 rinetd -c /etc/rinetd.conf ##启动转发 把这条命令加到/etc/rc.local里面就可以开机自动运行
查看状态 netstat -antup
#查看转发 netstat -tanulp #查看转发 netstat -tanulp|grep rinetd
需要注意 1.rinetd.conf中绑定的本机端口必须没有被其它程序占用 2.运行rinetd的系统防火墙应该打开绑定的本机端口 例如: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。
微信扫码关注
更新实时通知