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 [email protected]

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

  1. 远程端口转发:
bash 复制代码
ssh -R 9090:localhost:3000 [email protected]

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

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

相关推荐
宁zz6 小时前
乌班图安装jenkins
运维·jenkins
大丈夫立于天地间6 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg50176 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影7 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain7 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon7 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu7 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
@郭小茶8 小时前
docker-compose方式部署docker项目
运维·docker·容器
GalaxyPokemon8 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++