linux映射端口命令
linux映射端口命令详细介绍
在 Linux 中实现端口映射(端口转发)常用以下工具和命令,具体根据需求选择:
1. iptables(传统网络防火墙工具)
适用于 网络地址转换(NAT)场景(如将公网端口映射到内网主机端口)。
需以 root 权限执行,示例命令:
bash
iptables nat PREROUTING tcp DNAT --to-destination .1.100:80
iptables nat OUTPUT tcp DNAT --to-destination .0.1:80
iptables filter FORWARD tcp ACCEPT
iptables save
netfilter-persistent save
2. nftables(新一代网络过滤工具,逐步替代 iptables)
语法更简洁,示例命令:
bash
nft table nat
nft chain nat PREROUTING nat hook prerouting priority
nft rule nat PREROUTING tcp dport dnat to .1.100:80
nft list ruleset /etc/nftables.conf
3. SSH 端口转发(临时、安全的远程映射)
通过 SSH 隧道实现端口映射,适合临时访问或跨网络场景。
- 本地转发(本地端口 → 远程主机端口)
将本地机器的本地端口映射到远程服务器的目标主机:目标端口:
bash本地端口:目标主机:目标端口 远程主机用户@远程主机IP示例:将本地 8080 端口映射到远程服务器
10.0.0.1的 80 端口:
bash:10.0.0.1:80 user@remote.server.com - 远程转发(远程端口 → 本地主机端口)
将远程机器的远程端口映射到本地机器的本地端口(常用于内网穿透):
bash远程端口:本地主机:本地端口 远程主机用户@远程主机IP示例:将远程服务器的 8080 端口映射到本地 80 端口:
bash:localhost:80 user@remote.server.com
4. socat(通用双向数据传输工具)
适合简单的端口映射,支持 TCP、UDP 等协议。
安装:yum install socat 或 apt install socat
示例:将本地 8080 端口的流量转发到 192.168.1.100:80:
bash
socat TCP-LISTEN:8080,fork TCP:192.168.1.100:80
912socat TCP-LISTEN:8080,fork TCP:192.168.1.100:80
注意事项
- 权限:除 SSH 外,其他工具(iptables/nftables/socat)需
root权限执行。 - 持久化:iptables/nftables 规则默认重启后失效,需通过
save命令或配置文件持久化。 - 防火墙:确保目标端口所在主机的防火墙(如
firewalld或ufw)开放了对应端口。