Linux配置端口转发:四种实用方法详解

时间:2026-05-09 13:24

端口转发是Linux运维中的常用技术,能将访问某端口的流量导向另一台服务器的指定端口。本文介绍四种主流配置方法,适应不同场景需求。

一、准备工作:开启IP转发

无论使用哪种方法,都需要先开启Linux内核的IP转发功能:

bash
# 临时开启(重启失效)
echo 1 > /proc/sys/net/ipv4/ip_forward

# 永久开启
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

二、方法一:iptables(内核级转发)

适用场景:高性能生产环境、需要稳定可靠转发的场景-8

iptables是最常用的端口转发工具,工作在内核态,性能最高。

本机端口转发

将访问8080端口的流量转发到本机80端口-8

bash
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

跨服务器转发(DNAT)

将公网IP的8080端口请求转发至内网Web服务器(192.168.1.100:80)-1-4

bash
# 修改目标地址
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80

# 修改源地址,确保返回流量正确路由
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 80 -j MASQUERADE

保存规则

bash
# Ubuntu/Debian
apt-get install iptables-persistent
# CentOS/RHEL
service iptables save

三、方法二:socat(应用层转发)

适用场景:需要灵活协议支持、测试环境-2

socat功能强大,支持TCP、UDP、SSL、Unix Socket等任意协议间的转发。

基本用法

将本地8080端口转发到192.168.1.100:80-2-5

bash
# 单连接版本
socat TCP4-LISTEN:8080 TCP4:192.168.1.100:80

# 多连接版本(支持多个客户端,推荐)
socat TCP4-LISTEN:8080,fork,reuseaddr TCP4:192.168.1.100:80

UDP转发

bash
socat UDP4-LISTEN:8080,fork UDP4:192.168.1.100:80

四、方法三:SSH隧道(加密转发)

适用场景:需要安全加密、临时使用或穿透防火墙-3-9

SSH隧道利用SSH协议建立加密通道,安全性最高。

本地端口转发(Local Forwarding)

访问本地9999端口,实际访问远程服务器的8888端口-9

bash
ssh -g -N -L 9998:localhost:8888 user@远程服务器IP -p 22

参数说明:

  • -g:允许局域网其他设备访问

  • -N:仅做转发,不登录SSH

  • -L:本地端口转发

远程端口转发(Remote Forwarding)

将远程服务器的端口映射到本地-3

bash
ssh -N -R 465:localhost:22 user@公网服务器IP

动态端口转发(SOCKS代理)

在本地1080端口开启SOCKS5代理-9

bash
ssh -C -N -D localhost:1080 user@远程服务器IP

五、方法四:rinetd(轻量级专用工具)

适用场景:配置简单、快速部署-7

rinetd专门用于端口转发,配置极其简单。

安装

bash
# Ubuntu/Debian
apt-get install rinetd

# CentOS/RHEL
wget http://www.boutell.com/rinetd/rinetd.tar.gz
make && make install

配置

编辑 /etc/rinetd.conf-7

text
# 本机IP 本机端口 目标IP 目标端口
0.0.0.0 2018 103.74.192.160 2019
192.168.1.10 8080 192.168.1.100 80

启动

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

六、方法对比与选择建议

 
 
方法 性能 安全 配置难度 适用场景
iptables 最高 一般 中等 生产环境、高性能需求
socat 一般 简单 灵活协议、测试环境
SSH隧道 中等 最高 简单 加密传输、临时通道
rinetd 一般 最简单 快速部署、简单需求

七、实用工具推荐

如果你在Windows或Linux上需要图形化管理端口转发规则,可以试试这款80km无痕网关

👉 https://www.80km.com/dkzf/

它提供Web界面管理,支持多台后端服务器的流量分发和故障转移,几分钟即可完成设置,适合需要快速部署和可视化管理的场景。

总结

Linux端口转发有多种实现方式,根据实际需求选择:

  • 追求性能 → iptables内核转发

  • 需要加密 → SSH隧道

  • 灵活测试 → socat

  • 快速部署 → rinetd

  • 图形管理 → 80km无痕网关

Java做端口转发性能怎么样?原生Socket vs Netty对比分析
服务器设置转发:实现高效数据传输的实用指南
解析流媒体转发服务器:支撑影音流畅传输的核心力量
Windows 截图怎么转发?超全实用转发方法汇总
查找网站隐藏ip,如何快速查找网站隐藏ip
查找网站隐藏ip,怎么快速查找网站隐藏ip
Linux开启转发:让数据包在不同网卡间流动
Linux开启路由转发功能,Linux如何开启路由器转发
Linux端口转发设置:从入门到实战
Linux HTTP端口转发:让Web请求灵活“跳转”