端口映射工具Rinetd

官方网站:http://www.rinetd.com/

虽然Linux本身自带的iptables可以实现端口转发功能,但其配置相对复杂。

将TCP连接从一个IP地址和端口重定向到另一个IP地址和端口。rinetd是一个单进程服务器,处理与文件中指定的地址/端口对的任意数量的连接/etc/rinetd.conf。由于rinetd使用非阻塞I / O作为单个进程运行,因此它能够重定向大量连接,而不会严重影响计算机。 rinetd 不会重定向FTP,因为FTP需要多个套接字。

socket 的原意是“插座”,在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。

当访问某IP的某个端口,会自动转发到指定的IP和端口

安装

关闭防火墙
# yum -y install wget vim gcc
# wget http://www.rinetd.com/download/rinetd.tar.gz
# tar zxvf rinetd.tar.gz
# cd rinetd && sed -i 's/65536/65535/g' rinetd.c
# mkdir /usr/man
# make && make install
cc -DLINUX -g   -c -o rinetd.o rinetd.c
rinetd.c:177:6: 警告:与内建函数‘log’类型冲突 [默认启用]
 void log(int i, int coSe, int result);
      ^
cc -DLINUX -g   -c -o match.o match.c
gcc  rinetd.o match.o -o rinetd -lpthread
install -m 700 rinetd /usr/sbin
echo > /etc/rinetd.conf
# install -m 700 rinetd /usr/sbin
# install -m 644 rinetd.8 /usr/man/man8

配置文件

# vim /etc/rinetd.conf
0.0.0.0 80  192.168.0.10 80
logfile /var/log/rinetd.log

0.0.0.0表示本机绑定所有可用地址,将所有发往本机的80端口请求转发到192.168.0.10的80端口
============================
配置文件格式是:
bindaddress bindport connectaddress connectport
绑定的地址 绑定的端口 连接的地址 连接的端口
或
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口

启动与关闭程序

# rinetd -c /etc/rinetd.conf
# pkill rinetd 

ssh测试

# vim /etc/rinetd.conf
0.0.0.0 34 192.168.202.192 22
重启
# pkill -15 rinetd
# rinetd -c /etc/rinetd.conf
测试:
# ssh 192.168.202.191 -p 34
The authenticity of host '[192.168.202.191]:34 ([192.168.202.191]:34)' can't be established.
ECDSA key fingerprint is SHA256:IJ1fTgB4TkGt4Y1s/0/nLNnSJUaJLb93xmDtaxC6BZw.
ECDSA key fingerprint is MD5:f7:28:48:02:40:15:8e:b1:67:f2:c8:7b:04:86:b2:b2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.202.191]:34' (ECDSA) to the list of known hosts.
root@192.168.202.191's password: 
Last login: Mon Jul 20 08:37:56 2020 from 192.168.202.1
# ip a   # 发现在192这台机器上了
inet 192.168.202.192/24 brd 192.168.202.255 scope global noprefixroute ens33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值