linux怎么添加端口映射
linux怎么添加端口映射详细介绍
在 Linux 中,可借助不同工具添加端口映射,下面为你介绍常用的两种方法。
使用
iptables 进行端口映射
iptables 是 Linux 系统里的防火墙工具,能实现端口映射功能。假定你要把外部的 8080 端口映射到内部的 80 端口,具体操作步骤如下:
- 开启 IP 转发功能:
在/etc/sysctl.conf文件里添加或修改如下内容:
plaintext
net.ipv4.ip_forward = 1
之后执行以下命令让修改生效:
bash
- 添加端口映射规则:
bash
iptables nat PREROUTING tcp DNAT --to-destination 内部IP地址:80iptables nat POSTROUTING 内部IP地址 tcp SNAT --to-source 外部IP地址
这里的 “内部 IP 地址” 指的是目标服务器的 IP 地址,“外部 IP 地址” 指的是当前服务器的公网 IP 地址。
- 保存规则:
不同的 Linux 发行版保存iptables规则的方法存在差异。以 CentOS 为例,可使用以下命令保存规则:
bash
iptables save
使用
socat 进行端口映射
socat 是一个多功能的网络工具,能够实现简单的端口映射。假设你要把本地的 8080 端口映射到本地的 80 端口,可执行以下命令:
bash
socat TCP4-LISTEN:8080,fork TCP4:127.0.0.1:80
912socat TCP4-LISTEN:8080,fork TCP4:127.0.0.1:80
此命令会把所有访问本地 8080 端口的请求转发到本地的 80 端口。
以上两种方法各有特点,iptables 适合在服务器层面进行全局的端口映射,而 socat 则更适合临时的、简单的端口映射。