静态路由:由人,手动写出的路由条目就叫静态路由,永久有效,优先级最高,效率最高。

路由器是干啥的?

连接不同地址段的网络。屏蔽不同地址段的网络广播。

路由器有多个接口,至少得有2个吧,一边一个局域网。

  • 查询路由表里的路由条目show ip route

    R1#show ip route
    Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route
    Gateway of last resort is not set
    C 192.168.0.0/24 is directly connected, FastEthernet1/0

    C:代表直连的意思。就是说我使用接口1/0,可以连接192.168.0.0/24网络上的任意主机。

  • 不退出全局模式,在全局模式下执行特权模式下的命令:在原来特权模式下的命令的前面加do

    R2(config)#do show ip interface brief
    Interface IP-Address OK? Method Status Protocol
    FastEthernet0/0 192.168.0.2 YES manual up up
    FastEthernet1/0 unassigned YES unset administratively down down
    R2(config)#
  • 测试2个点是否联通:ping

    R1#ping 192.168.0.2
    
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
    .!!!!
    Success rate is 80 percent (4/5), round-trip min/avg/max = 60/61/64 ms
    R1#ping 192.168.0.2

    执行结果里的【.!!!!】的含义:!代表通了;.代表不通。只要有一个!,就说明通了。至于为什么有第一个点,是因为ARP的原因。

  • 假设路由器有2个接口,接口f0/0的ip地址是:192.168.0.1/24,那么就不能把另一个接口f1/0的ip地址配置成和接口f0/0是同一个网段的ip地址了,会报出下面的错误:【% 192.168.0.0 overlaps with FastEthernet0/0】。

    路由器就是为连接不同地址段网络而生的,2个接口设置成了相同的地址段,就变成交换机(swith)了。那就不如直接用交换机了。交换机比路由器便宜多了。

    R2(config)#do show ip interface brief
    Interface IP-Address OK? Method Status Protocol
    FastEthernet0/0 192.168.0.2 YES manual up up
    FastEthernet1/0 unassigned YES unset administratively down down
    R2(config)#interface f1/0
    R2(config-if)#ip addres 192.168.0.3 255.255.255.0
    % 192.168.0.0 overlaps with FastEthernet0/0

    由此可见路由器是连接不同局域网的,并且隔离2个局域网的广播。

  • ping使用的协议是ICMP。ICMP协议是网络层协议。

    从一个路由器A的一个接口f0/0,ping另一个路由器B的一个非直连接口f1/0的地址的场景,这2个接口处于不同的网路段:

    ping要使用ICMP协议,ICMP协议的报文里要求有源IP地址和目的IP地址,由于无法知道(路由器A里的路由表里没有路由器B里f1/0网段的条目)从哪个接口出去,就无法知道源IP地址,所以ICMP协议的包就无法做成,当然就无法发送,所以ping不通。

    ping,必须能去而且还能回来才能ping通。

添加路由条目

方法1,不指定出接口,也就是没有指定源IP,需要路由器去递归查询一次,才能获得出接口的源ip:ip route 192.168.1.0 255.255.255.0 192.168.0.2

192.168.1.0 255.255.255.0:是目标网络

192.168.0.2:是下一跳。

为了能够访问192.168.1.0 255.255.255.0网络,必须借助192.168.0.2,作为跳板。

R1(config)#ip route 192.168.1.0 255.255.255.0 192.168.0.2
R1(config)#do show ip route
Gateway of last resort is not set
C 192.168.0.0/24 is directly connected, FastEthernet1/0
S 192.168.1.0/24 [1/0] via 192.168.0.2

S:代表静态路由的意思。

方法2,不指定下一跳,但是指定了出接口。没下一跳,路由寻址慢:ip route 192.168.1.0 255.255.255.0 f1/0

R1(config)#ip route  192.168.1.0 255.255.255.0 f1/0
R1#show ip route
C 192.168.0.0/24 is directly connected, FastEthernet1/0
S 192.168.1.0/24 is directly connected, FastEthernet1/0

方法3,既指定出接口又指定下一跳:ip route 192.168.1.0 255.255.255.0 f1/0 192.168.0.2

R1(config)#ip route 192.168.1.0 255.255.255.0 f1/0 192.168.0.2
R1(config)#do show ip route
C 192.168.0.0/24 is directly connected, FastEthernet1/0
S 192.168.1.0/24 [1/0] via 192.168.0.2, FastEthernet1/0

这种方式最好

末梢网络:只通过一个下一跳去所有的网络。

比如公司,公司里面的主机都是私有ip,公司只有一个公网ip,所以需要把路由器的下一跳指定成这个公网ip。

S    0.0.0.0/0 [1/0] via 公网ip, FastEthernet1/0

负载均衡路由条目:

目的地是相同的,有很多通路都可以到达目的地,为了避免某几条路由过于拥堵,就使用负载均衡路由条目,把请求平均分配到每条路由。

S    0.0.0.0/0 [1/0] via 192.168.0.2,192.168.1.2,192.168.2.2 ...

掩码最长匹配原则

当有1个以上路由条目都可以到达目的地时,选用那条路由呢?

选用掩码最长的。

例如:目的地是192.168.2.1,路由条目有2条,如下所示。这2条都可以到达,但选用的是S 192.168.2.1 /32。因为它的掩码的长度是32,另一个是24.

S 192.168.2.1 /32 via ...
S 192.168.2.0 /24 via ...

例如:访问12.2.0.0时,12.1.1.0/24和12.1.1.0/24都不匹配,只能匹配12.0.0.0/8

12.1.1.1/32
12.1.1.0/24
12.0.0.0/8

静态路由的优缺点:

# c/c++ 学习互助QQ群:877684253
![](https://img2018.cnblogs.com/blog/1414315/201811/1414315-20181106214320230-961379709.jpg)
# 本人微信:xiaoshitou5854

cisco 添加静态路由的更多相关文章

  1. Redhat、CentOS添加静态路由的标准方法

    我们经常遇到需要在系统默认路由的基础上,额外添加静态路由的需求.为了使得下次系统启动这些静态路由依旧生效,我们可能采取在rc.loal里加入route命令追加静态路由的方法. 现在给大家推荐Redha ...

  2. Debian如何永久添加静态路由

    在RedHat(RHEL)/CentOS/Fedora Linux环境永久添加静态路由通常是写在诸如/etc/sysconfig/network-scripts/route-eth0这些文件里.在De ...

  3. linux添加静态路由

    1.使用route命令,查看本机路由直接输入route回车即可.route 命令参数: add     增加路由 del     删除路由 -net    设置到某个网段的路由 -host   设置到 ...

  4. centos7 防火墙一些相关设置 开机添加静态路由 特殊的方法

    参考文献: https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/s ...

  5. linux下永久添加静态路由

    在linux下永久添加静态路由有两种方法: 添加路由的命令: 1,route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 ...

  6. Windows 系统cmd设置添加静态路由方式

    电脑上添加静态路由,cmd设置路由 方法/步骤 1.首先在“运行”窗口输入cmd(按WIN+R打开运行窗口),然后回车进入命令行,输入 route  add  10.253.251.0  mask   ...

  7. Centos7添加静态路由

    本文摘取自 Centos7系统配置上的变化(二)网络管理基础 一.ip route显示和设定路由 1.显示路由表 [root@centos7 ~]# ip route show default via ...

  8. Windows 系统PowerShell或cmd设置添加静态路由方式

    电脑上添加静态路由,PowerShell或cmd设置路由 方法/步骤1.首先以管理员身份在“运行”窗口输入cmd或PowerShell(按WIN+R打开运行窗口),然后回车进入命令行,输入 route ...

  9. linux 添加静态路由

    Linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 19 ...

随机推荐

  1. 线程安全之 synchronized 和 ReentrantLock

    线程安全之 synchronized 和 ReentrantLock + 面试题 前面我们介绍了很多关于多线程的内容,在多线程中有一个很重要的课题需要我们攻克,那就是线程安全问题.线程安全问题指的是在 ...

  2. 1233: 输出杨辉三角前n行

    #include <stdio.h> int main() { int n,i,j,ch[15][15],v,k; char *nl = ""; while(scanf ...

  3. 用例建模Use Case Modeling——传感器智能分析引擎

    系统用例分析 我的工程实践小组做的课题主要是实现传感器数据采集平台的设计与开发.该搜索引擎完成对传感器数据的采集和发布,企业可以在平台上上传自己的传感器数据信息,同时也能够浏览市面上其他传感器信息,以 ...

  4. 程序员过关斩将--redis做消息队列,香吗?

    Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...

  5. 入侵检测基本准则(Basic principles of intrusion detection)【v1.0】

    所谓“入侵检测”,顾名思义,就是对入侵行为的发觉.他通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象.” 但实际上,所谓的“违 ...

  6. 浅谈无线局域网WLAN

    无线局域网WLAN 一.概述 有线局域网的组成如下图所示,多台计算机通过双绞线连接到一个集线器(hub)或交换机(switch)上,组成一个有限局域网. 无线局域网的组成如下图所示,多台计算机通过无线 ...

  7. 《自拍教程14》Linux的常用命令

    Linux操作系统, 包括我们大家熟知的Android, Ubuntu, Centos, Red Hat, UOS等. 这些常用命令先大概了解下,当然能熟练掌握并运用到实际工作中那最好不过了. 后续技 ...

  8. 制作一个docker镜像:mysql-8-x64-linux

    因为个人学习需要,为软件系统的虚拟容器化,以下将mysql制作为docker镜像,并记录下详细步骤. 欢迎大家学习交流和转载,同时写作不易,如果各位觉得不错,请点赞支持. 备注:以下代码和文章,欢迎复 ...

  9. python3安装pycrypto

    这几天想用py3弄一个系统,需要用到WeChat-sdk这个包,在pip install wechat-sdk的时候报了一系列的错误,最后定位是安装pycrypto出错,各种度娘之后说要安装vs201 ...

  10. 注销Apache

    到D:\phpTools\Apache24\bin下运行cmd 输入httpd.exe -k uninstall -n apache24 回车后提示注销完成 接着把Apache的文件删了即可