文章简介:本文用华为ensp对企业网络进行了规划和模拟,也同样适用于校园、医院等场景。如有需要可联系作者,可以根据定制化需求做修改。作者简介:网络工程师,希望能认识更多的小伙伴一起交流,可私信或QQ号:1686231613
目录
本文首先规划一个公司的网络,采用接入层、核心层、汇聚层三层网络。所有交换机运行MSTP和VRRP协议,做冗余备份,保护链路安全。运行ospf动态路由协议,方便路由维护。使用dhcp动态分配地址,便于ip地址管理。出口采用防火墙设备,保护网络安全。同时在防火墙上做SNAT,可以让公司内网访问外网。在防火墙上做DNAT,可以让外部网络访问公司服务器。
网络的设计原则包括三方面:
(1)可靠性原则:一是业务稳定运行,二是故障恢复时间快。
(2)实用性和可扩展性:符合实际并且便于扩展。
(3)安全性:公司设备和链路都要有冗余备份,还要保护内容的安全。
一个网络的拓扑图能够最直观的呈现这个网络的设计思想,几种经典的网络拓扑结构各有特点。我们使用最标准的核心层、汇聚层、接入层三层架构。要求任何一台设备都不能宕机,所以所有交换机必须要有双机热备冗余备份。公司的网络拓扑如下图所示。

本次设计能够满足需求如下:
1.每个部门划分一个vlan,部门内部网络互通,不同部门网络也能互通。
2.每个部门划分一段ip地址,并用dhcp技术自动分配地址,方便管理。
3.运行ospf协议,方便路由的维护。
4.接入层和汇聚层交换机做MSTP和VRRP技术,设备冗余,能够保证一台设备坏了之后,瞬间切换到另外一台设备,不影响业务。
5.保证公司内网的安全,增加防火墙设备,隔离公司内网和互联网。
6.公司内部使用光纤连接,光网覆盖,速度快。
7.SNAT:应用于内网用户访问Internet时进行的地址转换将私网地址转为公网地址。
8.DNAT:使的外网用户能够访问内部服务器,用户访问202.1.1.202时,防火墙将流量能够送给内网的服务器。DNAT中可使用公网端口与私网地址一对一进行映射,当访问202.1.1.202:8080 或202.1.1.1.202:8081 时,防火墙将目的地址转换为 192.168.10.10 或192.168.10.11 并且访问的是web服务。当用户访问202.1.1.202:2021 时防火墙将目的地址转换为192.168.10.20 访问公司的FTP服务。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。任何一个网络基础都是IP地址,网络设计也都是从IP地址和VLAN划分开始的。划分VALN是隔离广播域最有效的方法。子网划分和vlan划分是网络最基本的组成部分。本次VLAN的划分根据需求出发每个部门划分单独的VLAN,使部门之间相互独立,更便于管理。本次设计的VLAN和IP地址划分如表3-1所示。
表3-1 ip地址规划
| 部门 | vlan | ip地址 |
| 市场 | 100 | 192.168.100.0/24 |
| 研发 | 101 | 192.168.101.0/24 |
| 财务 | 102 | 192.168.102.0/24 |
| 人力 | 103 | 192.168.103.0/24 |
| 勤务 | 104 | 192.168.104.0/24 |
| 网络中心 | 99 | 192.168.99.0/24 |
路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)只是OSPF的核心思想,其使用的算法是Dijkstra算法,最短路径优先并没有太多特殊的含义,并没有任何一个路由协议是最长路径优先的,所有协议,都会选最短的。为了方便路由的维护,分别在核心价换机,汇聚交换机和防火墙上配置ospf协议,配置如下:
防火墙上ospf配置:
ospf 1 router-id 11.11.11.11
default-route-advertise
spf-schedule-interval millisecond 5000
area 0.0.0.0
network 192.168.10.0 0.0.0.255
network 192.168.11.0 0.0.0.255
核心交换机配置:
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 192.168.0.0 0.0.255.255
汇聚交换机1配置:
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 192.168.0.0 0.0.255.255
汇聚交换机2配置:
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 192.168.0.0 0.0.255.255
虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的VRRP路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。 VRRP 包封装在 IP包中发送,是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。为了防止设备出现单点故障,在汇聚交换机上为公司内网的网关做vrrp配置,实现设备冗余。
核心交换机1vrrp配置:
interface Vlanif100
ip address 192.168.100.1 255.255.255.0
vrrp vrid 100 virtual-ip 192.168.100.254
vrrp vrid 100 priority 120
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif101
ip address 192.168.101.1 255.255.255.0
vrrp vrid 101 virtual-ip 192.168.101.254
vrrp vrid 101 priority 120
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif102
ip address 192.168.102.1 255.255.255.0
vrrp vrid 102 virtual-ip 192.168.102.254
vrrp vrid 102 priority 120
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif103
ip address 192.168.103.1 255.255.255.0
vrrp vrid 103 virtual-ip 192.168.103.254
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif104
ip address 192.168.104.1 255.255.255.0
vrrp vrid 104 virtual-ip 192.168.104.254
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
核心交换机2 vrrp配置:
interface Vlanif100
ip address 192.168.100.2 255.255.255.0
vrrp vrid 100 virtual-ip 192.168.100.254
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif101
ip address 192.168.101.2 255.255.255.0
vrrp vrid 101 virtual-ip 192.168.101.254
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif102
ip address 192.168.102.2 255.255.255.0
vrrp vrid 102 virtual-ip 192.168.102.254
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif103
ip address 192.168.103.2 255.255.255.0
vrrp vrid 103 virtual-ip 192.168.103.254
vrrp vrid 103 priority 120
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
interface Vlanif104
ip address 192.168.104.2 255.255.255.0
vrrp vrid 104 virtual-ip 192.168.104.254
vrrp vrid 104 priority 120
dhcp select relay
dhcp relay server-ip 192.168.12.1
dhcp relay server-ip 192.168.13.1
生成树协议的作用:为了提供冗余链路,解决网络环路问题。通过生成树算法(SPA)生成一个没有环路的网络,出现故障时能自动切换到备份链路。
MSTP不仅涉及多个MSTI(生成树实例),而且还可划分多个MST域(MST Region,也称为MST区域)。总的来说,一个MSTP网络可以包含一个或多个MST域,而每个MST域中又可包含一个或多个MSTI。组成每个MSTI的是其中运行STP/RSTP/MSTP的交换设备,是这些交换设备经MSTP协议计算后形成的树状网络。为了消除环路带来的广播风暴和mac地址漂移问题,在交换机上运行mstp协议。
mstp配置:
stp region-configuration
region-name huawei
instance 1 vlan 100 to 102
instance 2 vlan 103 to 104
active region-configuration
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。为了方便对ip地址的管理,不会出现ip地址冲突的情况出现,我们使用dhcp方式自动分配地址。Dhcp配置如下:
ip pool vlan100
gateway-list 192.168.100.254
network 192.168.100.0 mask 255.255.255.0
dns-list 192.168.10.30
ip pool vlan101
gateway-list 192.168.101.254
network 192.168.101.0 mask 255.255.255.0
dns-list 192.168.10.30
ip pool vlan102
gateway-list 192.168.102.254
network 192.168.102.0 mask 255.255.255.0
dns-list 192.168.10.30
ip pool vlan103
gateway-list 192.168.103.254
network 192.168.103.0 mask 255.255.255.0
dns-list 192.168.10.30
ip pool vlan104
gateway-list 192.168.104.254
network 192.168.104.0 mask 255.255.255.0
dns-list 192.168.10.30
interface Vlanif12
ip address 192.168.12.1 255.255.255.0
dhcp select global
dhcp select relay
interface Vlanif13
ip address 192.168.13.1 255.255.255.0
dhcp select global
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
为了保护内网安全,我们的出口设备使用防火墙,配置一些安全策略保护内网安全。配置如下:
security-policy
rule name SNat_policy_permit
source-zone trust
destination-zone untrust
action permit
rule name DNAT_policy_permit
source-zone untrust
destination-zone dmz
destination-address 192.168.10.0 mask 255.255.255.0
action permit
rule name trust2dmz
source-zone trust
destination-zone dmz
action permit
我们在防火墙做SNAT,可以实现内网用户访问Internet时进行的地址转换将私网地址转为公网地址。做DNAT可以实现外网用户能够访问内部服务器,用户访问202.1.1.202时,防火墙将流量能够送给内网的服务器。DNAT中可使用公网端口与私网地址一对一进行映射,当访问202.1.1.202:8080 或202.1.1.1.202:8081 时,防火墙将目的地址转换为 192.168.10.10 或192.168.10.11 并且访问的是web服务。当用户访问202.1.1.202:2021 时防火墙将目的地址转换为192.168.10.20 访问公司的FTP服务。配置如下:
nat-policy
rule name DNAT
source-zone untrust
destination-address 202.1.1.202 mask 255.255.255.255
service protocol tcp source-port 0 to 65535 destination-port 8080 to 8081
action destination-nat static port-to-address address-group DNAT_webServerPool 80
rule name DNAT_FTP
source-zone untrust
destination-address 202.1.1.202 mask 255.255.255.255
service protocol tcp source-port 0 to 65535 destination-port 2021
action destination-nat static port-to-address address-group dNAT_FTPServer 21
rule name SNAT
source-zone trust
destination-zone untrust
source-address 192.168.0.0 mask 255.255.0.0
action source-nat address-group nat_Addrpool
本章内容请私信博主获取
是的,我知道最好使用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
华为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
假设我在Store的模型中有这个非常简单的方法:defgeocode_addressloc=Store.geocode(address)self.lat=loc.latself.lng=loc.lngend如果我想编写一些不受地理编码服务影响的测试脚本,这些脚本可能已关闭、有限制或取决于我的互联网连接,我该如何模拟地理编码服务?如果我可以将地理编码对象传递到该方法中,那将很容易,但我不知道在这种情况下该怎么做。谢谢!特里斯坦 最佳答案 使用内置模拟和stub的rspecs,你可以做这样的事情:setupdo@subject=MyCl
在ruby中,你可以这样做:classThingpublicdeff1puts"f1"endprivatedeff2puts"f2"endpublicdeff3puts"f3"endprivatedeff4puts"f4"endend现在f1和f3是公共(public)的,f2和f4是私有(private)的。内部发生了什么,允许您调用一个类方法,然后更改方法定义?我怎样才能实现相同的功能(表面上是创建我自己的java之类的注释)例如...classThingfundeff1puts"hey"endnotfundeff2puts"hey"endendfun和notfun将更改以下函数定
我有一个gem,它有一个根据Rails.env的不同行为的方法:defself.envifdefined?(Rails)Rails.envelsif...现在我想编写一个规范来测试这个代码路径。目前我是这样做的:Kernel.const_set(:Rails,nil)Rails.should_receive(:env).and_return('production')...没关系,只是感觉很丑。另一种方法是在spec_helper中声明:moduleRails;end而且效果也很好。但也许有更好的方法?理想情况下,这应该有效:rails=double('Rails')rails.sho
我有一个rspec模拟对象,一个值赋给了属性。我正在努力在我的rspec测试中满足这种期望。只是想知道语法是什么?代码:defcreate@new_campaign=AdCampaign.new(params[:new_campaign])@new_campaign.creationDate="#{Time.now.year}/#{Time.now.mon}/#{Time.now.day}"if@new_campaign.saveflash[:status]="Success"elseflash[:status]="Failed"endend测试it"shouldabletocreat
我正在尝试测试命令行工具的输出。如何使用rspec来“伪造”命令行调用?执行以下操作不起作用:it"shouldcallthecommandlineandreturn'text'"do@p=Pig.new@p.should_receive(:run).with('my_command_line_tool_call').and_return('resulttext')end如何创建stub? 最佳答案 使用newmessageexpectationsyntax:规范/虚拟规范.rbrequire"dummy"describeDummy
所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。
西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,