四、防火墙-NAT Server
学习防火墙之前,对路由交换应要有一定的认识
- NAT Server
- 1.1.基本原理
- 1.2.多出口场景下的NAT Server
- 1.3.源进源出
——————————————————————————————————————————————————
NAT Server
一般对用户提供一些可访问的服务,这些服务器的地址一般都是私网地址,公网用户是无法直接访问私网地址。源NAT是对私网用户访问公网的报文的源地址进行转换,而服务器对公网提供服务时,是公网用户向私网发起访问,方向正好反过来了。于是,NAT转换的目标也由报文的源地址变成目的地址。针对服务器地址转换,称为:NAT Server(服务器映射)。
——————————————————————————————————————————————————
1.1.基本原理
结合下图所示来看防火墙上的NAT Server是如何实现。
NAT Server也需要用到公网IP地址,与源NAT不同的是,NAT Server的公网IP地址不需要放到NAT地址池这个容器中,直接使用即可。这里假设公网IP:210.1.1.1。

配置的过程如下:
[USG6000V2]nat server global 210.1.1.1 inside 192.168.100.1
按照上述配置会将服务器上所有的服务项都发布到公网,会带来严重风险,华为防火墙支持配置指定协议的NAT Server,只将服务器上特定的服务项对公网发布,可以按照如下方式,将服务器上的80端口映射为9980端口供公网用户使用。
nat server protocol tcp global 210.1.1.1 9980 inside 192.168.100.1 80
这里将80端口转换成9980端口,而不是转换成80端口,是因为一些地区的运营商默认会阻断80、8000、8080端口业务,而导致业务失败。
NAT Server配置完,也会生成server-map,但是是静态的,不需要报文来触发,只有配置被删除,server-map才会清除。

Server-map表项和之前一样,都存在正向和反向。不论是正向和反向,都仅只是实现地址转换。而不像ASPF的Server-map表项打开一个可以绕过安全策略检查的通道。所以无论公网用户要访问私网服务器还是私网服务器主动访问公网时,都需要配置安全策略。
这里有个经典的问题:NAT Server场景下,为了让公网用户能够访问私网服务器,配置安全策略时,策略的目的地址是服务器的私网地址还是公网地址?
当公网用户通过210.1.1.1:9980访问私网服务器时,防火墙收到报文的首包,首先查找匹配到Server-map表项,将报文的目的地址和端口转换为192.168.100.1:80。然后根据目的地址查找路由找到出接口。根据入接口和出接口所处的区域,判断报文在那两个安全区域流动,进行区域安全策略检查。
因此,配置安全策略,策略的目的地址应配置为服务器私网地址,而不是服务器对外映射的公网地址。
安全策略配置:
security-policyrule name Nat_Sersource-zone untrustdestination-zone trustdestination-address 192.168.100.0 mask 255.255.255.0service httpaction permit
报文通过安全检查后,会建立如下会话表,并将报文转发到私网服务器。

之后服务器对公网用户的请求做出响应,响应到达防火墙后匹配上面的会话表,防火墙将报文的源地址和源端口转换为210.1.1.1:9980,而后发送至公网。公网用户和私网服务器交互后续报文。防火墙都会直接根据会话表对其进行地址和端口转换,而不会再去查找Server-map表项。
配置黑洞路由
NAT Server也需要配置黑洞路由
ip route-static 210.1.1.1 32 NULL 0
——————————————————————————————————————————————————
1.2.多出口场景下的NAT Server
与源NAT相同,NAT Server也面临多出口问题。如图:通过ISP1和ISP2两条链路连接internet,将私网服务器提供给Internet上的用户访问。

防火墙作为出口网关,双出口、双ISP接入公网时,NAT Server配置通常需要一分为二,让一个私网服务器向两个ISP发布两个不同的公网地址供公网用户访问。一分为二方法有两种:
方法1:将接入不同ISP的公网接口规划在不同安全区域中,配置NAT Server时,带上Zone参数,使同一个服务器向不同安全区域发布不同的公网地址。

配置过程,假设私网服务器对ISP1发布公网地址:110.1.1.1,对ISP2发布的公网地址是210.1.1.1。
interface GigabitEthernet1/0/1 ip address 110.1.1.1 255.255.255.0
interface GigabitEthernet1/0/0ip address 210.1.1.1 255.255.255.0
interface GigabitEthernet1/0/2ip address 192.168.10.254 255.255.255.0firewall zone trustadd interface GigabitEthernet1/0/2firewall zone name ISP1set priority 10add interface GigabitEthernet1/0/1
firewall zone name ISP2 set priority 20add interface GigabitEthernet1/0/0配置带有zone参数的NAT Servernat server zone ISP1 protocol tcp global 110.1.1.1 9980 inside 192.168.10.2 80nat server zone ISP2 protocol tcp global 220.1.1.1 9980 inside 192.168.10.2 80基于不同域间关系配置两条安全策略
security-policyrule name ISP1source-zone ISP1destination-zone trustdestination-address 192.168.10.2 mask 255.255.255.255action permitrule name ISP2source-zone ISP2destination-zone trustdestination-address 192.168.10.2 mask 255.255.255.255action permit黑洞路由
ip route-static 110.1.1.1 255.255.255.255 NULL0
ip route-static 210.1.1.1 255.255.255.255 NULL0
配置完成后,防火墙会生成如下Server-map表项

从Server-map表项可以看出,正向和反向表项都已生成,Internet用户通过正向Server-map表项就可以访问私网服务器。私网服务器通过反向Server-map也可以主动访问Internet。
推荐在网络规划时,把防火墙与ISP1和ISP2两个接口分别加入到不同的安全区域,然后规划带有ZONE参数的NAT SERVER功能。
如果两个接口在同一区域如Untrust,并且现实情况不允许调整,那么还有另外一种配置方法。
方法二:配置NAT Server时候带上No-revers参数,使同一个服务器向外发布两个不同的公网地址。

为了保证可以正常配置NAT Server功能,必须使用no-reverse参数。
nat server 0 protocol tcp global 110.1.1.1 9980 inside 192.168.10.2 www no-reverse
nat server 1 protocol tcp global 210.1.1.1 9980 inside 192.168.10.2 www no-reverse
配置完成后,防火墙生成如下Server-map表项

从会话看出,只生成了正向表项,Internet上的公网用户通过正向表项可以访问私网服务器。但是如果私网服务器想要主动访问Internet,因为没有了反向表项,就必须在Trunst------Untrust域间配置源NAT策略。
如果在同一区域,不带No-reverse参数直接配置两条NAT SERVER命令,压根就不能同时下发。

思考下,假如这两条命令能同时下发,分两次下发。


第一条,反向表,将报文源地址192.168.10.2转换为110.1.1.1,第二条,反向表,将源地址192.168.10.2,转换为210.1.1.1,如果同时下发后,防火墙既可以将报文源地址由192.168.10.2转换为110.1.1.1,又可以将源地址192.168.10.2,转换为210.1.1.1,于是,防护墙凌乱了。这就是命令不带No-reverse参数同时下发出现的问题。如果带上no-reverse参数,就不会生成反向Server-map表项。
总结:
多出口下,两个接口分别配置两个区域,配置NAT Server时,配置zone参数,生成静态server-map表项,包含正向和反向,能区分反向的区域。
多出口下,两个接口同时配置一个区域,配置NAT Server时,配置no-reverse参数,生成静态server-map表项,只包含正向,无法区分反向的区域。
——————————————————————————————————————————————————
1.3.源进源出
上面介绍了NAT Server一分为二的配置方法,根据防火墙与ISP1和ISP2相连的2个接口是否加入到不同的安全区域,选择带有ZONE参数或带有No-Reverse参数来配置NAT Server。除此之外,双出口环境中,还需要考虑两个ISP中的公网用户使用哪个公网地址访问私网服务器的问题。

例如:ISP1网络中的公网用户如果通过防火墙发布了ISP2的公网地址来访问私网服务器,或者ISP1的公网用户访问服务器后,从ISP2回包的,基本就属于绕路了。而且有时候两个ISP之间由于利益冲突可能会存在无法互通的情况,就会导致访问过程很慢或干脆不通。
如第一种情况,要求我们向两个ISP中的公网用户告知公网地址时,避免两个ISP中的公网用户使用非本ISP的公网地址访问私网服务器。即对于ISP1的用户,就让其使用防火墙发布给ISP1的公网地址来访问私网服务器,对于ISP2的用户,就让使用防火墙发布的ISP2公网地址来访问。
第二种情况,就是上图情况,ISP1中的公网用户通过防火墙发布给ISP1的公网地址访问私网服务器,报文从防火墙G1/0/1进入,私网服务器回应报文到达防火墙后,虽然匹配了会话表并进行地址转换,但还是要根据目的地之查找路由来确定出接口。如果防火墙没有配置到该公网用户的明细路由,只配置了缺省路由,就可能会导致回应报文从连接ISP2的链路G1/0/0接口发出,该报文在ISP2的网络中传输时凶多吉少,有可能会变慢,也可能干脆就不能回到公网用户处,访问就会中断。
为了解决这个问题,可以在防火墙配置明细路由,让防火墙严格按照ISP1和ISP2各自的公网地址来选路。但ISP1和ISP2的公网地址数量很大,配置起来不太现实。为此,防火墙提供了源进源回(或源进源出)功能,即请求报文从某条路径进入,响应报文依然沿着同样的路径返回,而不用查找路由表来确定接口,保证了报文从一个接口进出。
源进源回功能在接口上配置,防火墙连接ISP1和ISP2的两个接口上都需要配置。假设,ISP1提供的下一跳接口是:110.1.1.254,ISP2提供的下一跳接口:210.1.1.254
interface GigabitEthernet1/0/1
redirect-reverse next-hop 110.1.1.254
interface GigabitEthernet1/0/0
redirect-reverse next-hop 210.1.1.254
其他根据版本不同所使用的命令:
reverse-route nexthop 110.1.1.254gateway 110.1.1.254
reverse-route enable
相关文章:
四、防火墙-NAT Server
学习防火墙之前,对路由交换应要有一定的认识 NAT Server1.1.基本原理1.2.多出口场景下的NAT Server1.3.源进源出 —————————————————————————————————————————————————— NAT Server 一般对用户提供一些可访问的…...
Rust - cargo项目里多个二进制binary crate的编译运行
目录 foo - Cargo.toml - src - - main.rs - - bin - - - other-bin.rs将除默认入口文件外待作为二进制crate处理的文件放在src/bin目录下 方法一: 命令行增加配置项 --bin xxx cargo run --bin foo // 注意! 这里是包名,不是main cargo run --bin o…...
python爬虫教程:selenium常用API用法和浏览器控制
文章目录 selenium apiwebdriver常用APIwebelement常用API 控制浏览器 selenium api selenium新版本(4.8.2)很多函数,包括元素定位、很多API方法均发生变化,本文记录以selenium4.8.2为准。 webdriver常用API 方法描述get(String url)访问目标url地址&…...
2024年天津天狮学院专升本食品质量与安全专业《分析化学》考纲
2024年天津天狮学院食品质量与安全专业高职升本入学考试《分析化学》考试大纲 一、考试性质 《分析化学》专业课程考试是天津天狮学院食品质量与安全专业高职升本入学考试 的必考科目之一,其性质是考核学生是否达到了升入本科继续学习的要求而进行的选拔性考试。《…...
2023年亚太地区数学建模大赛 C 题
我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源(非常规汽车燃料指汽油、柴油以外的燃料),将先进技术进行汽车动力控制和驱动相结合的汽车。新能源汽车主要包括四种类型:…...
TDlib readme
不同开发语言使用TDlib的连接入口:td/example/README.md at master tdlib/td (github.com) 如golang:td/example/README.md at master tdlib/td (github.com)...
紧急救援【Dijkstra】
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的…...
「Verilog学习笔记」数据累加输出
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 在data_out准备好,valid_b拉高时,如果下游的ready_b为低,表示下游此时不能接收本模块的数据,那么,将会拉低ready…...
typeof,instanceof
1.typeof typeof运算符返回的结果是以小写的字符串表示的变量的类型 2.instanceof instanceof运算符用于判断右边构造函数的原型对象是否在左边对象的原型链上 let arr[]let obj{}let datenew Dateconsole.log(arr instanceof Array)console.log(arr instanceof Object)conso…...
传统数仓和clickhouse对比
背景 传统数仓一般都是HiveSparkSql作为代表,不过也包括Kylin等,而clickhouse是实时OLAP的代表,我们简单看下他们的对比 传统数仓和clickhouse对比 HiveSparkSQL的传统数仓: 1.数据更新速度慢,由于传统数仓一般都是…...
burpsuite的大名早有耳闻,近日得见尊荣,倍感荣幸
问题: burpsuite中文乱码何解? burpsuite 与君初相识,犹如故人归。 burpsuite早有耳闻,近日得见真容,果然非同凡响。 Burp Suite is a comprehensive suite of tools for web application security testing. burp …...
Xshell连接VMware虚拟机中的CentOS
Xshell连接VMware虚拟机中的CentOShttps://www.cnblogs.com/niuben/p/13157291.html 步骤: 1. 检查Linux虚拟机的网络连接模式,确保它是NAT模式。(由于只在本机进行连接,所以没有选择桥接模式。当然,桥接模式的配置会…...
JVM类加载的过程和JVM垃圾回收机制
文章目录 一、JVM类加载的过程1.1类加载的基本流程1.1.1加载1.1.2验证1.1.3准备1.1.4解析1.1.5初始化 1.2双亲委派模型 二、JVM垃圾回收机制2.1找到垃圾2.1.1引用计数(比如Python,PHP中用到)2.1.2可达性分析(比如Java中用到) 2.2释放垃圾2.2.1标记清除2.2.2复制算法…...
【git error|SourceTree】error: bad signature 0x00000000 fatal: index file corrupt
报错 error: bad signature 0x00000000 fatal: index file corrupt 场景 在使用git add . 提交代码到缓冲区时或使用SourceTree时电脑宕机,重启后再次提交代码会出现该提示 原因分析 .git目录下的index文件损坏 解决方式 //删除索引文件 rm -f .git/index //回…...
读书笔记:《宽客人生:依曼纽尔·德曼》
金融工程,也叫数量金融,洞察了证券价值与不确定性之间的关系。 布莱克-斯科尔斯模型可以告诉我们如何利用标的股票来复制期权,以及复制期权的成本,做市商利用此来复制期权,以规避无法从其他人那里购买合适价格的期权的…...
车载通信架构 —— 传统车内通信网络LIN总线(低成本覆盖低速场景)
车载通信架构 —— 传统车内通信网络LIN总线(低成本覆盖低速场景) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是…...
单例模式与多线程
目录 前言 正文 1.立即加载/饿汉模式 2.延迟加载/懒汉模式 1.延迟加载/懒汉模式解析 2.延迟加载/懒汉模式的缺点 3.延迟加载/懒汉模式的解决方案 (1)声明 synchronized 关键字 (2)尝试同步代码块 (3&am…...
Kafka系列 - Kafka一篇入门
Kafka是一个分布式流式处理平台。很多分布式处理系统,例如Spark,Flink等都支持与Kafka集成。 Kafka使用场景 消息系统:Kafka实现了消息顺序性保证和回溯消费。存储系统:Kafka把消息持久化到磁盘,相比于其他基于内存的…...
百度 文心一言 sdk 试用
JMaven Central: com.baidu.aip:java-sdk (sonatype.com) Java sdk地址如上: 文心一言开发者 文心一言 (baidu.com) ERNIE Bot SDK https://yiyan.baidu.com/developer/doc#Fllzznonw ERNIE Bot SDK提供便捷易用的接口,可以调用文心一言的能力&#…...
SQLite 和 SQLiteDatabase 的使用
实验七:SQLite 和 SQLiteDatabase 的使用 7.1 实验目的 本次实验的目的是让大家熟悉 Android 中对数据库进行操作的相关的接口、类等。SQLiteDatabase 这个是在 android 中数据库操作使用最频繁的一个类。通过它可以实现数据库的创建或打开、创建表、插入数据、删…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
