Red Hat Training
A Red Hat training course is available for RHEL 8
8.8. 使用 nftables 配置端口转发
端口转发可让管理员将发送到特定目的端口的数据包转发到不同的本地或者远程端口。
例如,如果您的 web 服务器没有公共 IP 地址,您可以在防火墙上设置一条端口转发规则,将防火墙上端口 80
和 443
上的传入数据包转发到 web 服务器。使用这个防火墙规则,互联网中的用户可以使用防火墙的 IP 或主机名访问网页服务器。
8.8.1. 将传入的数据包转发到不同的本地端口
这部分描述了如何将端口 8022
上的传入 IPv4 数据包转发到本地系统的端口 22
。
流程
创建一个名为
nat
、具有ip
地址系列的表:# nft add table ip nat
向表中添加
prerouting
和postrouting
链:# nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; }
注意将
--
选项传递给nft
命令,以防止 shell 将负优先级值解析为nft
命令的选项。向
prerouting
链中添加一条规则,将端口8022
上的传入数据包重定向到本地端口22
:# nft add rule ip nat prerouting tcp dport 8022 redirect to :22