linux防火墙如何做端口映射
linux防火墙如何做端口映射详细介绍
在 Linux 系统里,能够借助iptables或者firewalld来实现端口映射。下面为你分别介绍这两种工具的操作方法:
使用
iptables进行端口映射
iptables是一款经典的 Linux 防火墙工具,借助它可以对网络数据包进行过滤和转发。以下是实现端口映射的基本步骤:
- 开启 IP 转发:
要保证系统开启了 IP 转发功能,编辑/etc/sysctl.conf文件,添加或者修改下面这行内容:plaintextnet.ipv4.ip_forward = 1然后执行以下命令让修改生效:bash
- 配置端口映射规则:
假设要把本地的 8080 端口映射到目标主机的 80 端口,目标主机的 IP 地址是192.168.1.100,可以使用下面的命令:bashiptables nat PREROUTING tcp DNAT --to-destination .1.100:80iptables nat POSTROUTING .1.100 tcp MASQUERADE
- 保存规则:
不同的 Linux 发行版保存iptables规则的方法有所不同,以 CentOS 为例,可以使用下面的命令保存规则:bashiptables save
使用
firewalld进行端口映射
firewalld是 CentOS 7 及以上版本默认的防火墙管理工具,使用起来更加方便。以下是使用firewalld实现端口映射的步骤:
- 开启 IP 转发:
编辑/etc/sysctl.conf文件,添加或者修改下面这行内容:plaintextnet.ipv4.ip_forward = 1然后执行以下命令让修改生效:bash
- 配置端口映射规则:
假设要把本地的 8080 端口映射到目标主机的 80 端口,目标主机的 IP 地址是192.168.1.100,可以使用下面的命令:bashfirewall-cmd --add-forward-portport:prototcp:toport:toaddr.1.100 - 重新加载防火墙规则:bash
firewall-cmd912firewall-cmd
通过以上步骤,你就可以在 Linux 系统上实现端口映射了。你可根据自己的实际需求来选择合适的防火墙工具。