Red Hat Training

A Red Hat training course is available for RHEL 8

7.7. 使用 nftables 配置端口转发

端口转发可让管理员将发送到特定目的端口的数据包转发到不同的本地或者远程端口。

例如,如果您的 Web 服务器没有公共 IP 地址,您可以在防火墙上设置端口转发规则,该规则将在防火墙的端口 80443 上转发传入的数据包到 Web 服务器。使用这个防火墙规则,互联网中的用户可以使用防火墙的 IP 或主机名访问网页服务器。

7.7.1. 将传入的数据包转发到不同的本地端口

这部分论述了如何在端口 8022 上将传入的 IPv4 数据包转发到本地系统上的端口 22 的示例。

流程

  1. 使用 ip 地址系列创建一个名为 nat 的表:

    # nft add table ip nat
  2. 在表中添加 preroutingpostrouting 链:

    # nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; }
    注意

    -- 选项传递给 nft 命令,以避免 shell 将负优先级值解析为 nft 命令的选项。

  3. prerouting 链中添加一条规则,将端口 8022 上传入的数据包重定向到本地端口 22

    # nft add rule ip nat prerouting tcp dport 8022 redirect to :22