路由器的主要功能就是用来转发IP 数据包以使数据包到达正确的目的主机。可以想象数据包到达路由器就像一辆汽车开到十字路口,路由表就类似路标,列出可能到达的目的地,以及应该选择哪条路到达目的地。
路由器必须要有相应的IP路由才能发送或路由数据包。IP路由指在IP网络中,选择一条或数条从源地址到目标地址的最佳路径的方式或过程,有时也指该条路径本身。IP 路由配置,就是在路由器上进行某些操作,使其能够完成在网络中选择路径的工作。
配置路由有三种方式,分别是静态路由配置、动态路由配置和默认路由配置。
简单地讲,静态路由就是用配置命令加到路由器中的路由。具体来说,就是把包括目的子网号、子网掩码、输出接口或者下一跳路由器的信息作为新的-项加入IP路由表。添加之后,路由器就可以为目的地址与该条静态路由相匹配的数据包进行路由。
通过配置静态路由,网络工程师可以人为地指定对某一网络访问时所要经过的路径。在通常情况下,不会为网络中的所有路由器配置静态路由,然而在些特定情况下静态路由是很有用的,例如:
网络规模小,而且很少变化,或者没有冗余链路。
企业网有很多小的分支机构,并且只有一条路径到达网络的其他部分。
企业想要将数据包发送到互联网主机上,而不是企业网络的主机上。
路由器按指定路由协议在网上广播和接收路由信息,通过路由器之间不断交换的路由信息动态地更新和确定路由表项,这种获取目标路径的方式称为动态路由。
为了进一步简化路由表,或者在不明确目标网络地址的情况下,可以配置默认路由。在某路由器上配置默认路由,是通知到达该路由器上的数据包,下个目标该去哪里。默认路由也是一种特殊的静态路由,因为它必须靠手动才能配置。
ip route <目的子网地址><子网掩码><相邻路由器相邻接口或本地物理接口>
例如:命令Router2(config)#ip route 192.168.2.0 255.255.255.0 192.168.0.18,即给路由器配置一条静态路由。
ip route 你要到达的相邻网络号区域 子网掩码 要经过的最近IP地址 [Distance metric]
默认情况下,Distance metric的值为0。该值越大,表示这条路由的优先级越低。0.0.0.0表示任意地址。
show ip route
//进入配置模式
Router>
Router>enable
Router>configure terminal //可以简写成conf t
Router(config)#
#端口ip配置
Router(config)#interface 接口
Router(config)#ip address IP地址
路由器 | 子网掩码 | IP地址 |
Router0 | 255.255.255.0 | Gig0/0:192.168.10.1 Gig0/1:192.168.20.1 |
Router1 | 255.255.255.0 | Gig0/0:192.168.20.2 Gig0/0:192.168.30.1 |
Router2 | 255.255.255.0 | Gig0/0:192.168.30.2 Gig0/0:192.168.40.1 |
主机 | IP地址 | 网关 |
PC0 | 192.168.10.10 | 192.168.10.1 |
PC1 | 192.168.40.10 | 192.168.40.1 |
R0
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int g0/0
Router(config)#ip add 192.168.10.1 255.255.255.0
Router(config)#no sh
Router(config)#int g0/1
Router(config)#ip add 192.168.20.1 255.255.255.0
Router(config)#no sh
Router(config)#exit
R1
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int g0/0
Router(config)#ip add 192.168.20.2 255.255.255.0
Router(config)#no sh
Router(config)#int g0/1
Router(config)#ip add 192.168.30.1 255.255.255.0
Router(config)#no sh
Router(config)#exit
R2
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int g0/0
Router(config)#ip add 192.168.30.2 255.255.255.0
Router(config)#no sh
Router(config)#int g0/1
Router(config)#ip add 192.168.40.1 255.255.255.0
Router(config)#no sh
Router(config)#exit
这里主机的配置是相同的,所以就以PC1为例
转发路由和IP地址的配置可以合在一起搞
R0:
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 192.168.40.0 255.255.255.0 192.168.20.2
Router(config)#end
Router#
R1:
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.1
Router(config)#ip route 192.168.40.0 255.255.255.0 192.168.30.2
Router(config)#end
Router#
R3:
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#ip route 192.168.10.0 255.255.255.0 192.168.30.1
Router(config)#end
Router#
用ping指令来测试连通性
如果发现ping不通,一般由两种情况
1.IP地址配置错误 解决方案:重新配置
1.IP route 配置错误 解决方案:用no ip route 进行删除。
如果还不通,可以一个一个地址ping,从最近的IP地址开始ping,一个一个往终点ping;找出错误节点再进行进一步的检查
本篇文章重点是掌握静态路由三要素,即所要到达的目的地址;下一跳的IP地址,也就是相邻路由器的相邻接口地址,或者是本路由器连接下一跳相邻路由器的接口名称;管理距离,默认值为1。
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我有一个在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
我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use
我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
之前在培训新生的时候,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的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba