防护墙技术(一):NAT

###源NAT基本原理

NAT(Network Address Translation)网络地址转换技术
源NAT技术对IP报文的源地址进行转换,将私有IP地址转换为公网IP地址,使大量私网用户可以利用少量公网IP地址访问internet,大大减少对公网IP的消耗
源NAT转换的过程如图4-1所示,当私网用户访问Internet的报文到达防火墙时,防火墙将报文的源IP地址由私网地址转换为公网地址;当回程报文返回至防火墙时,防火墙再将报文的目的地址由公网IP地转换为私网地址。整个NAT转换过程对于内部网络中的用户和Internet上的主机来说是完全透明的
在这里插入图片描述

###NAT地址池

NAT地址池是一个虚拟概念,他形象的把公网IP地址的集合比喻成一个放IP地址的池子或容器,当火枪进行地址转换时,从NAT地址池中选择一个公网IP地址,然后对私网IP地址进行转换(选择公网IP地址是随机的)

### 配置nat地址池
nat address-group 1 202.1.1.2 202.1.1.5

###NAT策略

  1. NAT地址此后配置完后,会被NAT策略所引用,当动作是源NAT转换时,必须引用NAT地址池
  2. 多条NAT策略之间存在匹配顺序,如果报文命中某条NAT策略,就会按照该NAT策略中引用的地址池进行地址转换,如果没有命中,则会继续查找
    在这里插入图片描述

###源NAT地址转换方式

  1. NAT No-PAT
  2. NAPT
  3. Easy-IP(出接口地址方式)
  4. Smart NAT
  5. 三元组NAT

在这里插入图片描述

###NAPT(Network Address and Port Translation)

NAPT 表示网络地址和端口转换,即同时对IP和端口进行转换
NAPT方式不会生成Server-map表
不配置关键字no-pat

###出接口地址方式(Easy-IP)

Easy-IP方式不需要配置NAT地址池,也不需要配置黑洞路由,只需要在NAT策略中指定出接口即可
easy-ip也不会生成server-map

### NAT策略
sys
nat-policy interzone trust untrust outbound
policy 1
policy source 192.168.0.0 0.0.0.255
action source-nat
easy-ip g0/0/1
quit
quit
### 安全策略
policy interzone trust untrust outbound
policy 1
policy source 192.168.0.0 0.0.0.255
action permit
quit
quit

###Smart NAT

### NAT地址池配置
nat address-group 1
mode no-pat local
#预留地址
smart-nopat 202.1.1.3
#未预留地址
section 202.1.1.4### NAT策略
nat-policy interzone trust untrust outbound
policy 1
policy source 192.168.0.0 0.0.0.255
action source-nat
accress-group 1
quit
quit###安全策略
policy interzone trust untrust outboud
policy 1
policy source 192.168.0.0 0.0.0.255
action permit
quit
quit###黑洞路由
ip route-static 202.1.1.3 32 NULL 0
ip route-static 202.1.1.4 32 NULL 0

###三元组NAT

三元组NAT方式进行转换时的两个特点:

  1. 对外呈现端口一致性
  2. 支持外网主动访问
### NAT地址池配置
sys
nat address-group 1
mode full-cone local
section 1202.1.1.2202.1.1.3
quit
### NAT策略
nat-policy interzone trust untrust outbound
policy 1
policy source 192.168.0.0 0.0.0.255
action source-nat
address-group 1
quit
quit###配置安全策略
policy interzone trust untrust outbound
policy 1
policy source 192.168.0.0 0.0.0.255
action permit
quit
quit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95181.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态规划2(c++)

酒鬼#include <bits/stdc.h> using namespace std; int main() {int n;cin>>n;int a[10010];for(int i 1;i<n;i){cin>>a[i];}int dp[1010][5] {0};dp[0][0] 0;dp[1][0] 0;dp[1][1] a[1];dp[1][2] 0;dp[2][0] a[1];dp[2][1] a[2];dp[2][2] a[1]a[…

「LangChain 学习笔记」LangChain大模型应用开发:代理 (Agent)

「LangChain大模型应用开发」 系列文章目录&#xff1a; LangChain大模型应用开发&#xff1a;模型&#xff0c;提示和输出解释器 LangChain大模型应用开发&#xff1a;储存(Memory) LangChain大模型应用开发&#xff1a;模型链&#xff08;Chains&#xff09; LangChain大模…

python pyqt5开发DoIP上位机【介绍】

目录文章合集一、核心功能概述二、主要模块解析1. 导入的库2. 辅助函数3. DOIP协议处理&#xff08;DOIPProtocol类&#xff09;4. 网络工具&#xff08;NetworkUtils类&#xff09;5. 通信线程&#xff08;DOIPCommunicationThread类&#xff09;6. UDS命令输入组件&#xff0…

从零实现一个可扩展的规则解析引擎 —— 支持 AND/OR 优先级、短路求值与多类型运算符

在日常业务开发中&#xff0c;我们经常需要基于一些“规则”来决定程序的走向。比如&#xff1a; 客服机器人 根据用户问题领域和复杂度选择不同的模型&#xff1b;营销系统 根据用户画像匹配不同优惠券&#xff1b;风控引擎 根据请求参数、时间、分值判定是否放行。 这些规则往…

Preprocessing Model in MPC 3 - 基于同态加密的协议 - Over Rings 环

参考论文&#xff1a;SoK: Multiparty Computation in the Preprocessing Model MPC (Secure Multi-Party Computation) 博士生入门资料。抄袭必究。 本系列教程将逐字解读参考论文(以下简称MPCiPPM)&#xff0c;在此过程中&#xff0c;将论文中涵盖的40篇参考文献进行梳理与讲…

uni-app 跨平台项目的 iOS 上架流程:多工具组合的高效协作方案

跨平台框架的兴起&#xff0c;让许多团队选择 uni-app 来开发移动应用。 一套代码多端运行&#xff0c;确实大大降低了研发成本&#xff0c;但当项目进入 iOS 上架阶段 时&#xff0c;很多团队依旧面临挑战&#xff1a;证书复杂、环境不统一、上传繁琐。 本文结合实战经验&…

掌握 Linux 文件权限:chown 命令深度解析与实践

在 Linux 系统的日常运维与开发工作里&#xff0c;文件权限管理是保障系统安全、规范文件访问的关键环节。其中&#xff0c;chown 命令作为修改文件所有者及关联组的核心工具&#xff0c;对精准把控文件权限起着重要作用。接下来&#xff0c;我们将全面拆解 chown 命令&#xf…

计算机算术7-浮点基础知识

1. 浮点表示其中b表示基底&#xff0c;e表示指数&#xff0c;s表示尾数&#xff0c;注意在s的表示过程中&#xff0c;有个隐藏1.同时还有个符号位从下面这个图可以看出&#xff0c;向上溢出和向下溢出的概念&#xff0c;overflow表示的是数的绝对值超过了最大的表示范围&#x…

设计模式8-命令模式

定义 Command Partern: 将一个请求封装成一个对象&#xff0c;从而让你使用不同的请求把客户端参数化&#xff0c;对请求排队或者记录请求日志&#xff0c;可以提供命令的撤销和恢复功能。&#xff08;核心思想是将“动作”与“执行者”解耦&#xff09; 场景 GUI&#xff1a;…

数据结构(顺序表力扣刷题)

1.移除元素 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&…

机器学习 - Kaggle项目实践(6)Dogs vs. Cats Redux: Kernels Edition 猫狗二分类

Dogs vs. Cats Redux: Kernels Edition | Kaggle 任务&#xff1a;给定猫狗图像数据集 进行二分类。 Cats or Dogs - using CNN with Transfer Learning | Kaggle&#xff08;参考&#xff09; Cats or Dogs | Kaggle &#xff08;我的kaggle&#xff09; 本文介绍了使用Re…

基础的汇编指令

目录 1、接上一个csdn特殊功能寄存器 1.1CPSR寄存器 1.2SPSR寄存器 1.3CPSR寄存器的高四位和第四位 ​编辑 2、汇编指令的分类 3、汇编指令的基本格式 4、数据搬移指令&#xff08;赋值指令&#xff09; 4.1指令码 4.2指令格式 4.3测试代码 4.5立即数 4.6ldr伪指令 …

Docker实战避坑指南:从入门到精通

摘要&#xff1a;文人结合自身微服务实践&#xff0c;系统梳理从安装适配、镜像拉取&#xff0c;到运行配置、构建优化、多容器编排、数据持久化、监控运维等 Docker 全流程高频踩坑点&#xff0c;给出可落地的解决方案&#xff0c;帮助读者快速规避同类问题并提升容器化效率。…

《Bishop PRML》10.1. Variational Inference(2)理解VAE

通过VAE与AE理解变分分布的变量 如何理解变分推断公式中,Z和X的含义是什么? 知乎 变分自编码器VAE的数学原理。 csdn 变分自编码器(VAE)的数学原理以及实现 Loss functions in Variational Autoencoders (VAEs) 一文解释 VAE+ELBO AE的编码和解码是确定性的。VAE的解码过程…

函数调用中的初始化与赋值——深入理解C++对象的生命周期

技术博客&#xff1a;函数调用中的初始化与赋值——深入理解C对象的生命周期引言在C编程中&#xff0c;理解函数调用过程中参数传递、对象创建和返回值处理的细节对于编写高效且无误的代码至关重要。本文将通过一个具体的例子来探讨函数调用时实参到形参的转换过程&#xff0c;…

矩阵微积分的链式法则(chain rule)

矩阵微积分的链式法则&#xff08;chain rule&#xff09;与标量情况一样&#xff0c;用于求复合函数的导数&#xff0c;但由于涉及矩阵和向量的求导&#xff0c;维度匹配和布局约定&#xff08;numerator-layout vs. denominator-layout&#xff09;必须格外小心。下面给出常见…

网络编程4-并发服务器、阻塞与非阻塞IO、信号驱动模型、IO多路复用..

一、并发服务器1、单循环服务器&#xff08;顺序处理&#xff09; 一次只能处理一个客户端连接&#xff0c;只有当前客户端断开连接后&#xff0c;才能接受新的客户端连接2、多进程/多线程并发服务器while(1) {connfd accept(listenfd);pid fork(); // 或 pthread_cr…

在 WSL2-NVIDIA-Workbench 中安装Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch(含完整环境验证)

在 WSL-NVIDIA-Workbench&#xff08;NVIDIA AI Workbench & Ubuntu 22.04&#xff09;中 安装 Anaconda、CUDA 13.0、cuDNN 9.12 及 PyTorch 步骤也可参阅&#xff1a; 在WSL2-Ubuntu中安装Anaconda、CUDA13.0、cuDNN9.12及PyTorch&#xff08;含完整环境验证&#xf…

Shell编程核心入门:参数传递、运算符与流程控制全解析

Shell编程核心入门&#xff1a;参数传递、运算符与流程控制全解析 在Linux/Unix系统中&#xff0c;Shell作为命令解释器和脚本语言&#xff0c;是自动化运维、批量处理任务的核心工具。掌握Shell脚本的参数传递、运算符使用和流程控制&#xff0c;能让你从“手动执行命令”升级…

如何用 Kotlin 在 Android 手机开发一个应用程序获取网络时间

使用 NTP 协议获取网络时间在 build.gradle 文件中添加以下依赖&#xff1a;implementation commons-net:commons-net:3.6创建 NTP 时间获取工具类&#xff1a;import org.apache.commons.net.ntp.NTPUDPClient import org.apache.commons.net.ntp.TimeInfo import java.net.In…