手动添加本地路由表并用Quagga+ospf通知其它路由

2023-11-02

参考文章:

  1. Linux下使用Quagga搭建软路由-OSPFv2学习
  2. 鳥哥的 Linux 私房菜

一 路由设置

1. 参数说明

root@anzye:# route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         192.168.2.254   0.0.0.0         UG    600    0        0 wlan0
10.42.0.0       0.0.0.0         255.255.255.0   U     100    0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
192.168.1.0     10.42.0.232     255.255.255.0   UG    20     0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0
192.168.213.0   0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
输出项 说明
Destination 目标网段或者主机
Gateway 网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask 网络掩码
Flags 标记
Metric 路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref 路由项引用次数(linux 内核中没有使用)
Use 此路由项被路由软件查找的次数
Iface 该路由表项对应的输出接口

一些可能的标记如下:

  • U : Up表示此路由当前为启动状态
  • H :表示此网关为一主机
  • G :Gateway,表示此网关为一路由器
  • R : Reinstate Route,使用动态路由重新初始化的路由
  • D : Dynamically,此路由是动态性地写入
  • M : Modified,此路由是由路由守护程序或导向器动态修改
  • ! :表示此路由当前为关闭状态

2 查询设置

root@anzye:# route -h
用法: route [-nNvee] [-FC] [<AF>]           显示核心路由表
       route [-v] [-FC] {add|del|flush} ...  为AF修改路由表。

       route {-h|--help} [<AF>]              Detailed usage syntax for specified AF.
       route {-V|--version}                  显示版本和作者信息并退出。

        -v, --verbose            显示详细信息
        -n, --numeric            不解析名称
        -e, --extend             显示更多信息
        -F, --fib                display Forwarding Information Base (default)
        -C, --cache              display routing cache instead of FIB
  • route -n :不解析名称的查询核心路由表
  • route [add|del] [-net|-host] target/default [netmask Nm] [gw Gw] [[dev] If]
    • add : 添加一条路由规则
    • del : 删除一条路由规则
    • -net : 路由目的地址是一个网络
    • -host : 路由目的地址是一个主机
    • default: 当主机不能在路由表中查找到目标主机的IP地址或网络路由时,数据包就被发送到其指定的默认路由(默认网关)上,flags标记为G
    • target : 目的网络或主机(可直接 使用 target/24 省去后面的netmask)
    • netmask : 目的地址的网络掩码
    • gw : 路由数据包通过的网关
    • dev : 为路由指定的网络接口

二 动态路由的设置

编译安装见上Quagga 移植
具体配置可看参考文章1,以下记几点注意事项

  1. telnet 127.0.0.1 port (port 2601为zebra配置,2604为ospf配置),若有vtysh可直接使用免区分法不同协议的端口
  2. 一个路由器一个router-id号,不同router必须不同用以区分。
  3. 两个路由器直连通的网口必须设成同一网段的,保证可互ping,且在设置ospf的network时,两路由直连的口的network必须相同,包括area值,否则无法获取对方信息,更不用说它下一结点的路由信息了。
  4. 一个物理网卡下挂多个不同段的虚拟口,与其相连的多张网卡要跑ospf动态路由交换,则必须保证没有相同mac值的网卡。
  5. 默认分发的路由表是 O>*标示的条目,自行添加的静态核心路由条目不会分发到其它路由器去,可配置 redistribute kernel项就行如下:
    	anzye@anzye # cat /ospfd.config
    	router ospf
    	ospf router-id 192.168.1.52
    	redistribute kernel
    	network 192.168.1.0/24 area 0.0.0.1
    

www.centos.vbird> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
K>* 0.0.0.0/0 via 192.168.1.254, eth0 <==核心直接設定的
C>* 127.0.0.0/8 is directly connected, lo <==介面產生的路由
K>* 169.254.0.0/16 is directly connected, eth1 <==核心直接設定的
C>* 192.168.1.0/24 is directly connected, eth0 <==介面產生的路由
C>* 192.168.100.0/24 is directly connected, eth1 <==介面產生的路由

K :代表以類似 route 指令加入核心的路由規則,包括 route-ethN 所產生的規則;
C :代表由你的網路介面所設定的 IP 而產生的相關的路由規則
S :以 zebra 功能所設定的靜態路由資訊;
R :就是透過 RIP 協定所增加的路由規則囉!

  1. 在设置时有不懂的命令直接在命令后按?如
    anzye# show ip route 
      <cr>            
      A.B.C.D         Network in the IP routing table to display
      A.B.C.D/M       IP prefix <network>/<length>,  e.g.,  35.0.0.0/8
      babel           Babel routing protocol (Babel)
      bgp             Border Gateway Protocol (BGP)
      connected       Connected routes (directly attached subnet or host)
      isis            Intermediate System to Intermediate System (IS-IS)
      kernel          Kernel routes (not installed via the zebra RIB)
      nhrp            Next Hop Resolution Protocol (NHRP)
      ospf            Open Shortest Path First (OSPFv2)
      pim             Protocol Independent Multicast (PIM)
      rip             Routing Information Protocol (RIP)
      static          Statically configured routes
      summary         Summary of all routes
      supernets-only  Show supernet entries only
      tag             Show only routes with tag
      vrf             Specify the VRF
    
    
  2. 有问题看log文件吧

实验

在一台机器上使用route增加一条路由信息如route add -net 192.168.3.0/24 eth0
在另一台机器上route -n/ip router show即可看到自动增加到本地路由表了,更详细的描述使用quagga的相关命令查询

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动添加本地路由表并用Quagga+ospf通知其它路由 的相关文章

随机推荐

  • wsl2安装及相关编程环境配置

    wsl2的安装及相关环境配置 1 设置 gt 更新和安全 gt 开发者选项 gt 开发人员模式 2 设置 gt 应用 gt 应用和功能 gt 程序和功能 gt 程序和功能 gt 启用或关闭windows功能 gt 适用于linux的wind
  • 编程训练————岛屿数量(C++)

    岛屿数量 题目描述 主要思想 深度优先搜索 广度优先搜索 代码实现 深度优先搜索 广度优先搜索 题目描述 给你一个由 1 陆地 和 0 水 组成的的二维网格 请你计算网格中岛屿的数量 岛屿总是被水包围 并且每座岛屿只能由水平方向或竖直方向上
  • 如何升级numpy的版本

    嗯 如何升级numpy的版本 这是个很火的问题 解决方案如下 在命令下输入pip install U numpy 就可以升级numpy包了 pip install upgrade numpy 这样也可以
  • 统计二叉树中度为1的节点,层序遍历实现

    include
  • 分布式高可靠:负载均衡

    分布式高可靠 负载均衡 前言 什么是负载均衡 服务请求的负载均衡方法 轮询策略 顺序轮询 加权轮询 随机策略 哈希和一致性哈希策略 对比分析 知识扩展 如果要考虑请求所需资源不同的话 应该如何设计负载均衡策略呢 总结 前言 分布式可靠性相关
  • chrome浏览器安装右键翻译插件

    平常打开网页查看相关文章的时候 遇到一些不会的英文单词 可能第一反应是复制英文单词到百度翻译里面 下面为介绍一种直接右键选中英文单词 实现在线翻译的插件 这边用到的是 划词翻译 插件 安装步骤如下 第一步 下载扩展程序插件 链接 https
  • 深入JVM - 实例详解invoke相关操作码

    Java虚拟机规范中有一个章节专门列出了操作码助记符 对应的链接为 Java Virtual Machine Specification Chapter 7 Opcode Mnemonics by Opcode 其中 方法调用相关的操作码为
  • 毕业设计 基于Arduino的肺活量计

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • 编程语言Java与c#的区别浅谈

    Java和c 都是编程的语言 它们是两个不同方向的两种语言 它们到底有什么区别呢 现在我给大家介绍一下 首先 我给大家说说他们的相同点吧 它们都是面向对象的语言 也就是说 它们都能够实现面向对象的思想 封装 继承 多态 下面给大家介绍一下它
  • NGINX源码之:listen和server_name命令与listening监听创建

    在http块的server块解析中 通过解析listen和server name命令配置 完成端口监听的初始化 虚拟主机配置关联 实现从host port到虚拟主机的映射关系 在进入解析源码之前 先来看看server块集中配置 server
  • html如何给3种渐变色,css中颜色渐变的实现(三种方式)

    本篇文章给大家带来的内容是关于css中颜色渐变的实现 三种方式 有一定的参考价值 有需要的朋友可以参考一下 希望对你有所帮助 注意IE9及之前的版本不支持渐变 Safari要加 webkit 的前缀 Opera要加 o 的前缀 Firefo
  • explicit关键字的作用及其用法

    一 explicit作用 在C 中 explicit关键字用来修饰类的构造函数 被修饰的构造函数的类 不能发生相应的隐式类型转换 只能以显示的方式进行类型转换 这个关键字只能用在类内部的构造函数声明上 而不能用在类外部的函数定义上 它的作用
  • vue后台返回二维码展示在前端页面,复制二维码到剪贴板

    1 二维码渲染 vue请求 后端返回二维码 在请求时加上 responseType blob export function getQrCode query return request url xx method get params q
  • 单点登录CAS学习(二):使用IDEA搭建cas-overlay-5.3工程

    上一篇对于单点登陆进行了初步了解 我们做单点登录应用的时候 会有两个场景 单点登录的服务端 单点登录的客户端 指各个应用系统 从本篇开始的系列文章将分别介绍服务端的工程如何搭建 客户端如何改造以适用于单点登录 首先从服务端开始 我们往往需要
  • ElasticSearch集群管理(VMware)

    一 集群结构 ES通常以集群方式工作 这样做不仅能够提高 ES的搜索能力还可以处理大数据搜索的能力 同时也增加了系统的 容错能力及高可用 下图是ES集群结构的示意图 此处的设置为 每个主分片有两个副本 如果某个节点挂了也不怕 比如节点1挂了
  • 操作系统学习(十一)处理机调度

    一 知识总览 调度 按某种规则来决定处理这些任务的顺序 多道程序系统中 进程的数目往往多于处理机的数目 按照一定的算法从进程就绪队列中选择一个进程将处理机分配给他 以实现进程的并发执行 二 高级调度 作业调度 作业 用户在一次解题或一个事务
  • 计算机单位换算

    一 计算机容量单位 容量单位 字节 B gt 千字节 KB gt 兆字节 MB gt 吉字节 GB gt TB gt PB gt EB ZB YB NB DB等 注 Byte就是B也就是字节 KB是千字节 MB是兆 GB是千兆 TB是千千兆
  • jvisualvm监控tomcat

    1 修改Tomcat的catalina sh文件 修改tomcat的bin目录下的 catalina sh文件 搜索 JAVA OPTS 在引号中添加参数 Dcom sun management jmxremote port 10086 D
  • 设计RandomPool结构

    详情参看 程序员代码面试指南 P474 package com gxu dawnlab algorithm5 import java util HashMap 设计RandomPool结构 author junbin 2019年7月1日 p
  • 手动添加本地路由表并用Quagga+ospf通知其它路由

    文章目录 参考文章 一 路由设置 1 参数说明 2 查询设置 二 动态路由的设置 实验 参考文章 Linux下使用Quagga搭建软路由 OSPFv2学习 鳥哥的 Linux 私房菜 一 路由设置 1 参数说明 root anzye rou