linux的redir命令实现端口转发

文章目录

linux的redir命令实现端口转发

redir

官方github:https://github.com/troglobit/redir

官方文档:https://manpages.debian.org/testing/redir/redir.1.en.html

redir命令是一个有用的工具,可以在Linux系统上进行网络流量的重定向。使用Redir命令,您可以轻松地将TCP、UDP和ICMP流量从一个端口或IP地址重定向到另一个端口或IP地址。

redir 用于简单地将网络流量从一个端口重定向到另一个地址和端口。例如,可以把本地的某个端口上的请求转发到远程服务器的某个端口。

不提供任何加密或认证,数据以明文形式传输,这意味着不适合在不安全的网络上使用。

适用于内部网络的简单流量重定向,特别是在防火墙或路由器上使用。

redir 和 ssh端口转发的功能比较

  • 选择 redir 的场景:

    redir: 不提供任何加密或认证机制,数据以明文形式传输。它的流量不会被加密,因此在不安全的网络中使用可能导致数据泄露。

    在安全的内部网络环境中,需要简单的端口转发,不关心安全性时,可以使用 redir。

  • 选择 ssh 的场景:

    当需要安全的通信或在不安全的网络中进行端口转发时,应该选择 ssh。

    如果需要多种类型的端口转发(如本地、远程和动态),或者需要进行远程命令执行,也应选择 ssh。

redir 不提供加密, 如果只需简单的端口转发且在安全的环境中,redir 可能更方便。

redir安装

安装Redir命令

要使用Redir命令,首先需要在Linux系统上进行安装。在大多数Linux发行版中,使用以下命令可以安装软件包:

bash 复制代码
sudo apt-get install redir

或者

bash 复制代码
sudo yum install redir

redir使用方式

redir: 较为简单,通常只需要指定源端口和目标地址即可。例如:

bash 复制代码
redir :8080 192.168.1.10:80

所有通过本地 8080 端口的流量,包括来自外部网络的流量 ,都会被 redir 捕获并进行重定向,将被转发到 192.168.1.1080 端口(通常用于 HTTP 服务)。这意味着当用户连接到本地的 8080 端口时,流量会被重定向到 192.168.1.1080 端口。

所有通过本地 8080 端口的流量,无论是来自外部还是内部,都会被 redir 捕获并重定向到配置的目标地址。

UDP重定向

将本地UDP端口(例如53)重定向到远程UDP端口(例如5353):

bash 复制代码
redir --laddr=本地IP地址 --lport=本地端口 --caddr=远程IP地址 --cport=远程端口 --udp

将远程UDP端口(例如5353)重定向到本地UDP端口(例如53):

bash 复制代码
redir --caddr=本地IP地址 --cport=本地端口 --laddr=远程IP地址 --lport=远程端口 --udp

SSH 端口转发

SSH 端口转发确实要求流量必须通过 SSH 服务器的 SSH 端口(通常是 22 端口)进行传输。

所有流量都必须首先通过 SSH 连接。这意味着目标服务(例如数据库、Web 服务器等)并不能直接接收来自客户端的流量,而是必须先经过 SSH 服务器。

ssh: 需要建立 SSH 连接,并指定端口转发规则,具体示例如:

  1. 本地端口转发:
bash 复制代码
ssh -L 8080:example.com:80 user@sshserver.com

当你访问 localhost:8080 时,流量会先通过 sshserver.com 的 SSH 端口,然后被重定向到 example.com:80

  1. 远程端口转发:
bash 复制代码
ssh -R 9090:localhost:3000 user@sshserver.com

访问 sshserver.com:9090 的流量会流入 SSH 连接,并转发到本地机器的 3000 端口。

SSH 端口转发中,所有流量都必须通过 SSH 端口才能实现安全的转发。这种机制确保了数据的安全性和完整性。

相关推荐
2301_7779983420 小时前
网络基础(一):协议与网络传输基本流程
linux·网络
2401_8949155320 小时前
部署 GEO 优化源码常见报错排查:端口、伪静态、缓存问题解决
java·运维·服务器·后端·缓存·开源
Lysander.Jovian20 小时前
Nginx服务2
运维·数据库·nginx
小张同学a.20 小时前
zabbix企业级监控平台4——分布式监控与grafana数据可视化
linux·运维·数据库·分布式·信息可视化·zabbix·grafana
Darkwanderor20 小时前
线程概念和Linux线程
linux·c语言·c++
酷可达拉斯21 小时前
自动化运维-从零开始编写ansible剧本(二)
linux·运维·服务器·centos·自动化
A-刘晨阳21 小时前
Kubernetes 非共享存储详解:emptyDir 与 hostPath 从入门到实践
运维·云原生·容器·kubernetes·hostpath·emptydir
Nomarsgo21 小时前
联控 Lionconit PTC-1006手持工业平板电脑在野外输电线路巡检中的应用方案
运维·科技·自动化·汽车·电脑
Darkwanderor21 小时前
Linux线程控制
linux·c语言·c++
Brilliantwxx21 小时前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git