简略讲解OpenWrt的路由配置(单播路由/静态路由、策略路由、IGMP组播路由)

技术简略讲解OpenWrt的路由配置(单播路由/静态路由、策略路由、IGMP组播路由) 简略讲解OpenWrt的路由配置(单播路由/静态路由、策略路由、IGMP组播路由)一、分类智能路由器上最重要的功能

简要说明OpenWrt的路由配置(单播路由/静态路由、策略路由和IGMP组播路由)。

一、分类

智能路由器最重要的功能就是IP路由。IP消息根据路由表进行路由,路由表中的路由项以各种方式进行分类。

按目的地址类型不同可划分

单播路由。

组播路由。

单播路由表存储各种路由协议发现的路由,形成路由表,根据路由表项的来源分为以下三类:

接口路由。,路由也称为直接路由,是在设置接口的IP地址和掩码时自动添加的路由,它是消息通向接口IP地址所在网络的路由。

静态路由。.网络管理员手动配置的路由当网络结构简单时,只需配置静态路由即可工作,适用于拓扑简单稳定的小型网络。静态路由不能自动适应网络拓扑的变化。当网络出现故障或拓扑发生变化时,网络管理员必须再次手动修改配置。

动态路由。动态路由协议发现并设置路由。常见的动态路由协议包括RIP、OSPF和IS-IS。路由表根据链路状态或网络拓扑的变化而动态生成和删除。常见的动态路由软件包括Zebra和Quagga。在智能路由器领域,一般只有一个互联网出口,所以不使用动态路由。

根据路由目的地址的不同

策略路由.又称源地址路由,它根据IP报文源地址、端口、报文长度和优先级灵活选择路由。

普通的目的地址路由。只根据消息的目的地址选择接口或下一跳地址。

按路由决策的方式不同

策略路由。,又称源地址路由,根据IP报文的源地址、端口、报文长度和优先级灵活选择路由。

普通的目的地址路由。只根据消息的目的地址选择接口或下一跳地址。

根据目的地与该路由器是否直接相连

直接路由。's目的网络直接连接到路由器。

间接路由。's目的网络没有直接连接到路由器。

缺省路由

另一个概念是,缺省路由,也称默认路由,指的是在路由器中找不到完全匹配的路由表条目后使用的路由。

如果报文的目的地址在路由表中没有找到匹配的路由,没有默认路由,那么该报文将被丢弃会向消息的源地址发送网络地址不可达的ICMP差错报文

智能路由器的默认路由通常是通过DHCP或PPPoE自动获取下一跳地址后动态生成并写入路由表的。

二、单播路由

消息的目的地址为A类、B类和C类,路由表条目为单播路由。

目的IP地址告诉消息目的主机地址在哪里,而路由告诉消息如何到达目的地址。

网络上的每台路由器都做出独立的决定,将消息转发到距离目的地址更近的路由器,从而逐步将其路由到目标主机。

三、单播路由分类

单播路由表中保存了各种路由协议发现的路由并形成一张路由表,根据路由表项的来源来划分,通常分为以下3类:

接口路由。,路由也称为直接路由,是在设置接口的IP地址和掩码时自动添加的路由,它是消息通向接口IP地址所在网络的路由。

静态路由。.网络管理员手动配置的路由当网络结构简单时,只需配置静态路由即可工作,适用于拓扑简单稳定的小型网络。静态路由不能自动适应网络拓扑的变化。当网络出现故障或拓扑发生变化时,网络管理员必须再次手动修改配置。

动态路由。动态路由协议发现并设置路由。常见的动态路由协议包括RIP、OSPF和IS-IS。路由表根据链路状态或网络拓扑的变化而动态生成和删除。常见的动态路由软件包括Zebra和Quagga。在智能路由器领域,一般只有一个互联网出口,所以不使用动态路由。

四、route命令

ul>

  • route 命令是用于管理 和维护操作系统内核的路由表,主要用于设置到特定主机或网络的静态路由。可以增加、 删除及查看路由表等。
  • 五、查看路由表

    • 每当增加一个接口 IP 时将自动创建一个直连的接口路由。对于通过 DHCP获得的 IP 地址,除了设置直连路由外还可能会设置网关的默认路由。

    路由表格式

    • 当前openwrt的IP为192.168.43.123。
    • “route –n”命令来列出路由表项:-n 选项表示列出数字地址形式,而不是主机名或者域名。
    • 第一行:是一个默认路由,这表明如果没有精确匹配路由,就会将IP报文发送到IP地 址192.168.43.1上。UG 表示一个启用的网关地址。br-lan表示出接口地址。
    • 第二行:是一个接口路由,为局域网接口的路由项,表示局域网为192.168.43.0网段。 br-lan表示通过该网卡和局域网网络相连接。
    • 第三行:是一个接口路由,表示目的地址是主机地址。这在接口配置IP和掩码时会默认自动设置上。如果不设置掩码则默认A类地址为8位掩码,B类地址为16位掩码,C类地址为24位掩码。

    路由表的字段含义

    • 对于给定的路由表项的路由标识(Flahs)通常有以下几种:

      • U:路由表项可以使用。

      • H:路由表项的目标地址是主机地址,即掩码为 32 位。

      • G:路由表项下一跳为网关。

      • R:动态路由算法生成的。

      • D:该路由通过重定向或者守护进程动态安装的。

      • M:该路由被路由守护进程或重定向报文修改。

      • A:该路由被 addrconf 安装。

      • C:缓存(cache entry)。

      • !:拒绝路由(reject route)。匹配这一条报文将丢弃。

    六、路由的设置

    • 使用ip命令和route命令均可对路由表进行管理,默认路由通过以下两个命令均进行设置:
    • 这两个命令行为完全相同,只是ip命令使用 Netlink 接口设置到内核中,route 命令通 过传统的 ioctl 接口设置到内核中。Linux 内核已经不建议使用 ioctl 接口。
    ip route add default via gw ip dev eth0
     
    route add default gw gw ip dev eth0
    • 查看路由信息。
    • ip route get命令

      •  针对目的IP,如何来选择路由表项路由表中的信息包含了IP层的决策。采用最长匹配算法来匹配,如果有多个匹配则会随机选择一个作为路由,可以使用下面命令来查看匹配的路由。

      

      

    七、路由功能的划分

    • 为了系统的稳定性,操作系统将路由功能划分为两部分:
      • 管理平面:也称为控制平面。是指用于路由学习,生成路由表的部分。Linux 用 户空间的程序就属于管理平面。
      • 转发平面:也称数据平面(Data Plane)。转发平面是指系统中进行数据报文的接 收、查找路由表、根据路由表进行决策等的部分。转发平面在 Linux 内核中。
      • 转发平面:也称数据平面(Data Plane)。转发平面是指系统中进行数据报文的接 收、查找路由表、根据路由表进行决策等的部分。转发平面在 Linux 内核中。
    • 路由器可以实现转发面和管理平面的相互独立。为了做到控制平面和转发平面的分离,Linux 内核构建了一张转发表,专门用于指导数据报文的转发。用户空间的应用层软件形成控制平面的路由表,可能会有多种可选的路由规则,但路由软件系统会计算出一条最佳的路径然后写入内核中。两者之间通过接口(Netlink)来实现相互操作。在小型智能路由器上网络比较单一,路由表项不用动态生成,只有固定的路由表。因此一般不会使用quagga路由软件生成的控制平面的路由表,只有静态路由。在小型智能路由器上可以认为 两者完全相同。数据平面保存的路由表,也称为路由转发表(Forwarding Information Base, FIB),用来指导IP报文的转发,转发算法如下:
      • 组织和存储选出的路由表项。
      • 按照 LPM(最长掩码匹配)算法提供路由检索接口。
    • 报文的转发过程为:首先网卡接口上接收报文,并查看报文的目的地址:然后根据目 的地址来查询转发表;最后按查询到的路径把分组报文转发出去。

    八、增加静态路由的一个注意事项

    • 在增加静态路由时需注意:在 Windows 下增加静态路由,必须设置有下一跳地址;在 Linux 下增加静态路由时,可以仅设置出接口而不设置下一跳地址。
    • 如果增加静态路由时仅设置出接口而不设置下一跳地址,在一些没有开启ARP代理的设备上将会遇到不能连通网络的问题。因为使用出接口地址时,Linux 会认为目标地址 网络是直连可达的网络,将直接发出 ARP 请求来查询目标 IP 地址的 MAC 地址,如果路 由器没有启动 ARP 代理,就不会发出 ARP 响应消息,这时 Linux 就会因为找不到目标MAC地址而转发失败。
    • 如果直接指定网关地址,那ARP请求就直接请求网关地址的MAC地址,然后进行报文转发。

    九、静态路由配置

    • 使用命令行对路由表进行设置时,在重启之后配置均需重新设置。OpenWrt 的静态路由配置在配置文件/etc/config/network的route配置节中,在启动过程中 netifd 模块会读取 该配置文件并进行设置。
    • 可选的配置选项见下表:

      

    演示案例

    • 例如局域网还有一个192.168.9.0/24网络,那么我们将增加下面所示的配置,就 可以通过网关地址 92.168.6.10到达 192.168.9.0/24网络。

      

    • 进行重启后,使用route -n 命令来查看,路由表增加了以下内容:

      

    十、策略路由

    • 待续

    十一、IGMP组播路由

    • 待续

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/70027.html

    (0)

    相关推荐

    • Spring Boot中怎样使用Swagger2构建RESTful API文档

      技术Spring Boot中怎样使用Swagger2构建RESTful API文档这篇文章给大家介绍Spring Boot中怎样使用Swagger2构建RESTful API文档,内容非常详细,感兴趣的小伙伴们可以参考借

      攻略 2021年11月10日
    • Python如何通过xpath属性爬取豆瓣热映的电影信息

      技术Python如何通过xpath属性爬取豆瓣热映的电影信息本篇文章给大家分享的是有关Python如何通过xpath属性爬取豆瓣热映的电影信息,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,

      攻略 2021年11月11日
    • python playwright自动等待和断言举例分析

      技术python playwright自动等待和断言举例分析本篇内容主要讲解“python playwright自动等待和断言举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家

      攻略 2021年11月26日
    • VBS如何读取配置文件配置项

      技术VBS如何读取配置文件配置项这篇文章主要为大家展示了“VBS如何读取配置文件配置项”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VBS如何读取配置文件配置项”这篇文章吧。

      攻略 2021年11月1日
    • 初学算法-------递归

      技术初学算法-------递归 初学算法-------递归大部分内容在我的笔记里;
      这里讲一下不能只依靠递归:
      递归中终究还是有一个致命的缺陷就是在递归次数过多时会需要极大的运行空间,甚至会终止程序的运

      礼包 2021年12月5日
    • 边牧犬多少钱一只,边牧犬的价格一般多少钱

      技术边牧犬多少钱一只,边牧犬的价格一般多少钱如果想要一只宠物级别的边境牧羊犬边牧犬多少钱一只,那么价格一般是在1000块钱到2500块钱之间,,如果想要品相,稍微好一点儿的边境牧羊犬,那么价格有可能是在2500块钱到45

      生活 2021年10月24日