地址映射(一对一 IP 映射)
地址映射(一对一 IP 映射)
网络需求
用户已完成了防火墙基础配置,现在需要将内网的一台 web 服务器需要将 HTTPS 服务全映射到外网口的地址,让外网的用户能访问到此服务器。
网络拓扑

配置要点
- 基础上网配置
- 配置虚拟 IP(DNAT)
- 配置安全策略
配置步骤
基础上网配置,请参照 网络管理 → 路由模式 → 静态地址上网方式章节,接口 IP、静态路由配置如下。


进入策略 & 对象 → 虚拟 IP,新建虚拟 IP。
配置 VIP,名称为 webserver,用于 wan1 接口。
重要
VIP 配置中的外部 IP 不能配置为现有网络中其他设备的 IP、FortiGate 的网关 IP,也不能配置为内网客户端正常上网可能访问的 IP 地址。这是由于 FortiGate 配置 VIP 后,extip 属于 FortiGate 自身的 IP 地址,即使 VIP 没有被防火墙策略引用,所有访问该 IP 的流量经过 FortiGate 时都会被 FortiGate 引流到自身,影响正常的业务。
重要
强烈建议在配置 VIP 时,选择绑定接口,这样可以防止 VIP 在其他接口响应 ARP 导致的网络问题。

config firewall vip edit "webserver" set extip 202.1.1.11 set mappedip "192.168.1.2" set extintf "port2" next end重要
“外部的 IP 地址/范围”和“映射的 IPv4 地址/范围”数量是对应,一对一映射,可以只写一个 IP 对一个 IP 的映射关系,也可以写一个映射范围。比如 202.1.1.3-202.1.1.10,内部映射必须是 192.168.1.2-192.168.1.9,对应映射关系也是对应的,202.1.1.3 对应 192.168.1.2,202.1.14 对应 192.168.1.3,依此类推。
配置安全策略引用 VIP。

config firewall policy edit 1 set name "webserver" set srcintf "port2" set dstintf "port3" set action accept set srcaddr "all" set dstaddr "webserver" set schedule "always" set service "HTTPS" next end- 流入接口:wan1 //如内网用户也需通过虚拟 IP 访问,需将此处设置为 any
- 源地址:all
- 流出接口: internal
- 目的地址: webserver //定义好的虚拟 IP 映射对象
- 服务: HTTPS //只允许进行 HTTPS 服务访问
- 注意:如内网用户也需通过虚拟 IP 访问,有 2 种方式可实现:
- 需将原策略的【流入接口】设置为 any,并在该策略上开启 NAT
- 或者添加一条【流入接口】为 internal 的内到内策略,并在该策略上开启 NAT
- NAT:根据需求开启,如果内网服务器到源客户端公网 IP 没有路由可达,仅有到达 FortiGate 内网口的路由,则需要开启 NAT,在做 DNAT 之后再做一次源 NAT,将源 IP 转换为 FortiGate 内网口 IP
- 动作:接受
结果验证
从外部进行访问 https://202.1.1.11 ,如果需要测试映射是否有效可以在策略的服务临时添加 ping 服务进行测试。
注意事项
1. 2. 强烈建议在配置 VIP 时,选择绑定接口,这样可以防止 VIP 在其他接口响应 ARP 导致的网络问题。