防火墙如何处理nat(私网用户访问Internet场景)

news2024/11/26 12:15:20

目录

  • 私网用户访问Internet场景
    • 源NAT的两种转换方式
    • NAT No-PAT
  • NAPT配置思路
    • 规划
  • NAPT配置命令
    • 配置接口IP地址并将接口加入相应安全区域
    • 配置安全策略
    • 配置NAT地址池
    • 配置源NAT策略
    • 配置缺省路由
    • 配置黑洞路由

私网用户访问Internet场景

多个用户共享少量公网地址访问Internet的时候,可以使用源NAT技术来实现。
源NAT技术只对报文的源地址进行转换。

在这里插入图片描述

  • NAT(Network Address Translation)是一种地址转换技术,可以将IPv4报文头中的地址转换为另一个地址。通常情况下,利用NAT技术将IPv4报文头中的私网地址转换为公网地址,可以实现位于私网的多个用户使用少量的公网地址同时访问Internet。因此,NAT技术常用来解决随着Internet规模的日益扩大而带来的IPv4公网地址短缺的问题。
  • 在学校、公司中经常会有多个用户共享少量公网地址访问Internet的需求,通常情况下可以使用源NAT技术来实现。源NAT技术只对报文的源地址进行转换。通过源NAT策略对IPv4报文头中的源地址进行转换,可以实现私网用户通过公网IP地址访问Internet的目的。
  • 如图所示,FW部署在网络边界处,通过部署源NAT策略,可以将私有网络用户访问Internet的报文的源地址转换为公网地址,从而实现私网用户接入Internet的目的。

源NAT的两种转换方式

源NAT转换方式含义场景
NAT No-PAT只转换报文的IP地址,不转换端口需要上网的私网用户数量少,公网IP地址数量与同时上网的最大私网用户数量基本相同
NAPT同时转换报文的IP地址和端口公网IP地址数量少,需要上网的私网用户数量大
  • 源NAT有多种转换方式,这里我们只介绍其中的两种。
  • 不带端口转换的地址池方式(No-PAT):
    • 内部私网用户共享地址池中的IP地址,按照一个私网IP地址对应一个公网IP地址的方式进行转换。地址转换的同时不进行端口转换,地址池中IP的个数就是最多可同时上网的私网用户数。适用于某些服务需要使用特定的源端口,不允许进行源端口转换的场景。
  • 带端口转换的地址池方式(NAPT):
    • 一般适用于私网用户较多的大中型网络环境,多个私网用户可以共同使用一个公网IP地址,根据端口区分不同用户,所以可以支持同时上网的用户数量更多。

NAT No-PAT

NAT No-PAT也可以称为“一对一地址转换”,只对报文的地址进行转换,不转换端口

在这里插入图片描述- NAPT属于“多对一的地址转换”,在转换过程中同时转换报文的地址和端口。

  • NAPT方式通过配置NAT地址池来实现,NAT地址池中可以包含一个或多个公网地址。转换时同时转换地址和端口,即可实现多个私网地址共用一个或多个公网地址的需求。
  • 如图所示,当Host访问Web Server时,FW的处理过程如下:
    • FW收到Host发送的报文后,根据目的IP地址判断报文需要在Trust区域和Untrust区域之间流动,通过安全策略检查后继而查找NAT策略,发现需要对报文进行地址转换。
    • FW从NAT地址池中选择一个公网IP地址,替换报文的源IP地址,同时使用新的端口号替换报文的源端口号,并建立会话表,然后将报文发送至Internet。
    • FW收到Web Server响应Host的报文后,通过查找会话表匹配到上一步骤中建立的表项,将报文的目的地址替换为Host的IP地址,将报文的目的端口号替换为原始的端口号,然后将报文发送至Intranet。
  • 此方式下,由于地址转换的同时还进行端口的转换,可以实现多个私网用户共同使用一个公网IP地址上网,FW根据端口区分不同用户,所以可以支持同时上网的用户数量更多。

NAPT配置思路

某公司在网络边界处部署了NGFW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet,需要在NGFW上配置源NAT策略。除了公网接口的IP地址外,公司还向ISP申请了2个IP地址(1.1.1.10~1.1.1.11)作为私网地址转换后的公网地址。网络环境如图所示,其中Router是ISP提供的接入网关。

在这里插入图片描述### 配置思路

  1. 配置接口IP地址和安全区域,完成网络基本参数配置。
  2. 配置安全策略,允许私网指定网段与Internet进行报文交互。
  3. 配置NAT地址池。
  4. 配置源NAT策略,实现私网指定网段访问Internet时自动进行源地址转换。
  5. 在NGFW上配置缺省路由,使私网流量可以正常转发至ISP的路由器。
  6. 在NGFW上配置黑洞路由,避免NGFW与Router之间产生路由环路。
  7. 在私网主机上配置缺省网关,使私网主机访问Internet时,将流量发往NGFW。
  8. 在Router上配置静态路由,使从Internet返回的流量可以被正常转发至NGFW。

规划

在这里插入图片描述

NAPT配置命令

在这里插入图片描述

配置接口IP地址并将接口加入相应安全区域

interface GigabitEthernet1/0/1
 ip address 10.1.1.1 255.255.255.0 
#
interface GigabitEthernet1/0/2
 ip address 1.1.1.1 255.255.255.0
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet1/0/1
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet1/0/2

配置安全策略

security-policy   
  rule name policy_sec_1  
    source-zone trust 
    destination-zone untrust 
    source-address 10.1.1.0 24  
    action permit 

配置NAT地址池

nat address-group addressgroup1 
 section 0 1.1.1.10 1.1.1.11 

配置源NAT策略

nat-policy  
  rule name policy_nat_1 
    source-zone trust 
    destination-zone untrust  
    source-address 10.1.1.0 24   
    action nat address-group addressgroup1 

配置缺省路由

ip route-static 0.0.0.0 0.0.0.0 1.1.1.254 

配置黑洞路由

ip route-static 1.1.1.10 255.255.255.255 NULL0 
ip route-static 1.1.1.11 255.255.255.255 NULL0 

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

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

相关文章

go语言(三)----函数

1、函数单变量返回 package mainimport "fmt"func fool(a string,b int) int {fmt.Println("a ",a)fmt.Println("b ",b)c : 100return c}func main() {c : fool("abc",555)fmt.Println("c ",c)}2、函数多变量返回 pack…

《Linux C编程实战》笔记:出错处理

这一节书上把它放到线程这一章,按理说应该在前面就讲了 头文件errno.h定义了变量errno,它存储了错误发生时的错误码,通过错误码可以得到错误的信息 程序开始执行时,变量errno被初始化为0。很多库函数在执行过程中遇到错误时就会…

oracle篇—19c新特性自动索引介绍

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

unity SqLite读取行和列

项目文件 链接:https://pan.baidu.com/s/1BabHvQ-y0kX_w15r7UvIGQ 提取码:emsg –来自百度网盘超级会员V6的分享 using System.Collections; using System.Collections.Generic; using UnityEngine; using Mono.Data.Sqlite; using System; using Syste…

【计算机网络】【新加坡南洋理工大学】【Computer Control Network】【广域网和局域网简介】【中英对照(自译)】

一、说明 仅供学习使用。 二、广域网(WAN)和局域网(LAN)简介

21所考408的院校有哪些?

计算机考研一直是考研的热门,那么在决定要参加计算机考研的时候,就要确定自己的复习方向,主流的复习方向有两类,一类是统考,也就是大家常说的408,还有一类是自命题,每一个学校的自命题都有所区别…

Windows10配置Maven环境变量

Windows10配置Maven环境变量 1.首先鼠标右键【此电脑】,点击【属性】2.点击【高级系统设置】3.点击【环境变量】4.创建【MAVEN_HOME】变量,变量值为maven的安装目录5.点击【Path】变量,点击【编辑】按钮6.点击【新建】按钮,输入【…

数据结构:顺序栈

栈是一种先进后出的数据结构,只允许在一端(栈顶)操作,代码中top表示栈顶。 stack.h /* * 文件名称:stack.h * 创 建 者:cxy * 创建日期:2024年01月17日 * 描 述: …

k8s的对外服务---ingress

service的作用体现在两个方面: 集群内部:不断追踪pod的变化。他会更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制。 集群外部:类似负载均衡器,把流量IP端口,不涉及转发url(http、htt…

【k8s】Kubernetes技术和相关命令简介

一、 Kubernetes简介 Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。kubernetes,简称K8s&#xff0…

《Redis:NoSQL演进之路与Redis深度实践解析》

文章目录 关于NoSQL为什么引入NoSQL1、单机MySQL单机年代的数据库瓶颈 2、Memcached(缓存) MySQL 垂直拆分 (读写分离)3、分库分表水平拆分MySQL集群4、如今的网络架构5、总结 NoSQL的定义NoSQL的分类 Redis入门Redis能干嘛&…

敏捷测试和DevOpes自动化测试的区别

敏捷测试和DevOps自动化测试在以下方面存在区别👇 1️⃣目标 🎈敏捷测试的主要目标是提供快速的反馈和持续的改进,以便在开发过程中尽早发现和解决问题,从而提高软件的质量和可靠性。 🌈DevOps自动化测试的目标是提高软…

Vue3中动态组件使用

一&#xff0c;动态组件使用&#xff1a; 应用场景&#xff1a;动态绑定或切换组件 应用Vue3碎片&#xff1a; is 1.使用 a.组件A <div class"layout-base"><Button>红茶</Button> </div>a.组件B <div class"layout-base"&g…

一、Flask学习之HTML

一、Flask学习之HTML 1.运行简单页面 首先需要搭建环境&#xff1a; pip install flaskfrom flask import Flaskapp Flask(__name__)# 创建了网址 /show/info 和函数index之间的对应关系&#xff0c;以后用户在浏览器上访问/show/info&#xff0c;网站自动执行index函数 ap…

从uptime看linux平均负载

从前遇到系统卡顿只会top。。top看不出来怎么搞呢&#xff1f; Linux系统提供了丰富的命令行工具&#xff0c;以帮助用户和系统管理员监控和分析系统性能。在这些工具中&#xff0c;uptime、mpstat和pidstat是非常有用的命令&#xff0c;它们可以帮助你理解系统的平均负载以及资…

【JMeter】JMeter连OceanBase数据库

1、下载OB&#xff08;OceanBase简称&#xff0c;下同&#xff09;&#xff0c;下载地址&#xff1a;https://www.oceanbase.com/softwarecenter-enterprise 2、将下载下来的jar包放到jmeter安装目录的 lib 目录下&#xff0c;或者打开JMeter客户端&#xff0c;在测试计划中引入…

maven 配置http私服Since Maven 3.8.1 http repositories are blocked. 报错处理

刷maven报错 com.saas:pdf:pom:0.0.1 failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-default-http-blocker has elapsed or …

CTF CRYPTO 密码学-4

题目名称&#xff1a;奇怪的先生 题目描述&#xff1a; 描述:oss先生将三个培根的中间一只移到了左边,然后咬了一小口最后一根&#xff0c;说真好吃&#xff0c;真是个奇怪的先生&#xff01; 密文&#xff1a;VlM5WnlXc0ZibEhmMmE1ZHYxMDlhVkdmMlk5WmtRPT0 分析 应该是根据题…

【萤火虫系列教程】3/5-Adobe Firefly 创意填充

003-Adobe Firefly 创意填充 创意填充 登录账号后&#xff0c;在主页点击创意填充的【生成】按钮&#xff0c;进入到创意填充页面 我们可以上传自己的图像 一键抠图 点击【背景】就可以把主图抠出来 点击【反转】就可以把背景抠出来 点击【清除】就可以恢复到图片原来…

C语言之通过指针操作字符串

下面我们来学习通过指针来灵活操作字符串的方法 判断字符串的长度 我们用对指针的遍历来实现判断字符串的长度 #include <stdio.h> int str_length(const char*s) {int len 0;while(*s)len;return len; } int main() {char str[128];printf("请输入字符&#xff…