华为防火墙总部与分支机构建立IPsec VPN涉及NAT穿越

一、IPsec VPN基本概念

1、隧道建立方式:分为手动建立和IKE自动协商,手动建立需要人为配置指定所有IPsec建立的所有参数信息,不支持为动态地址的发起方,实际网络中很少应用;IKE协议是基于密钥管理协议ISAKMP框架设计而来,建立IKE SA 对等体后,双方通过IKE SA交互数据加密的秘钥信息,并协商建立IPsec SA,数据在IPsec SA上进行加密传输。

2、传输模式和隧道模式:两种方式表现为对报文的封装方式差异。
        隧道模式是在原报文的基础上新封装一个IP头部,对原报文所有信息进行认证和加密,主要在跨公网场景中使用该模式,由于需要新增IP头部,使得报文更大,相对而言传输效率较低,但安全性相对较高。


        传输模式不改变原报文的IP头部信息,对数据报文中IP头部后的内容进行认证和加密封装,主要在内网传输中使用该模式,由于不改变IP头信息使得报文更小,传输效率更高,但安全性相对较低。

3、IKE建立SA分为两种模式,主模式和野蛮模式,主模式包含三次双向交换,用到了六条信息,野蛮模式只用到三条信息。

与主模式相比,野蛮模式减少了交换信息的数目,提高了协商的速度,但是没有对身份信息进行加密保护。虽然野蛮模式不提供身份保护,但它可以满足某些特定的网络环境需求。

  • 如果发起方的IP地址不固定或者无法预知,而双方都希望采用预共享密钥验证方法来创建IKE SA,则推荐采用野蛮模式。
  • 如果发起方已知响应方的策略,或者对响应者的策略有全面的了解,采用野蛮模式能够更快地创建IKE SA。

4、IPsec VPN、NAT、路由条目之间的关系:
        当流量到达设备上后,先按照路由条目指导流量下送到相对应的出接口(注意华为设备与其他厂商设备转发逻辑有差异,无需通过路由条目区分流量,例如山石、华三等厂商需要将流量通过路由指定到具体的隧道出口,只有当华为设备通过tunnel接口建立IPsec VPN隧道时,才需要使用路由将流量指向对应的tunnel隧道地址),出接口下既存在NAT策略也存在IPsec策略时,优先进行NAT感兴趣流匹配,NAT匹配不上再进行IPsec感兴趣流匹配。所以当源NAT和IPsec VPN的数据感兴趣流冲突时,数据流量会被优先NAT,此时会导致选定的流量无法进入IPsec VPN隧道进行转发。

5、NAT穿越是指在两台建立IPsec VPN的设备之间存在NAT设备,双方在开始建立隧道前通过ISAKMP探测报文感知到NAT设备,于是在外层新增的IP头后插入UDP4500的报文头,配置方面还需要在NAT设备上配置目的NAT将UDP4500的流量引入到内网建立IPsec VPN的设备上,NAT设备对该报文的外层IP头和增加的UDP报头进行地址和端口号转换(UDP500和UDP4500都需要做映射,未进行NAT穿越的IKE报文为UDP500端口,如果不进行UDP500映射双方第一个IKE报文无法正常交互);转换后的报文到达IPSec隧道对端后,与普通IPSec报文处理方式相同。

6、IPsec VPN的发起端和响应端:在实际组网中,一般总部为响应端,分部为主动发起端,在华为设备中主动端需要配置remove ip 地址,通过ISAKMP创建IKE动态协商方式安全策略;响应端无需配置remove ip地址,通过策略模板创建IKE动态协商方式安全策略。在IPSec隧道的两端,协商发起方采用ISAKMP策略配置安全策略,协商响应方采用策略模板方式配置安全策略。

7、remove id何时应用:在一方为动态地址的场景中可以应用remove id,由于地址会周期变化,于是通过id的方式来确认身份,动态地址方需要配置local id,固定地址方配置remove id,两端的id信息需要相同。在NAT穿越的场景中也使用该方式认证身份,位于NAT设备后的IPsec VPN设备配置local id,对端配置remove id。

8、AH和ESP安全协议,AH仅具有认证功能,ESP具有认证和加密功能,AH认证的范围为整个报文,ESP为IP头后面的内容,如果为隧道模式则为新IP头后面的内容,可以使用AH+ESP安全协议,设备会先对报文进行ESP封装,再进行AH封装;IPSec解封装时,设备先对报文进行AH解封装,再进行ESP解封装。仅ESP支持NAT穿越场景,主要是UDP4500头的插入,AH会导致NAT设备无法识别UDP头。

二、NAT穿越实验拓扑

        互联地址配置方面为从左下到右下依次配置,左下设备优先配置地址,如FW3与FW1互联地址配置上,FW3为10.0.0.1/30,FW1为10.0.0.2/30,FW1、R2、FW3配置OSPF跑通底层路由,总部子网的网关配置在FW3的G1/0/2子接口下,分部子网的网关配置在FW2的G1/0/2子接口下,网关地址都为 1.254,所有FW缺省策略为允许。

三、实验配置

FW1上配置:

ip service-set ipsec type object                         //配置服务组
 service 0 protocol udp destination-port 500
 service 1 protocol udp destination-port 4500


nat-policy                                             //配置目的NAT策略,将IPsec的UDP端口映射出去
 rule name nat2 
  destination-address 221.0.0.1 mask 255.255.255.255
  service ipsec
  action destination-nat static address-to-address address 10.0.0.1


 rule name nat                          //配置源NAT,使建立隧道的源地址具有访问对端隧道公网地址能力
  source-address 10.0.0.0 mask 255.255.255.252
  action source-nat easy-ip


ip route-static 0.0.0.0 0.0.0.0 221.0.0.2                          //配置出访路由
ip route-static 192.168.1.0 255.255.255.0 10.0.0.1        //配置内网子网回包路由

FW2上配置:

acl number 3000                            //配置IPsec感兴趣流
 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 172.16.1.0 0.0.0.255

ipsec proposal to_FW2                                     //IPsec提案
 esp authentication-algorithm md5
 esp encryption-algorithm 3des
#

ike proposal 1                                            //IKE提案
 encryption-algorithm aes-256
 dh group14
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256
#

ike peer to_FW2                                        //配置IKE 对等体
 undo version 2
 pre-shared-key 555
 ike-proposal 1                                         //绑定ike提案
 local-id 10.0.0.1                                      //配置本端的id
#

ipsec policy-template A 10                    //配置为IPsec模板,作为响应端
 security acl 3000
 ike-peer to_FW2
 proposal to_FW2
#

ipsec policy to_FW2 10 isakmp template A        //将模板绑定到isakmp下

ip route-static 0.0.0.0 0.0.0.0 10.0.0.2               //配置出访路由

interface GigabitEthernet1/0/2.200                   //配置内网网关信息
 vlan-type dot1q 200
 ip address 192.168.1.254 255.255.255.0

FW3上配置:

acl number 3000
 rule 5 permit ip source 172.16.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
 

ipsec proposal to_FW3
 esp authentication-algorithm md5
 esp encryption-algorithm 3des
#

ike proposal 1
 encryption-algorithm aes-256
 dh group14
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256
#

ike peer to_FW3
 undo version 2
 pre-shared-key 555
 ike-proposal 1
 remote-id-type ip                              //指定id认证的对端的Id类型为ip模式
 remote-id 10.0.0.1                           //配置对端id与FW3的local id一致
 remote-address 221.0.0.1               //配置对端IP地址,本端作为发起端
#

ipsec policy to_FW3 10 isakmp         //配置isakmp模式,作为IPsec建立发起端
 security acl 3000
 ike-peer to_FW3
 proposal to_FW3
#

ip route-static 0.0.0.0 0.0.0.0 221.0.0.5     //出访路由

interface GigabitEthernet1/0/2.100            //配置内网子网网关信息
 vlan-type dot1q 100
 ip address 172.16.1.254 255.255.255.0

四、抓包验证:

1、NAT穿越协商报文

在FW2的G1/0/3口抓包:

1、开始进行NAT-T探测报文交互,注意此时UDP端口为500

2、互相收到探测报文后,进行哈希算法(对建立IPsec VPN的本端地址+端口号进行哈希得出一个值,对端地址+端口号进行哈希得出一个值),确定那台设备在NAT设备后:

通过哈希字段发现两端对221.0.0.6的FW2进行哈希后的值两端一致(FW2哈希的为221.0.0.1+UDP4500、221.0.0.6+UDP4500;FW3哈希的为221.0.0.6+UDP4500、10.0.0.1+UDP4500),导致两端对FW3的哈希值不同,由此判断出FW3在NAT设备之后。

3、查看第五个报文已更换为UDP4500端口进行IKE交互

4、ike主模式下通过6个报文建立了IKE SA,接下来通过IKE SA建立IPsec SA,使用快速模式,IPsec SA的建立仅只有快速模式一种。

5、此时ike sa和IPsec sa都建立完毕,处于NAT设备后的设备开始周期发送NAT-T的保活报文,避免NAT设备端丢失NAT表项,通过NAT-T保活报文周期进行NAT表项刷新。

2、IKE SA和IPsec SA查看

在FW2上查看信息,SA都是单向建立的,需要两条SA才能一去一回。IKE中Flag上的ST表示本端为发起端

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

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

相关文章

一文看懂AI的 Transformer 架构!

1 AI的转换器是啥? 转换器,一种将输入序列转换或更改为输出序列的神经网络架构。它们通过学习上下文和跟踪序列组件之间的关系来做到这一点。例如,请考虑以下输入序列:“天空是什么颜色的?” 转换器模型会使用内部数学…

C4D2024软件下载+自学C4D 从入门到精通【学习视频教程全集】+【素材笔记】

软件介绍与下载: 链接: 链接:https://pan.baidu.com/s/1n8cripcv6ZTx4TBNj5N04g?pwdhfg5 提取码:hfg5 基础命令的讲解: 掌握软件界面和基础操作界面。学习常用的基础命令,如建模、材质、灯光、摄像机…

TypeScript体操(一):从基础到进阶

目录 前言Utility Types 是什么?常用 Utility Types前置知识typeofkeyoftypeof 和 keyof 的区别never 关键字extends 关键字结合条件判断infer 类型推断(模式匹配)判断是与非判断两个类型是否相等或兼容 循环递归嵌套字符串数组协变&#xff…

NMEA2000在船舶控制系统中航空插头插座组件特性

NMEA2000在船舶控制系统中的应用概述 NMEA2000协议是船舶电子设备之间通信的国际标准,广泛应用于船舶导航、监控和自动化系统。它基于CAN(Controller Area Network)总线技术,以确保在恶劣环境下的可靠性和效率。NMEA2000协议定义了…

英语语法第八课副词

文章目录 1、副词分类1.1 时间副词,表示时间或频率1.2 地点副词,表示地点或位置1.3 方式副词,表示行为方式1.4 程度副词,表示动作程度1.5 疑问副词,引导特殊疑问句1.6 强调副词,强调形容词或动词1.7 连接副…

隐语隐私计算实训营「联邦学习」第 5 课:基于隐私保护的机器学习算法介绍

【隐私计算实训营】是蚂蚁集团隐语开源社区出品的线上课程,自实训营上线以来,获得行业内外广泛关注,吸引上千余名开发者报名参与。本次暑期夏令营课程中,除了最新上线的「联邦学习系列」,还包含了「隐私保护数据分析」…

Java项目实战springboot校园失物招领系统

✌网站介绍:✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。 ✌服务范围:Java(SpringBoo/SSM)、Python、PHP、Nodejs、爬虫、数据可视化、小程序、安卓app、大数据等设计与开发。 ✌服务内容:免费功能设计、免费提供开题答辩P…

3D建模软件--犀牛Rhino for Mac

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

初学Mybatis之配置解析

MyBatis 中文网配置教程 mybatis-config.xml 环境配置(environments) 尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境 可以有多个 enviroment,但是 enviroments default(默认)只…

动态规划题目:单词拆分/三角形最小路径和 - leetcode

动态规划思想 / 步骤 : 先将 当前要求 总结成一个 精炼的 小问题 , 然后 将 求解题目 转换为 求解N个 小问题 , 每个小问题的 求解过程相同 ,但是 过程涉及 的 数据 是不同的 , 例如第三个 小问…

c++网络编程实战——开发基于ftp协议的文件传输模块(二) 配置ftp服务与手动执行ftp命令

配置FTP服务 一.前言 博主的环境是阿里云服务器,操作系统版本为 ubuntu20.04,一下所有操作都基于以上环境下进行的操作,同时为了简化操作我将开放同一个云服务器的不同端口,让它同时充当服务端和客户端,大家如果想测试效果更好且…

WPF串口通讯程序

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using HardwareCommunications; using System.IO.Ports; using System.Windows;namespace PortTest {/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainW…

软件缺陷(Bug)、禅道

目录 软件缺陷的判定标准 软件缺陷的核心内容 构成缺陷的基本要素 缺陷报告 缺陷管理 缺陷的跟踪流程 项目管理工具--禅道 软件在使用过程中存在的任何问题&#xff08;如&#xff1a;错误、异常等&#xff09;&#xff0c;都叫软件的缺陷&#xff0c;简称bug。 软件缺…

如何选择海洋船舶用总线NMEA 2000连接器

NMEA 2000连接器概述 NMEA 2000连接器是现代船舶通信系统中不可或缺的部分&#xff0c;主要用于连接船上各种电子设备&#xff0c;实现数据传输和设备控制。这些连接器遵循NMEA 2000协议标准&#xff0c;支持高速数据传输&#xff0c;并具有良好的防水、耐腐蚀性能&#xff0c…

神经网络之循环神经网络

目录 一、循环神经网络概述&#xff1a;1.传统神经网络与循环神经网络的区别&#xff1a;2.循环神经网络定义&#xff1a; 图片来自&#xff1a;深度学习———循环神经网络 一、循环神经网络概述&#xff1a; 1.传统神经网络与循环神经网络的区别&#xff1a; MLP、卷积神经…

【PostgreSQL教程】PostgreSQL 选择数据库

博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

多目标遗传算法(NSGAⅢ)的原理和matlab实现

参考文献&#xff1a; [1] Deb K , Jain H .An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints[J].IEEE Transactions on Evolutionary Computation, 2014,…

【Simple PIR】单服务器开源最快匿踪查询算法解析

7月17日&#xff0c;我们在《隐私计算匿踪查询技术深入浅出》中介绍了关于隐私计算中匿踪查询的定义和常见算法&#xff0c;并引出了前沿算法Simple PIR的介绍&#xff0c;本次将对Simple PIR进行正式的算法原理介绍。 1. Simple PIR快览 1.1 性能介绍 Simple PIR是Alexandra…

docker 打包orbbec

docker pull humble容器 sudo docker run -it osrf/ros:humble-desktop docker 启动容器 sudo docker run -u root --device/dev/bus/usb:/dev/bus/usb -it -v /home/wl:/share --name wl4 osrf/ros:humble-desktop /bin/bash新开一个终端 查看本地存在的容器&#xff1a;…

高速ADC模拟输入接口设计

目录 基本输入接口考虑 输入阻抗 输入驱动 带宽和通带平坦度 噪声 失真 变压器耦合前端 有源耦合前端网络 基本输入接口考虑 采用高输入频率、高速模数转换器(ADC)的系统设计是一 项具挑战性的任务。ADC输入接口设计有6个主要条件&#xff1a; 输入阻抗、输入驱动、带宽…