静态NAT原理
- 每个私有地址都有一个与之对应并且固定的公有地址,私有地址与公有地址是一对一映射关系
- 支持双向访问;私有地址经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址
动态NAT原理
- 为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池
- 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”
NAPT原理
- 动态NAT不会转换端口号,公有地址和私有地址还是1:1的映射关系
- 从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率
Easy IP原理
- 实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池概念,使用接口地址作为NAT转换的公有地址
- 适用于不具备固定公网IP地址的场景,如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换
NAT Server原理
- [公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用
- 外网主机主动访问[公有地址:端口]实现对内网服务器的访问
案例基本拓扑和配置:
LSW1的配置
#
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
#
interface Vlanif20
ip address 192.168.20.1 255.255.255.0
#
interface Vlanif999
ip address 192.168.100.2 255.255.255.0
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 999
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 10
#
ip route-static 0.0.0.0 0.0.0.0 192.168.100.1
#
AR1的配置
#
interface GigabitEthernet0/0/0
ip address 192.168.100.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
#
ip route-static 192.168.10.0 255.255.255.0 192.168.100.2
ip route-static 192.168.20.0 255.255.255.0 192.168.100.2
#
AR2的配置
#
interface GigabitEthernet0/0/0
ip address 60.1.1.100 255.255.255.0
#
静态NAT
AR1的配置
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
nat static global 60.1.1.2 inside 192.168.10.10 netmask 255.255.255.255
#
Easy-IP
AR1的配置
acl number 2000
rule 5 permit source 192.168.10.10 0
rule 10 permit source 192.168.20.10 0
#
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
nat outbound 2000
#
华为acl做抓取路由的时候deny all,做访问控制(traffic-filter)的时候默认permit all,以上属于抓取路由
NAPT
AR1的配置
acl number 2000
rule 5 permit source 192.168.10.10 0
rule 10 permit source 192.168.20.10 0
#
nat address-group 0 60.1.1.2 60.1.1.10
#
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
nat outbound 2000 address-group 0 (no-pat)//no-pat表示不基于端口
#
NAT Server
global
#
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
nat server global 60.1.1.11 inside 192.168.10.11
nat outbound 2000 address-group 0
#
protocol
#
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
nat server protocol udp global current-interface 5555 inside 192.168.10.11 6666
nat outbound 2000 address-group 0
#