jjzjj

玩转华为ENSP模拟器系列 | 同一VdPdNd实例场景下配置IPSec VdPdNd

COCOgsta 2023-04-12 原文

素材来源:华为防火墙配置指南

一边学习一边整理试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:玩转华为ENSP模拟器系列 | 合集_COCOgsta的博客-CSDN博客_华为模拟器实验


目标

您可以通过本举例了解IPSec隧道保护同一VPN实例下用户流量的配置方法。

组网需求

图1所示,总部通过FW_A与Internet连接,分支机构通过FW_B与Internet连接。FW_A和FW_B之间通过IPSec方式建立安全通信隧道。为了避免FW_A上的IPSec业务受到该防火墙上其他业务的影响,企业用户要求在FW_A上新建一个VPN实例,并将IPSec隧道单独配置到该VPN实例下,以达到业务隔离的目的。

配置思路

  1. 在FW_A上新建一个VPN实例(vpn1)。
  1. 配置VPN实例下的路由。
  1. 配置VPN实例下的IPSec策略相关参数。
  1. 配置IKE对等体时,需要指定IPSec与VPN实例的绑定关系,详见配置FW_A中的步骤1.e.iv

操作步骤

  1. 配置FW_A(总部)。

    1. 配置VPN实例vpn1。

    2. <sysname> system-view
      [sysname] sysname FW_A
      [FW_A] ip vpn-instance vpn1
      [FW_A-vpn-instance-vpn1] route-distinguisher 100 : 1
      [FW_A-vpn-instance-vpn1] quit
      复制代码
    3. 配置接口IP地址,并将接口加入安全区域。

      1. 配置GE1/0/1的IP地址。
      2. [FW_A] interface gigabitethernet 1 / 0 / 1
        [FW_A-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
        [FW_A-GigabitEthernet1/0/1] ip address 10.1.1.1  24
        [FW_A-GigabitEthernet1/0/1] quit
        复制代码
      3. 配置GE1/0/2的IP地址。
      4. [FW_A] interface gigabitethernet 1 / 0 / 2
        [FW_A-GigabitEthernet1/0/2] ip binding vpn-instance vpn1
        [FW_A-GigabitEthernet1/0/2] ip address 1.1.3.1  24
        [FW_A-GigabitEthernet1/0/2] quit
        复制代码
      5. 配置GE1/0/1加入Trust安全区域。
      6. [FW_A] firewall zone trust
        [FW_A-zone-trust] add interface gigabitethernet 1 / 0 / 1
        [FW_A-zone-trust] quit
        复制代码
      7. 配置GE1/0/2加入Untrust安全区域。
      8. [FW_A] firewall zone untrust
        [FW_A-zone-untrust] add interface gigabitethernet 1 / 0 / 2
        [FW_A-zone-untrust] quit
        复制代码
    4. 配置到FW_B的静态路由,假设下一跳地址为1.1.3.2。该路由用于指导FW_A转发总部访问分支的报文。

    5. [FW_A] ip route- static vpn-instance vpn1 1.1.5.0  24  1.1.3.2
      [FW_A] ip route- static vpn-instance vpn1 10.1.2.0  24  1.1.3.2
      复制代码
    6. 配置域间安全策略。

      1. 配置Trust域与Untrust域的转发策略,允许封装前和解封后的报文能通过FW_A。
      2. [FW_A] security-policy
        [FW_A-policy-security] rule name 1
        [FW_A-policy-security-rule-1] source-zone untrust
        [FW_A-policy-security-rule-1] destination-zone trust
        [FW_A-policy-security-rule-1] source-address 10.1.2.0  24
        [FW_A-policy-security-rule-1] destination-address 10.1.1.0  24
        [FW_A-policy-security-rule-1] action permit
        [FW_A-policy-security-rule-1] quit
        [FW_A-policy-security] rule name 2
        [FW_A-policy-security-rule-2] source-zone trust
        [FW_A-policy-security-rule-2] destination-zone untrust
        [FW_A-policy-security-rule-2] source-address 10.1.1.0  24
        [FW_A-policy-security-rule-2] destination-address 10.1.2.0  24
        [FW_A-policy-security-rule-2] action permit
        [FW_A-policy-security-rule-2] quit
        复制代码
      3. 配置Local域与Untrust域的本地策略,允许IKE协商报文能正常通过FW_A。
      4. [FW_A-policy-security] rule name 3
        [FW_A-policy-security-rule-3] source-zone local
        [FW_A-policy-security-rule-3] destination-zone untrust
        [FW_A-policy-security-rule-3] source-address 1.1.3.1  32
        [FW_A-policy-security-rule-3] destination-address 1.1.5.1  32
        [FW_A-policy-security-rule-3] action permit
        [FW_A-policy-security-rule-3] quit
        [FW_A-policy-security] rule name 4
        [FW_A-policy-security-rule-4] source-zone untrust
        [FW_A-policy-security-rule-4] destination-zone local
        [FW_A-policy-security-rule-4] source-address 1.1.5.1  32
        [FW_A-policy-security-rule-4] destination-address 1.1.3.1  32
        [FW_A-policy-security-rule-4] action permit
        [FW_A-policy-security-rule-4] quit
        [FW_A-policy-security] quit
        复制代码
    7. 配置IPSec。

      1. 配置访问控制列表,定义需要保护的数据流,并与虚拟防火墙绑定。
      2. [FW_A] acl 3000 vpn-instance vpn1
        [FW_A-acl-adv-3000] rule 5 permit ip source 10.1.1.0  0.0.0.255 destination 10.1.2.0  0.0.0.255
        [FW_A-acl-adv-3000] quit
        复制代码
      3. 配置IPSec安全提议。
      4. [FW_A] ipsec proposal tran1
        [FW_A-ipsec-proposal-tran1] transform esp
        [FW_A-ipsec-proposal-tran1] encapsulation-mode tunnel
        [FW_A-ipsec-proposal-tran1] esp authentication-algorithm sha2- 256
        [FW_A-ipsec-proposal-tran1] esp encryption-algorithm aes- 256
        [FW_A-ipsec-proposal-tran1] quit
        复制代码
      5. 创建IKE安全提议,相关参数采用缺省值。
      6. [FW_A] ike proposal 1
        [FW_A-ike-proposal-1] quit
        复制代码
      7. 配置IKE peer。
      8. [FW_A] ike peer b
        [FW_A-ike-peer-b] ike-proposal 1
        [FW_A-ike-peer-b] pre-shared-key Key123
        [FW_A-ike-peer-b] remote-address vpn-instance vpn1 1.1.5.1
        [FW_A-ike-peer-b] sa binding vpn-instance vpn1
        [FW_A-ike-peer-b] quit
        复制代码
      9. 配置非模板方式的IPSec安全策略。
      10. [FW_A] ipsec policy map1 1 isakmp
        [FW_A-ipsec-policy-isakmp-map1-1] ike-peer b
        [FW_A-ipsec-policy-isakmp-map1-1] proposal tran1
        [FW_A-ipsec-policy-isakmp-map1-1] security acl 3000
        [FW_A-ipsec-policy-isakmp-map1-1] quit
        复制代码
      11. 在接口GE1/0/2上应用IPSec安全策略。
      12. [FW_A] interface gigabitethernet 1 / 0 / 2
        [FW_A-GigabitEthernet1/0/2] ipsec policy map1
        [FW_A-GigabitEthernet1/0/2] quit
        复制代码
  1. 配置FW_B(分支)。

    1. 配置接口IP地址,并将接口加入安全区域。

      1. 配置GE1/0/1的IP地址。
      2. <sysname> system-view
        [sysname] sysname FW_B
        [FW_B] interface gigabitethernet 1 / 0 / 1
        [FW_B-GigabitEthernet1/0/1] ip address 10.1.2.1  24
        [FW_B-GigabitEthernet1/0/1] quit
        复制代码
      3. 配置GE1/0/2的IP地址。
      4. [FW_B] interface gigabitethernet 1 / 0 / 2
        [FW_B-GigabitEthernet1/0/2] ip address 1.1.5.1  24
        [FW_B-GigabitEthernet1/0/2] quit
        复制代码
      5. 配置GE1/0/1加入Trust安全区域。
      6. [FW_B] firewall zone trust
        [FW_B-zone-trust] add interface gigabitethernet 1 / 0 / 1
        [FW_B-zone-trust] quit
        复制代码
      7. 配置GE1/0/2加入Untrust安全区域。
      8. [FW_B] firewall zone untrust
        [FW_B-zone-untrust] add interface gigabitethernet 1 / 0 / 2
        [FW_B-zone-untrust] quit
        复制代码
    2. 配置到FW_A的静态路由,假设下一跳地址为1.1.5.2。该路由用于指导FW_B转发分支发往总部的报文。

    3. [FW_B] ip route- static  10.1.1.0  24  1.1.5.2
      [FW_B] ip route- static  1.1.3.0  24  1.1.5.2
      复制代码
    4. 配置域间安全策略。

      1. 配置Trust域与Untrust域的转发策略,允许封装前和解封后的报文能通过FW_B。
      2. [FW_B] security-policy
        [FW_B-policy-security] rule name 1
        [FW_B-policy-security-rule-1] source-zone untrust
        [FW_B-policy-security-rule-1] destination-zone trust
        [FW_B-policy-security-rule-1] source-address 10.1.1.0  24
        [FW_B-policy-security-rule-1] destination-address 10.1.2.0  24
        [FW_B-policy-security-rule-1] action permit
        [FW_B-policy-security-rule-1] quit
        [FW_B-policy-security] rule name 2
        [FW_B-policy-security-rule-2] source-zone trust
        [FW_B-policy-security-rule-2] destination-zone untrust
        [FW_B-policy-security-rule-2] source-address 10.1.2.0  24
        [FW_B-policy-security-rule-2] destination-address 10.1.1.0  24
        [FW_B-policy-security-rule-2] action permit
        [FW_B-policy-security-rule-2] quit
        复制代码
      3. 配置Local域与Untrust域的本地策略,允许IKE协商报文能正常通过FW_B。
      4. [FW_B-policy-security] rule name 3
        [FW_B-policy-security-rule-3] source-zone local
        [FW_B-policy-security-rule-3] destination-zone untrust
        [FW_B-policy-security-rule-3] source-address 1.1.5.1  32
        [FW_B-policy-security-rule-3] destination-address 1.1.3.1  32
        [FW_B-policy-security-rule-3] action permit
        [FW_B-policy-security-rule-3] quit
        [FW_B-policy-security] rule name 4
        [FW_B-policy-security-rule-4] source-zone untrust
        [FW_B-policy-security-rule-4] destination-zone local
        [FW_B-policy-security-rule-4] source-address 1.1.3.1  32
        [FW_B-policy-security-rule-4] destination-address 1.1.5.1  32
        [FW_B-policy-security-rule-4] action permit
        [FW_B-policy-security-rule-4] quit
        [FW_B-policy-security] quit
        复制代码
    5. 配置IPSec。

      1. 配置访问控制列表,定义需要保护的数据流。
      2. [FW_B] acl 3000
        [FW_B-acl-adv-3000] rule 5 permit ip source 10.1.2.0  0.0.0.255 destination 10.1.1.0  0.0.0.255
        [FW_B-acl-adv-3000] quit
        复制代码
      3. 配置IPSec安全提议。
      4. [FW_B] ipsec proposal tran1
        [FW_B-ipsec-proposal-tran1] transform esp
        [FW_B-ipsec-proposal-tran1] encapsulation-mode tunnel
        [FW_B-ipsec-proposal-tran1] esp authentication-algorithm sha2- 256
        [FW_B-ipsec-proposal-tran1] esp encryption-algorithm aes- 256
        [FW_B-ipsec-proposal-tran1] quit
        复制代码
      5. 创建IKE安全提议,相关参数采用缺省值。
      6. [FW_B] ike proposal 1
        [FW_B-ike-proposal-1] quit
        复制代码
      7. 配置IKE peer。
      8. [FW_B] ike peer a
        [FW_B-ike-peer-a] ike-proposal 1
        [FW_B-ike-peer-a] pre-shared-key Key123
        [FW_B-ike-peer-a] remote-address 1.1.3.1
        [FW_B-ike-peer-a] quit
        复制代码
      9. 配置非模板方式的IPSec安全策略。
      10. [FW_B] ipsec policy map1 1 isakmp
        [FW_B-ipsec-policy-isakmp-map1-1] ike-peer a
        [FW_B-ipsec-policy-isakmp-map1-1] proposal tran1
        [FW_B-ipsec-policy-isakmp-map1-1] security acl 3000
        [FW_B-ipsec-policy-isakmp-map1-1] quit
        复制代码
      11. 在接口GE1/0/2上应用IPSec安全策略。
      12. [FW_B] interface gigabitethernet 1 / 0 / 2
        [FW_B-GigabitEthernet1/0/2] ipsec policy map1
        [FW_B-GigabitEthernet1/0/2] quit
        复制代码

结果验证

  1. 配置成功后,总部下的用户可以与分支下的用户相互访问。分别在FW_A、FW_B执行display ike sadisplay ipsec sa brief会显示安全联盟的建立情况。以FW_A为例,出现以下显示说明IKE安全联盟、IPSec安全联盟建立成功。
<FW_A> display ike sa

Ike sa information :                                    
    Conn-ID        Peer          VPN      Flag(s)     Phase                 
  ---------------------------------------------------------------  
     10          1.1.5.1         vpn1    RD|ST|A       V2:2     
     9           1.1.5.1         vpn1    RD|ST|A       V2:1     
                                                                                
  Number of SA entries  : 2                                                     
                                                                                
  Number of SA entries of all cpu : 2                                           
                                                                                
  Flag Description:                                                             
  RD--READY   ST--STAYALIVE   RL--REPLACED   FD--FADING   TO--TIMEOUT           
  HRT--HEARTBEAT   LKG--LAST KNOWN GOOD SEQ NO.   BCK--BACKED UP                
  M--ACTIVE   S--STANDBY   A--ALONE  NEG--NEGOTIATING
<FW_A> display ipsec sa brief
Current ipsec sa num:2

Spu board slot 1, cpu 0 ipsec sa information:                                   
Number of SAs:4                                                              
    Src address   Dst address      SPI        VPN   Protocol     Algorithm       
------------------------------------------------------------------------------- 
    1.1.5.1         1.1.3.1       4001819557  vpn1    ESP      E:AES-256 A:SHA2-256-128
    1.1.3.1         1.1.5.1       3923280450  vpn1    ESP      E:AES-256 A:SHA2-256-128

有关玩转华为ENSP模拟器系列 | 同一VdPdNd实例场景下配置IPSec VdPdNd的更多相关文章

  1. ruby - Highline 询问方法不会使用同一行 - 2

    设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案

  2. ruby-on-rails - 如何使用 instance_variable_set 正确设置实例变量? - 2

    我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击

  3. ruby 正则表达式 - 如何替换字符串中匹配项的第 n 个实例 - 2

    在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到第一个匹配范围(例如5到15之间)的子字符串,并将该实例替换为另一个字符串“X”。我的测试字符串s="1foo100bar10gee1"我的初始模式是1个或多个数字的任何字符串,例如,re=Regexp.new(/\d+/)matches=s.scan(re)给出["1","100","10","1"]如果我想用“X”替换第N个匹配项,并且只替换第N个匹配项,我该怎么做?例如,如果我想替换第三个匹配项“10”(匹配项[2]),我不能只说s[matches[2]]="X"因为它做了两次替换“1fooX0barXg

  4. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  5. ruby-on-rails - Rails - 从另一个模型中创建一个模型的实例 - 2

    我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案

  6. ruby-on-rails - RSpec:避免使用允许接收的任何实例 - 2

    我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_

  7. ruby-on-rails - 使用 ruby​​ 将多个实例变量转换为散列的更好方法? - 2

    我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。

  8. ruby - Rails 关联 - 同一个类的多个 has_one 关系 - 2

    我的问题的一个例子是体育游戏。一场体育比赛有两支球队,一支主队和一支客队。我的事件记录模型如下:classTeam"Team"has_one:away_team,:class_name=>"Team"end我希望能够通过游戏访问一个团队,例如:Game.find(1).home_team但我收到一个单元化常量错误:Game::team。谁能告诉我我做错了什么?谢谢, 最佳答案 如果Gamehas_one:team那么Rails假设您的teams表有一个game_id列。不过,您想要的是games表有一个team_id列,在这种情况下

  9. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  10. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

随机推荐