前言
NAT(Network Address Translation,网络地址转换)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要应用在连接两个网络的边缘设备上,用于实现允许内部网络用户访问外部公共网络以及允许外部公共网络访问部分内部网络资源(例如内部服务器)的目的。
- 将IP数据报文头中的IP地址进行转换
- 通常部署在网络出口设备,有效节约公网地址
NAT类型
静态NAT
一对一地址映射 一个公网地址只保留给一个私网地址使用
动态NAT
基于地址池动态映射,一个公网地址可以临时分配给一个私网地址。当地址用尽后,只能等待。
NAPT端口地址转换*
同时对IP地址和端口号进行转换,实现公网地址与私网地址的1:N映射。有效提高公有地址利用率。
需要创建NAT地址池
Easy IP*
原理同NAPT,没有地址池,直接使用公网接口的地址进行转换,适用于DHCP、PPPoe等动态获取公网地址的场景
NAT Server*
当需要将内网服务提供到外网时,可以配置 '公网IP地址+端口号' 与 '私网IP地址+端口号' 间的映射关系来实现
私网地址端口号为提供服务的端口号 公网地址端口号为访问服务的端口号 二者端口号不要求完全一致
基本配置
静态NAT配置
nat static enable // 开启NAT静态功能
nat static global <公网地址> inside <私网地址> // 配置静态NAT
display nat static // 验证静态NAT的配置
动态NAT配置
nat address-group <公网地址池编号> <公网地址范围> // 创建地址池
nat outbound acl <编号> address-group <公网地址池编号> [no-path] // 关联acl和nat地址池
display nat address-group // 验证nat地址池配置信息
display nat outbound // 验证
NAT server基本配置
nat server protocol {tcp|udp} global <公网地址|端口> <端口> inside <私网地址> <端口>
配置与验证
display nat session brief // 查看nat映射关系
实验一 静态NAT配置举例
nat static outbound 192.168.0.1 12.1.1.2
nat static outbound 192.168.1.1 12.1.1.3
interface GigabitEthernet0/0
ip address 12.1.1.2 255.255.255.0
nat static enable
实验二 动态NAT配置举例
# 匹配数据流
acl advanced 3000
rule 5 permit ip
# NAT创建地址池
nat address-group-1
address 12.1.1.2 12.1.1.3
# 应用NAT
interface GigabitEthernet0/0
ip address 12.1.1.2 255.255.255.0
nat outbound 3000 address-group 1 no-pat // 动态NAT
*nat outbound 3000 address-group 1 // NAPT
实验三 EasyIP配置举例
acl advanced 3000
rule 5 permit ip
interface GigabitEthernet0/0
ip address 12.1.1.2 255.255.255.0
nat outbound 3000
实验四 NatServer配置举例
实验要求: HOST本地主机通过SSH远程访问公网地址12.1.1.2 R1将12.1.1.2:22端口映射为192.168.2.1:22从而完成远程访问防火墙的目的
R1关键配置
#
interface GigabitEthernet5/0
ip address 192.168.2.254 255.255.255.0
#
interface GigabitEthernet0/0
ip address 12.1.1.2 255.255.255.0
nat outbound 3000
nat server protocol tcp global 12.1.1.2 22 inside 192.168.2.1 22
#
acl advanced 3000
rule 5 permit ip
FWA关键配置
#
interface GigabitEthernet1/0/0
ip address 192.168.2.1 255.255.255.0
#
ssh server enable
#
line vty 0 4
authentication-mode scheme
user-role network-admin
protocol inbound ssh
#
security-zone name Trust
import interface GigabitEthernet1/0/0
#
security-policy ip
rule 5 name permit
action pass
source-zone Trust
source-zone Local
destination-zone Local
destination-zone Trust
#
ip route-static 0.0.0.0 0 192.168.2.254