端口映射应原理
2025/10/29大约 2 分钟
端口映射应原理
功能原理
数据从 FortiGate 通过时的处理流程:
- 入接口收到数据包 → 新建流表或匹配流表 → 匹配目的 NAT → 查路由表 → 匹配安全策略 → 数据向出口转发 → 匹配源 NAT → 出接口转发数据包。
- 源 NAT 转换通俗地讲即将源地址转换为另一个地址,目的地址不变。局域网的私网地址需要将源地址转换为公网地址才能访问外网。
- 目的 NAT 转换通俗地讲即将目的地址转换为另一个地址,源地址不变。公网地址访问私网地址的服务器首先是将数据发给服务器所在的局域网的公网地址,再由设备将目的地址转换为服务器地址。
端口映射流程举例
外网地址 192.168.33.177 访问服务器 192.168.3.1 的过程为:
- 外网访问服务器的源 IP 为 192.168.33.177,目的地址为 192.168.33.229,目的端口为 9999,经过 FortiGate 的目的 NAT 转换,将目的 IP 转换为 192.168.3.1,目的端口转换为 80。
- 服务器回应时源 IP 为 192.168.3.1,源端口为 80,目的地址为 192.168.33.177,匹配刚才目的 NAT 转换所建的流表将源 IP 地址转换为 192.168.33.229,源端口转换为 9999。

内网用户 192.168.3.20 通过公网地址 192.168.33.229 访问服务器的数据过程需保证来回路径一致,所以需要配置源 NAT 转换也需要配置目的 NAT 转换:
- 内网 PC 发出的源 IP 为 192.168.3.20,目的 IP 为 192.168.33.229,数据到 FortiGate 后,将源 IP 转换为内网口 IP 地址 192.168.3.254,目的 IP 转换为 192.168.3.1(注意目的端口也由 9999 变为 80)。
- 服务器收到数据后回应的源 IP 为 192.168.3.1,目的 IP 为 192.168.3.254,数据到 FortiGate 后,匹配刚才源 NAT 转换和目的 NAT 转换的流表,将 192.168.3.1 变为 192.168.33.229,192.168.3.254 变为 192.168.3.20,则此时源 IP 地址变为 192.168.33.229(注意源端口也由 80 变为 9999),目的 IP 地址变为 192.168.3.20,发送给内网 PC。


配置举例
网络拓扑

配置步骤
新建 VIP 映射,将公网地址从 port10 映射到内部的 FTP 服务器私网 IP。
config firewall vip edit VIP-FTP-server-port10 set extip 202.106.1.100 set extintf "port10" set portforward enable set mappedip 10.10.10.100 set extport 21 set mappedport 21 end创建安全策略引用该 VIP。
config firewall policy edit 0 set srcintf "port10" set dstintf "port9" set srcaddr "all" set dstaddr VIP-ETP-Server-port10 set action accept set schedule "always" set service "ALL" end使用 Internet PC 访问 VIP 的 FTP 服务,查看会话表项。


多出口 Virtual IP 的场景。
