文章目录
1.SW1、SW2、OUT和FW之间通过OSPF实现路由互通
2.OUT路由器上配置easy ip,使SW1和SW2的loopbach接口可以访问外网
注:本实验是基于华为USG5500设备
实验拓扑图如下

按照图示配置好ip地址(两台交换机是用vlanif10配置的地址)
配置过程略
SW1:
[SW1-ospf-1]ospf 1
[SW1-ospf-1] area 0.0.0.0
[SW1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[SW1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
SW2:
[SW2]ospf 1
[SW2-ospf-1] area 0.0.0.0
[SW2-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
[SW2-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[SW2-ospf-1-area-0.0.0.0]
FW:
[FW]ospf 1
[FW-ospf-1] area 0.0.0.0
[FW-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[FW-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255
[FW-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255
OUT:
#出口路由器除了配置OSPF外还要配置默认路由访问外网
[OUT]ip route-static 0.0.0.0 0 100.1.1.5
#ospf配置
[OUT]ospf 1
[OUT-ospf-1]default-route-advertise #引入默认路由
[OUT-ospf-1] area 0.0.0.0
[OUT-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255
[OUT-ospf-1-area-0.0.0.0] network 4.4.4.4 0.0.0.0
[OUT-ospf-1-area-0.0.0.0]
配置好OSPF路由后在FW上查看ospf邻居状态,发现所有邻居状态都为Extart,说明了DD报文应该是被防火墙丢弃了,OSPF不能正常的收发LSA更新报文,导致邻居状态卡在Extart状态。

[FW]firewall zone trust #进入安全区域trust
[FW-zone-trust]add interface GigabitEthernet0/0/3 #将接口加入到安全区域
[FW-zone-trust]add interface GigabitEthernet0/0/2
[FW-zone-trust]add interface GigabitEthernet0/0/1

此条命令一配置,SW1、SW2和OUT就处于同一个安全区域(Trust),在同一个区域的设备之间进行通信默认是不受防火墙影响的,所以彼此之间能进行正常通信,正常交换DD报文。邻居状态达到Full。
[OUT]acl number 2000 #配置acl抓取私网数据包
[OUT-acl-basic-2000] rule 5 permit source 1.1.1.0 0.0.0.255
[OUT-acl-basic-2000] rule 10 permit source 2.2.2.2 0
[OUT-GigabitEthernet0/0/1]nat outboud 2000 #应用acl到OUT的出接口批匹配数据包进行地址转换
测试一下是否能正常的学习路由从而访问内外网,在SW1上测试是否能ping通内外网。
带源地址1.1.1.1 能ping通内部SW2的环回地址2.2.2.2。

带源地址1.1.1.1 ping外网,如下图所示ping失败。为什么会失败?回看一下配置,ACL和接口地址以及下发的接口都是正确的,一时竟摸不着头脑。
PS:这里卡了很久,想过n种可能但都一一排除了

万般无奈下我想起了ensp的自带神器wireshark。先用wireshark抓个包,出口路由器到外网之间的的包,该数据包理论上只可能有两个地址。

很显然,从上图抓包情况来看是192.168.3.3,这是什么地址呢?细心的可能发现了,这是防火墙的出接口地址。
因此推测ping包在经过防火墙出去时源地址被修改成了防火墙的出接口ip。
再往上回溯,即OUT的入接口,发现源地址也被修改了,进一步验证猜想。

继续回溯到始发网段,在防火墙和SW1之间的入接口抓包,发现防火墙接收到ping包时的源地址还是原始地址1.1.1.1。

因此咱可以破案了,数据包在经过了防火墙的转发之后,防火墙把数据包的源地址修改成了防火墙的出接口ip。出现这种情况应该是防火墙的安全策略,在出接口匹配所有源ip,将其做了一个类似easy ip的地址转换,将地址转换成路由器的出接口地址。
由上面的地址溯源追踪,我们找到了问题出现的原因。因此直接对症下药,修改ACL规则匹配的源。
在OUT路由器上重新配置ACL下发到出接口
[OUT]acl 2000
[OUT-acl-basic-2000]rule permit source 192.168.3.0 0.0.0.255
[OUT-GigabitEthernet0/0/1]nat outbound 2000
再次在SW1上使用源地址1.1.1.1 ping外网,如下图网络连通。

至此我们通过OSPF的配置将网络都连通了
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
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
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
我是ruby的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽
我想在IRB中浏览文件系统并让提示更改以反射(reflect)当前工作目录,但我不知道如何在每个命令后进行提示更新。最终,我想在日常工作中更多地使用IRB,让bash溜走。我在我的.irbrc中试过这个:require'fileutils'includeFileUtilsIRB.conf[:PROMPT][:CUSTOM]={:PROMPT_N=>"\e[1m:\e[m",:PROMPT_I=>"\e[1m#{pwd}>\e[m",:PROMPT_S=>"FOO",:PROMPT_C=>"\e[1m#{pwd}>\e[m",:RETURN=>""}IRB.conf[:PROMPT_MO
我正在使用Ruby/Mechanize编写一个“自动填写表格”应用程序。它几乎可以工作。我可以使用精彩CharlesWeb代理以查看服务器和我的Firefox浏览器之间的交换。现在我想使用Charles查看服务器和我的应用程序之间的交换。Charles在端口8888上代理。假设服务器位于https://my.host.com。.一件不起作用的事情是:@agent||=Mechanize.newdo|agent|agent.set_proxy("my.host.com",8888)end这会导致Net::HTTP::Persistent::Error:...lib/net/http/pe