防火墙旁挂部署+故障切换

一、实验环境

华为ENSP

二、拓扑

三、目的

1、内网PC1访问Server

2、防火墙旁挂部署,对流量进行过滤,防火墙挂掉之后,内网PC1能继续访问到Server

3、防火墙恢复正常后,流量能回切至防火墙转发

四、思路:

1、AR1配置策略路由,下一跳指向防火墙的172.16.1.2,联动NQA,持续探测172.16.1.2

2、同时配置一条默认路由指向223.5.5.5 策略路由应用在AR1的G4/0/0接口inbound方向(备用线路)

反向的策略路由同理

3、防火墙只需配置好IP地址,加入安全区域,写一条默认路由指向172.16.1.5(这里忽略掉防火墙策略路由哈,可以全放)

五、配置文件

AR1配置文件

nqa test-instance 3000 1 
 test-type icmp
 destination-address ipv4 172.16.1.2
 frequency 10
 interval seconds 3
 timeout 2
 probe-count 2
 start now
nqa test-instance 3001 1 
 test-type icmp
 destination-address ipv4 172.16.1.6
 frequency 10
 interval seconds 3
 timeout 2
 probe-count 2
 start now

interface GigabitEthernet0/0/0
 ip address 223.5.5.6 255.255.255.0 
 traffic-policy 3001 inbound
#
interface GigabitEthernet0/0/1
 ip address 172.16.1.5 255.255.255.252 
#
interface GigabitEthernet0/0/2
 ip address 172.16.1.1 255.255.255.252 
#
interface GigabitEthernet4/0/0
 ip address 192.168.0.254 255.255.255.0 
 traffic-policy 3000 inbound

acl number 3000  
 rule 5 permit ip source 192.168.0.0 0.0.0.255 
acl number 3001  
 rule 5 permit ip destination 192.168.0.0 0.0.0.255 
#
traffic classifier 3001 operator or
 if-match acl 3001
traffic classifier 3000 operator or
 if-match acl 3000
#
traffic behavior 3001
 redirect ip-nexthop 172.16.1.6 track nqa 3001 1
traffic behavior 3000
 redirect ip-nexthop 172.16.1.2 track nqa 3000 1
#
traffic policy 3001
 classifier 3001 behavior 3001
traffic policy 3000
 classifier 3000 behavior 3000

ip route-static 0.0.0.0 0.0.0.0 223.5.5.5

SW1无配置

PC1

Server

六、效果

此时可以看出流量已经过了防火墙

这里我防火墙创建一条策略方便查看流量

此时持续ping,同时关闭防火墙,发现丢了几个包,后面又通了

此时检查一下路径发现已经切换,之后从AR1的G0/0/0接口出去

此时再持续ping 把防火墙打开

发现丢了两个包之后,流量已完成回切,此处实验已完成

七、NQA部分命令注释(仅供参考,具体以实际网络环境为准)

nqa test-instance 3000 1    #创建1个实例
 test-type icmp           #探测类型icmp
 destination-address ipv4 172.16.1.2         #探测地址172.16.1.2
 frequency 10               #每10秒探测一次
 interval seconds 3        #每个icmp包的间隔3秒
 timeout 2                 #超时时间 2秒
 probe-count 2             #每次探测发送2个icmp包
 start now                 #现在开启探测

查看探测结果

重点关注探测结果和丢包率

此处显示探测成功、丢包率0%(正常)

### 解决方案 程序运行失败并提示 `Cannot run program 'KM2210_App.elf'` 的问题可能涉及多个方面的原因,包括但不限于依赖库缺失、环境配置不正确以及目标文件路径错误等。以下是针对该问题的具体分析和解决方法: #### 1. **检查目标文件是否存在** 确认 `KM2210_App.elf` 文件是否存在于指定目录下。如果文件不存在,则需要重新编译项目或将正确的可执行文件放置到相应位置。 ```bash ls /path/to/your/executable/ ``` 如果未找到目标文件,可以尝试重新构建工程以生成新的 `.elf` 文件[^3]。 --- #### 2. **验证动态链接库的完整性** 类似于引用中的 `libssl.so.1.1` 缺失问题[^2],当前问题也可能由于某些必要的共享对象文件(`.so` 或其他平台特定的动态库)未能加载而导致失败。可以通过以下命令检查是否有任何未满足的依赖项: ```bash ldd KM2210_App.elf ``` 此操作会列出所有所需的动态库及其状态。如果有标记为“not found”的条目,则需安装对应的库版本或调整其路径至系统的动态库搜索范围中。 --- #### 3. **确保 CUDA 环境适配** 根据引用内容提到的 CUDA 版本兼容性问题[^1],如果您的应用程序依赖于 NVIDIA CUDA 工具链,请仔细核对已安装的 CUDA 和 cuDNN 是否匹配应用需求。例如,若系统仅支持 CUDA 10.0 而您却试图调用更高版本的功能模块,则可能导致类似的启动异常。 建议卸载现有 CUDA 并按照官方文档指引重装适合的目标版本。 --- #### 4. **排查 chrome_elf.dll 类型的外部组件冲突** 尽管主要问题是关于 ELF 可执行文件无法正常工作,但部分情况下 Windows DLL 文件如 `chrome_elf.dll` 的存在与否也会影响跨平台工具的行为模式[^4]。因此,在多操作系统混合部署场景里务必留意此类潜在干扰因素的存在。 对于 Linux 用户而言,通常无需关注这些专属于 Microsoft 生态圈内的资源;但对于那些采用 Wine 或 Cygwin 来模拟 WinAPI 表现的应用来说则不然——它们可能会间接受到上述条件的影响而表现出奇怪的症状来。 --- #### 5. **调试日志深入挖掘** 最后一步也是最为重要的环节之一便是启用详尽的日志记录功能以便获取更多上下文线索用于进一步诊断。大多数现代 IDE 都提供了内置的支持选项可以帮助开发者快速定位根本原因所在之处。 例如在 Eclipse CDT 中设置断点或者通过 GDB 命令行界面手动附加进程均是非常有效的手段: ```c++ (gdb) break main Breakpoint 1 at 0x4005b0: file src/main.c, line 7. (gdb) run Starting program: /home/user/KM2210_App.elf ... ``` --- ### 总结 综上所述,要彻底解决 `Cannot run program 'KM2210_App.elf'` 这一难题需要从以下几个角度出发逐一排除可能性直到最终锁定确切诱因为止:首先是核实主体二进制本身的状态完好无损;其次是审查整个软件栈内部各层次间相互作用关系有否断裂现象发生;再次则是借助辅助技术设施收集尽可能丰富的证据材料辅助判断过程顺利推进下去。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I love this bad girl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值