命令:
nat server [
id ]
protocol
protocol-type
global {
global-address [
global-address-end ] | interface
interface-type interface-number } [
global-port ]
inside
host-address [
host-address-end ] [
host-port ] [ vrrp {
virtual-router-id | master | slave } ] [ no-reverse ] [ vpn-instance
vpn-instance-name ]
配置不带no-reverse参数的nat server后,当公网用户访问服务器时,设备能将服务器的公网地址转换成私网地址;同时,当服务器主动访问公网时,设备也能将服务器的私网地址转换成公网地址。
配置参数no-reverse后,设备只将公网地址转换成私网地址,不能将私网地址转换成公网地址。当内部服务器主动访问外部网络时需要执行outbound的nat策略。
配置NATServer时,no-reverse参数主要用于什么场景?
解决方案
配置NAT Server时,如果没有指定no-reverse参数,将会生成正反两个方向的Server-Map表项,如下:
[USG9000] nat server global 202.169.10.20 inside 192.168.1.2
[USG9000] display firewall server-map
ServerMap item(s) on slot 2 cpu 3
------------------------------------------------------------------------------
Type: Nat Server, ANY -> 202.169.10.20[192.168.1.2], Zone:---
Protocol: ANY(Appro: unknown), Left-Time:---, Pool: ---
Vpn: public -> public
Type: Nat Server Reverse, 192.168.1.2[202.169.10.20] -> ANY, Zone:---
Protocol: ANY(Appro: unknown), Left-Time:---, Pool: ---
Vpn: public -> public
此时无法配置多个Global地址和同一个Inside地址建立映射关系,如下:
[USG9000] nat server global 211.38.20.20 inside 192.168.1.2
Error: The inside ip has been used, please modify it.
如果指定了no-reverse参数,只生成正方向的Server-Map表项,如下:
[USG9000] nat server global 202.169.10.20 inside 192.168.1.2 no-reverse
[USG9000] display firewall server-map
ServerMap item(s) on slot 2 cpu 3
------------------------------------------------------------------------------
Type: Nat Server, ANY -> 202.169.10.20[192.168.1.2], Zone:---
Protocol: ANY(Appro: unknown), Left-Time:---, Pool: ---
Vpn: public -> public
此时可以配置多个Global地址和同一个Inside地址建立映射关系,如下:
[USG9000] nat server global 211.38.20.20 inside 192.168.1.2 no-reverse
[USG9000] nat server global 211.38.20.21 inside 192.168.1.2 no-reverse
因此no-reverse参数主要用于多出口的环境中,向多个外部网络提供同一个内部服务器供访问的场景。在该场景中,如果内部服务器想要主动访问外部网络,还需要在内部服务器所在区域和外部网络所在区域的域间配置NAT策略,将内部服务器的私网地址转换为公网地址,NAT策略中引用的地址池可以是Global地址也可以是其他的公网地址。
[USG9000] nat server global 202.169.10.20 inside 192.168.1.2
[USG9000] display firewall server-map
ServerMap item(s) on slot 2 cpu 3
------------------------------------------------------------------------------
Type: Nat Server, ANY -> 202.169.10.20[192.168.1.2], Zone:---
Protocol: ANY(Appro: unknown), Left-Time:---, Pool: ---
Vpn: public -> public
Type: Nat Server Reverse, 192.168.1.2[202.169.10.20] -> ANY, Zone:---
Protocol: ANY(Appro: unknown), Left-Time:---, Pool: ---
Vpn: public -> public
此时无法配置多个Global地址和同一个Inside地址建立映射关系,如下:
[USG9000] nat server global 211.38.20.20 inside 192.168.1.2
Error: The inside ip has been used, please modify it.
如果指定了no-reverse参数,只生成正方向的Server-Map表项,如下:
[USG9000] nat server global 202.169.10.20 inside 192.168.1.2 no-reverse
[USG9000] display firewall server-map
ServerMap item(s) on slot 2 cpu 3
------------------------------------------------------------------------------
Type: Nat Server, ANY -> 202.169.10.20[192.168.1.2], Zone:---
Protocol: ANY(Appro: unknown), Left-Time:---, Pool: ---
Vpn: public -> public
此时可以配置多个Global地址和同一个Inside地址建立映射关系,如下:
[USG9000] nat server global 211.38.20.20 inside 192.168.1.2 no-reverse
[USG9000] nat server global 211.38.20.21 inside 192.168.1.2 no-reverse
因此no-reverse参数主要用于多出口的环境中,向多个外部网络提供同一个内部服务器供访问的场景。在该场景中,如果内部服务器想要主动访问外部网络,还需要在内部服务器所在区域和外部网络所在区域的域间配置NAT策略,将内部服务器的私网地址转换为公网地址,NAT策略中引用的地址池可以是Global地址也可以是其他的公网地址。