草庐IT

华为防火墙基本配置实例

竹子的神秘微笑 2024-01-28 原文

实验背景 :

一、trust区域:G1/0/0、G1/0/1接口下的设备划分到此区域

1、SW1与SW2做lacp链路聚合;

2、公司trust区域划分两个VLAN分别在交换层做MSTP,实现流量负载分担;

3、trust区域核心路由器层做双DHCP服务器做双备份,运行VRRP实现网关备份;

二、DMZ区域:G1/0/2接口下的设备划分到此区域

1、服务器做目的NAT允许untrust区域访问;

2、允许trust区域→DMZ区域的流量访问;

三、untrust区域:G1/0/3接口下的设备划分到此区域

1、允许trust区域→UNtrust区域的流量访问;

四、local区域:

1、出口做源NAT,类型为easy ip

配置开始:

一、首先搞定trust区域路由交换网络配置

1、交换网络配置

1、搞定LACP链路聚合:

SW1/SW2上:两台设备配置相同

lacp priority 100     // //此条配置仅在SW1配置,用于指定LACP主动端

interface eth-trunk 1 

mode lacp-static     // //模式为静态LACP模式

max actuve-linknumber 2

least active-linknumber 2

lacp preempt enable

lacp preempt delay 20

load-balance src-dst-ip    // //设置流量负载模式为源目IP

port link-type trunk        // //配置ETH-trunk 1链路类型为trunk

port trunk allow-pass vlan 2 3

trunkport G0/0/4     // //相应接口加入ETH-trunk 1中

trunkport G0/0/5

trunkport G0/0/6

验证是否成功:

display eth-trunk 1

2、接下来把MSTP给配置上:

思路为SW1为实例1根桥让VLAN2流量走SW1,SW2为实例2根桥让VLAN3走SW2,SW1与SW2互为备份根。

SW1/SW2上:

vlan batch vlan 2 3

port-group group-member G0/0/1 to G0/0/3    // //把各交换接口放行

port link-type trunk

port trunk allow-pass vlan 2 3

stp region-configuration          // //开始配置MSTP

region-name m1

instance 1 vlan 2

instance 2 vlan 3

action region-configuration

SW1上:

stp instance 1 root primary          // //设置SW1在实例1中为根桥在实例2中为备份根

stp instance 2 root secondary

SW2上:

stp instance 1 root secondary         // //设置SW2在实例1中为备份根在实例2中为根桥

stp instance 2 root primary

SW3/SW4上:

vlan batch vlan 2 3

port-group group-member G0/0/1 to G0/0/2   // //把各交换接口放行

port link-type trunk

port trunk allow-pass vlan 2 3

stp region-configuration          // //开始配置MSTP

region-name m1

instance 1 vlan 2

instance 2 vlan 3

action region-configuration

SW3上:

intface e0/0/1                // //划分VLAN

port link-trpe access

port default vlan 2

intface e0/0/2

port link-trpe access

port default vlan 3

SW4上:

intface e0/0/1                // //划分VLAN

port link-trpe access

port default vlan 2

验证配置是否成功:

SW3/SW4上:

display stp brief

3、双DHCP配置:

AR1上:

dhcp enable

ip pool vlan2    // //创建地址池名称为vlan2,为vlan2分配地址

network 172.16.2.0 mask 24

gateway-list 172.16.2.254

excluded-ip-address 172.16.2.100   172.16.2.253   

// //摘除100-253地址,留出来给DHCP server2和VLANIF分配

ip pool vlan3   // //创建地址池名称为vlan2,为vlan2分配地址

network 172.16.3.0 mask 24

gateway-list 172.16.3.254

exculded-ip-address 172.16.3.100    172.16.2.253

// //摘除100-253地址,留出来给DHCP server2和VLANIF分配

interface g0/0/1

ip add 10.0.0.1 24

dhcp select global

ip route-static 172.16.2.0 24 10.0.0.2

ip route-static 172.16.3.0 24 10.0.0.2

AR2上:

dhcp enable

ip pool vlan2

network 172.16.2.0 mask 24

gateway-list 172.16.2.254

exculded-ip-address 172.16.2.1    172.16.2.105

// //摘除1-105地址,其中1-99为DHCP server1分配的动态地址,100-105为保留下来手动分配给设备的地址

ip pool vlan3

network 172.16.3.0 mask 24

gateway-list 172.16.3.254

exculded-ip-address 172.16.3.1     172.16.3.105

// //摘除1-105地址,其中1-99为DHCP server1分配的动态地址,100-105为保留下来手动分配给设备的地址

interface g0/0/1

ip address 10.0.1.1 24

dhcp select global

ip route-static 172.16.2.0 24 10.0.1.2

ip route-static 172.16.3.0 24 10.0.1.2

SW1上:

interface vlanif 1

ip add 10.0.0.2 24

dhcp enable

dhcp server group ar1   // //创建DHCP server组,组名为ar1

dhcp-server 10.0.0.1     // //指定DHCP server接口地址

interface  vlanif 2    // //配置VLANIF2

ip add 172.16.2.100 24

dhcp select relay

dhcp relay server-select ar1

interface  vlanif 3    // //配置VLANIF3

ip add 172.16.3.100 24

dhcp select relay

dhcp relay server-select ar1

SW2上:

interface vlanif 1

ip add 10.0.1.2 24

dhcp enable

dhcp server group ar1   // //创建DHCP server组,组名为ar1

dhcp-server 10.0.1.1     // //指定DHCP server接口地址

interface  vlanif 2     // //配置VLANIF 2

ip add 172.16.2.101 24

dhcp select relay

dhcp relay server-select ar1

interface  vlanif 3    // //配置VLANIF3

ip add 172.16.3.101 24

dhcp select relay

dhcp relay server-select ar1

验证配置是否正确

PC上输入命令IPCONFIG查看自动获取的地址

 4、最后一步做VRRP配置

 思路:使用AR1/AR2下的子接口做VRRP ,AR1做VLAN2主设备,ARP做VLAN3主设备,实现负载分担。

AR1/AR2上:

interface g0/0/1.2       // //进入子接口1.2开始配置VLAN2的VRRP功能

dot1q  termination vid 2    // //剥离VLAN2的标签

arp broadcast enable      // //开启接口ARP广播功能

ip address 172.16.2.102 24

vrrp vrid 2 virtual-ip 172.16.2.254

vrrp vrid 2 priority 130   // //设定优先值,选为主设备,AR2上不敲此条做为备

vrrp vrid 2 track interface G0/0/0 reduced 50  // //开启VRRP联动功能,AR2上不敲此条做为备

vrrp vrid 2 preempt-mode timer delay 20    // //配置抢占延时避免频繁切换

interface g0/0/1.3   // //进入子接口1.3开始配置VLAN3的VRRP功能

dot1q  termination vid 3    // //剥离VLAN3的标签

arp broadcast enable      // //开启接口ARP广播功能

ip address 172.16.3.102 24

vrrp vrid 3 virtual-ip 172.16.3.254

vrrp vrid 3 priority 130   // //设定优先值,选为主设备,AR1上不敲此条做为备

vrrp vrid 3 track interface G0/0/0 reduced 50  // //开启VRRP联动功能,AR1上不敲此条做为备

vrrp vrid 3 preempt-mode timer delay 20    // //配置抢占延时避免频繁切换

测试配置是否成功

display vrrp brief

至此我们trust区域内trust区域路由交换网络配置完成了

二、防火墙上的配置:

防火墙配置思路:

1、接口划分到各区域

2、配置接口IP,写通路由

3、安全策略做好

4、配置源目NAT

 1、接口划分到各区域

FW1上:

firewall zone trust     // //进入信任区域,添加相应接口(注意防火墙是将接口下的设备加入到区域内,并不是接口加入到区域,防火墙上所有接口都属于local区域)

add interface g1/0/1

add interface g1/0/0

firewall zone untrust

add interface g1/0/3

firewall zone dmz

add interface g1/0/2

2、配置接口IP,写通路由

FW1上:

interface g1/0/0

ip address 10.0.2.2 24

interface g1/0/1

ip address 10.0.3.2 24

interface g1/0/2

ip address 10.0.4.254

interface g1/0/3

ip address 221.1.1.1 24      // //此处模拟的是静态公网地址上网,掩码用的24位,实际上掩码大多是30位

ip route-static 0.0.0.0 0 221.1.1.2

ip route-static 172.16.2.0 255.255.255.0 10.0.2.1  // //写通回路路由
ip route-static 172.16.2.0 255.255.255.0 10.0.3.1
ip route-static 172.16.3.0 255.255.255.0 10.0.2.1
ip route-static 172.16.3.0 255.255.255.0 10.0.3.1

AR1上:

interface g0/0/0

ip address 10.0.2.1 24

ip route-static 0.0.0.0 0 10.0.2.2    // // 虽然AR1与FW1是直连线路,但是也需要写上静态路由,否则不通

AR2上:

interface g0/0/0

ip address 10.0.3.1 24

ip route-static 0.0.0.0 0 10.0.3.2    // // 虽然AR1与FW1是直连线路,但是也需要写上静态路由,否则不通

3、安全策略做好

首先我们需要可以通过内网访问DMZ区域服务器,但是服务器不可以主动访问trust区域,且只允许VLAN2访问。

配置思路:命名、源区域、目的区域、源地址(范围默认为any)、动作允许/禁止

FW1上:

security-policy

rule name trust_dmz

source-zone trust

destination-zone dmz

source-address 172.16.2.0 24

action permit   

测试是否成功

PC上PING服务器内网地址

    

初此PING1-2个丢包为正常现象,此两个丢的报文为ARP广播寻址报文时间。

4、配置源目NAT

思路:首先配通安全策略再做NAT配置

源NAT配置trust→UNtrust

FW1上:

security-policy     // //配置安全策略放通

rule name trust_untrust

source-zone trust

destination-zone untrust

action permit

nat-policy   // //配置NAT策略

rule name trust_untrust

source-zone trust

destination-zone untrust

action nat easy ip 

测试源NAT配置是否成功:

使用内网终端PING 外网设备,查看防火墙上会话表

 也可以通过抓防火墙出口包查看:

可以看到地址是转换后的地址访问的

源NAT配置UNtrust→dmz

FW1:

security-policy         // //配置安全策略允许外网访问服务器

rule name untrust_dmz

source-zone untrust

destination-zone dmz

action permit

FW1:

nat srver server1 0 global 221.1.1.1 inside 10.0.4.4 no-reverse

将出口公网静态地址映射为服务器私网地址(此为简写版,不通服务协议需要写上协议或者端口)

测试目的NAT配置是否成功

外网设备PING防火墙出口公网地址,在防火墙查看会话表

外网设备PING防火墙出口公网地址,在防火墙上G1/0/2服务器端抓包

 外网设备PING防火墙出口公网地址,在防火墙上G1/0/3出口端抓包

所有配置完成

有关华为防火墙基本配置实例的更多相关文章

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

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

  2. 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

  3. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  4. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  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. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

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

  9. 华为常用命令 - 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

  10. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

随机推荐