你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

linux下简单好用的工具rinetd

[复制链接]
gaosmile 发布时间:2020-11-12 19:54
简介:
6 x9 `% C' {% a2 Y
linux下简单好用的工具rinetd,实现端口映射/转发/重定向
( b4 t6 ]2 O2 n
0x01 rinetd端口转发

# t0 I6 e2 a2 T. m
Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担
6 [1 w- A. ?- F5 U( G
1、准备配置环境
  1. / K! z3 S8 Y, f
  2. wget http://www.rinetd.com/download/rinetd.tar.gz
复制代码

% o; {% |. U# I; x
% v) c# T3 H) L! |" [
微信图片_20201112194426.png
) J$ C" J2 ^3 k$ L( ?) ?' y$ k
2、解压安装
$ f# R) Q) ^) u

  1. / N' a6 s. n2 ], j# c
  2. tar zxvf rinetd.tar.gz     解压: n( m& k6 M; n- a
  3. cd rinetd     进入rinetd目录
    + X) |1 m2 B  J2 E+ ?$ J) ^) y0 b
  4. make   安装编译
    / c/ w, L/ u/ R0 z  H5 O6 p0 T
  5. make install
复制代码

0 u8 U2 d0 \% A0 {3 [: G
微信图片_20201112194432.png

* H& u$ u. m4 l: u8 E
安装编译

/ k: z' C1 ~# D
微信图片_20201112194435.png

8 F' O# S, J1 u& Z7 C1 @0 e- N. |
微信图片_20201112194439.png
( H& a4 `/ v6 u
3、编辑配置
3 o+ h' o- H' G  v
  1. 7 X0 i$ i# e  T
  2. $ vim /etc/rinetd.conf
    2 H& Z9 d) M, O6 b  ]: h- p
  3. 0.0.0.0 8080 8.210.235.249 8080
    1 _, q  Q: c8 O' t* I- S
  4. 0.0.0.0 22 39.108.159.100 22
复制代码
( j" J" H0 L& q+ y+ a
说明一下(0.0.0.0表示本机绑定所有可用地址)
/ O6 L8 [. ?9 ^2 v7 y
将所有发往本机8080端口的请求转发到172.19.94.3的8080端口

6 Y$ r6 p" {1 {! e
将所有发往本机2222端口的请求转发到192.168.0.103的3389端口

; `9 j$ O! u$ r4 l5 q
将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口
6 H: x, U. U( u  y% r
命令格式是
% q, r& w. {" Y: F
绑定的地址 绑定的端口 连接的地址 连接的端口 或 源地址 源端口 目的地址

! J# o1 x( B( r5 O! \5 T( E
目的端口
3 E" u, P" q  u$ r0 X; H$ i8 o
微信图片_20201112194442.png
4 a4 A+ @8 j  V: {4 q2 o4 ?7 B
微信图片_20201112194446.png

  1. % m" u: {; }1 N* ]. ~
  2. pkill rinetd                        #关闭进程- W/ A; }. c9 ~9 H3 r3 I0 p! _
  3. rinetd -c /etc/rinetd.conf   ##启动转发  _/ u/ K" }  v+ H* S
  4. #把这条命令加到/etc/rc.local里面就可以开机自动运行
复制代码
2 V, \) {: \: ]
启动程序) C" [4 p4 z! _* s
微信图片_20201112194449.png

; t' g" i' k$ r& L; _
查看状态

5 G  h- @; @( ~5 R+ Z
微信图片_20201112194452.png
% Y) P" Q1 _" _
注意事项:/ p& y) B- n, Z/ P" T

  1. : }. r8 p: k# X' q1 U1 Y4 a8 |
  2. 1.rinetd.conf中绑定的本机端口必须没有被其它程序占用
    % p& y$ x, \; a4 O0 [4 t
  3. 2.运行rinetd的系统防火墙应该打开绑定的本机端口! r0 O  [; G- B- A0 ]' ~0 d/ d
  4. 例如:  [4 G6 v/ q! r3 `8 H3 x/ x7 w
  5. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1111 -j ACCEPT% G. [) p7 y: {
  6. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
复制代码
! @. ]4 |# P1 e; @7 Y/ @: V/ w, e2 v
0x02 iptables端口转发
# p: y& [5 I3 a2 T4 E; n$ Z
拓扑图
微信图片_20201112194456.png
进入系统查看当前使用的端口情况
$ m/ N9 \: {1 C4 i4 E% u
netstat -atnl
! L; W* b- A3 w9 O1 k6 c9 H
微信图片_20201112194459.png
& F# o+ h3 M! l
系统里边的22端口是使用的,这里开启一下系统的ip转发

5 [/ p' f  k' e
echo 1 > /proc/sys/net/ipv4/ip_forward

$ v9 u0 D3 O) `$ j
微信图片_20201112194502.png

  a5 Q5 e8 G6 w6 @& n+ }6 s, g
也可通过编辑/etc/sysctl.conf文件来启用ip转发,然后再使用sysctl命令使其生效
  1.   v- m4 k  B) M4 N* k* L
  2. 推荐一个一键脚本: wget -N --no-check-certificate https://raw.githubusercontent.com/hugoyue/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh   执行脚本安装命令
复制代码
( v5 Y3 d! `9 @8 F1 V8 [
微信图片_20201112194505.png
5 f  u" q/ L3 z; \4 \" z7 F
微信图片_20201112194509.png
0 u& z( Z  t( i# i0 X, f4 F) q  y3 z
* u- N' A/ ^6 _# X0 _) `! r
赞 收藏 评论0 发布时间:2020-11-12 19:54

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版