知识点3:动态目的NAT的配置总结

一句话总结配置逻辑:

安全策略决定"能不能过",NAT策略决定"怎么换IP"。流量先过安全策略,再过NAT策略。


一、场景设定

  • 内网区域:trust 区域,网段 192.168.1.0/24

  • 外网区域:untrust 区域,互联网

  • 防火墙接口:

    • G1/0/1 (接内网,加入 trust 区域)

    • G1/0/2 (接外网,加入 untrust 区域)

  • NAT地址池:202.100.1.10 到 202.100.1.20 (公司公网IP)


二、分步配置逻辑

第一步:先搞通路由和安全策略(先能通,再考虑转换)

1. 路由配置

内网到外网:默认路由指向外网网关

bash 复制代码
ip route-static 0.0.0.0 0.0.0.0 202.100.1.1

外网到内网:NAT会自动处理,通常不需要静态路由

2. 安全策略配置(核心逻辑:谁,从哪里来,到哪里去,允许什么服务)

安全策略是防火墙的第一道关卡,基于原始IP地址做判断。

bash 复制代码
# 进入安全策略视图
security-policy

# 创建一条策略规则
rule name trust_to_untrust  # 规则名称
  source-zone trust          # 源区域:流量从哪里来(内网)
  destination-zone untrust   # 目的区域:流量到哪里去(外网)
  source-address 192.168.1.0 24  # 源地址:内网整个网段
  action permit              # 动作:允许通过

逻辑解析:

  • 这条策略说:"允许来自内网信任区域的所有IP,访问外网不信任区域。"

  • 此时还没有任何NAT转换,安全策略看到的是用户真实的私网IP(192.168.1.x)。

  • 如果没有这条策略,内网流量根本到不了NAT环节就会被丢弃。


第二步:配置NAT策略(决定哪些流量需要转换IP)

NAT策略是第二道处理环节,处理已经通过安全策略的流量。

bash 复制代码
# 1. 首先定义NAT地址池(有哪些公网IP可用)
nat address-group NAT_POOL  # 地址池名称
  mode pat                   # PAT模式(多对多,带端口转换)
  section 0 202.100.1.10 202.100.1.20  # IP范围

# 2. 创建NAT策略
nat-policy
  rule name trust_to_untrust_nat  # 规则名称
    source-zone trust             # 源区域(和内网匹配)
    destination-zone untrust      # 目的区域(和外网匹配)
    source-address 192.168.1.0 24 # 源地址段(和内网匹配)
    action source-nat address-group NAT_POOL  # 动作:做源NAT,用这个地址池

逻辑解析:

  1. 匹配条件:这条NAT策略的匹配条件(源区域、目的区域、源地址)和安全策略高度相似,但作用完全不同。
  2. 执行时机:
    • 用户192.168.1.100访问百度
    • 第一步:流量到达防火墙,匹配安全策略trust_to_untrust → 允许通过
    • 第二步:通过后的流量进入NAT处理,匹配NAT策略trust_to_untrust_nat → 执行转换
  3. 转换过程:
    • 从NAT_POOL中动态选择一个公网IP(比如202.100.1.10)
    • 把源IP从192.168.1.100换成202.100.1.10,同时可能换源端口
    • 记录转换关系到会话表
    • 转发到互联网

三、完整工作流程(最直观的逻辑)

想象一个内网用户访问百度:


四、关键点与易错点

1. 顺序很重要

bash 复制代码
# 错误认知:以为配置顺序就是执行顺序
# 正确理解:执行顺序是固定的,与配置顺序无关

流量 → 安全策略 → NAT策略 → 转发

2. NAT策略不一定需要

  • 如果内网用户不需要访问互联网,只需要安全策略,不需要NAT策略。

  • 如果需要访问,但内网用的是公网IP(很少见),也只需要安全策略,不需要NAT。

3. 安全策略看的是原始IP

bash 复制代码
# 注意:安全策略和NAT策略都基于zone,而不是接口IP
# 所以必须先把接口加入正确的zone:
firewall zone trust
  add interface GigabitEthernet1/0/1
  
firewall zone untrust
  add interface GigabitEthernet1/0/2

五、精简配置示例(常用模板)

bash 复制代码
# 1. 接口和区域
interface GigabitEthernet1/0/1
  ip address 192.168.1.1 255.255.255.0
  
interface GigabitEthernet1/0/2
  ip address 202.100.1.1 255.255.255.0

firewall zone trust
  add interface GigabitEthernet1/0/1

firewall zone untrust  
  add interface GigabitEthernet1/0/2

# 2. 路由
ip route-static 0.0.0.0 0.0.0.0 202.100.1.254

# 3. NAT地址池
nat address-group INTERNET_POOL
  mode pat
  section 0 202.100.1.10 202.100.1.20

# 4. 安全策略(先放行)
security-policy
  rule name PERMIT_LAN_TO_INTERNET
    source-zone trust
    destination-zone untrust
    source-address 192.168.1.0 24
    action permit

# 5. NAT策略(后转换)
nat-policy
  rule name NAT_LAN_TO_INTERNET
    source-zone trust
    destination-zone untrust
    source-address 192.168.1.0 24
    action source-nat address-group INTERNET_POOL

总结逻辑:安全策略是"大门守卫",NAT策略是"化妆师"。流量必须先被守卫放行,才能让化妆师给它换个"公网脸"出去见人。

相关推荐
00后程序员张3 小时前
HTTPS Everywhere 时代的抓包挑战,从加密流量解析到底层数据流捕获的全流程方案
网络协议·http·ios·小程序·https·uni-app·iphone
CNRio3 小时前
第8章 网络安全应急响应
网络·安全·web安全
风掣长空3 小时前
Google Test (gtest) 新手完全指南:从入门到精通
运维·服务器·网络
发光小北4 小时前
SG-PNh750-TCP-210(Profinet 从站转 Modbus TCP 网关)
网络·网络协议·tcp/ip
漏洞文库-Web安全4 小时前
Linux逆向学习记录
linux·运维·学习·安全·web安全·网络安全·逆向
轻颂呀5 小时前
TCP协议
linux·网络·网络协议·tcp/ip
松涛和鸣5 小时前
25、数据结构:树与二叉树的概念、特性及递归实现
linux·开发语言·网络·数据结构·算法
saber_andlibert6 小时前
【docker】网络基础和容器编排
网络·docker·php
浩浩测试一下6 小时前
C&&汇编中的调用约定
大数据·汇编·安全·web安全·网络安全·系统安全