路由基础(Routing)
查看本机路由表:
[root@controller02 ~]# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
linux 系统中,可以自定义从 1-252个路由表,其中,linux系统维护了4个路由表:
- 0#表: 系统保留表
- 253#表: defulte table 没特别指定的默认路由都放在改表
- 254#表: main table 没指明路由表的所有路由放在该表
- 255#表: locale table 保存本地接口地址,广播地址、NAT地址 由系统维护,用户不得更改
路由表的查看可有以下二种方法:
- ip route list table table_number
- ip route list table table_name
增加路由表mky_route 路由表200:
[root@controller02 ~]# echo 200 mky_route >> /etc/iproute2/rt_tables
增加规则
[root@controller02 ~]# ip rule add from 192.168.100.101 table mky_route
查看规则:
[root@controller02 ~]# ip rule ls
0: from all lookup local
32765: from 192.168.100.101 lookup mky_route
32766: from all lookup main
32767: from all lookup default
在 Linux 系统启动时,内核会为路由策略数据库配置三条缺省的规则:
- 0 匹配任何条件 查询路由表local(ID 255) 路由表local是一个特殊的路由表,包含对于本地和广播地址的高优先级控制路由。rule 0非常特殊,不能被删除或者覆盖。
- 32766 匹配任何条件 查询路由表main(ID 254) 路由表main(ID 254)是一个通常的表,包含所有的无策略路由。系统管理员可以删除或者使用另外的规则覆盖这条规则。
- 32767 匹配任何条件 查询路由表default(ID 253) 路由表default(ID 253)是一个空表,它是为一些后续处理保留的。对于前面的缺省策略没有匹配到的数据包,系统使用这个策略进行处理。这个规则也可以删除。
根据上面的方法我们就可以实现策略路由:
加入我们有这2个网段
192.168.100.X
192.168.200.X
我们分别创建2个不同的路由表
ip rule add from 192.168.100.101 table route100
ip rule add from 192.168.100.101 table route200
分别在不同的路由表中配置默认路由:
ip route add default via 192.168.100.254 dev eth100 table route100 #默认走eth100 网关地址192.168.100.254
ip route add default via 192.168.200.254 dev eth200 table route200#默认走eth200 网关地址192.168.200.254
也可以按照权重来走:
ip rule add from 192.168.1.0/24 table 10 #192.168.1.0网段都走10表
ip rule add from 192.168.2.0/24 table 20 #192.168.2.0都走20表
设置每个权重,下一跳有2个地址100.100.100.1、200.200.200.1 权重比2:1
ip route add default scope global nexthop via 100.100.100.1 weight 1 nexthop via 200.200.200.1 weight 2
最短路径算法:
- Bellman-Ford 算法 距离矢量路由(distance vector routing)
- Dijkstra 算法 链路状态路由(link state routing)
动态路由协议:
1. 基于链路状态路由算法的 OSPF
OSPF(Open Shortest Path First,开放式最短路径优先)就是这样一个基于链路状态路由协议,广泛 应用在数据中心中的协议。由于主要用在数据中心内部,用于路由决策,因而称为内部网关协议(Interior Gateway Protocol,简称IGP)。
2. 基于距离矢量路由算法的 BGP
称为外网路由协议(Border GatewayProtocol,简称BGP)
BGP 又分为两类,eBGP 和 iBGP。自治系统间,边界路由器之间使用 eBGP 广播路由。内部网络也需要访问其他的自治系统。
路由基础(Routing)的更多相关文章
- RabbitMQ系列教程之四:路由(Routing)
(使用Net客户端)在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息.在本教程中,我们将为其添加一项功能 ,这个功能是我们将只订阅消息的一个子集成为可能. 例如, ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- react router @4 和 vue路由 详解(一)vue路由基础和使用
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 1.vue路由基础和使用 a.大概目录 我这里建了一个router文件夹,文件夹下有in ...
- RabbitMQ系列教程之四:路由(Routing)(转载)
RabbitMQ系列教程之四:路由(Routing) (使用Net客户端) 在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息. 在本教程中,我们将为其添加一项功能 ...
- django第三天(路由基础和路由分配)
路由基础 url(正则路径,视图函数地址,默认关键字参数,路由别名) 路由由上而下匹配, ""可以匹配任意路由 "^$"来匹配"/" url ...
- RabbitMQ指南之四:路由(Routing)和直连交换机(Direct Exchange)
在上一章中,我们构建了一个简单的日志系统,我们可以把消息广播给很多的消费者.在本章中我们将增加一个特性:我们可以订阅这些信息中的一些信息.例如,我们希望只将error级别的错误存储到硬盘中,同时可以将 ...
- 洛谷 P3063 [USACO12DEC]牛奶的路由Milk Routing
P3063 [USACO12DEC]牛奶的路由Milk Routing 题目背景 征求翻译.如果你能提供翻译或者题意简述,请直接发讨论,感谢你的贡献. 题目描述 Farmer John's farm ...
- 路由(Routing)
RabbitMQ系列教程之四:路由(Routing) (使用Net客户端) 在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息. 在本教程中,我们将为其添加一项功能 ...
- 路由策略Routing Policy和策略路由PBR的区别
这是面试的时候问道的一个问题,这里跟大家分享一下 路由策略(Routing Policy)是为了改变网络流量所经过的途径而修改路由信息的技术: PBR(policy-based-route)是一种依据 ...
随机推荐
- ArcPy python实例教程-条件平差-测量平差
ArcPy python实例教程-条件平差-测量平差 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 输入参数:条件方程的系数,观测值,常数项和 ...
- ubuntu18 更换屏幕分辨率
ubuntu18.04怎么修改屏幕分辨率 最近在自己的电脑中安装了ubuntu18.04系统,默认分辨率不对所以只好自己修改分辨率,但是在桌面右键并没找到设置分辨率的选项,那么我们应该在哪里设置分辨率 ...
- Nginx http -> https 跳转后 POST 丢失
在 nginx.conf 配置文件中添加如下配置进行 http -> https 跳转 server { listen ; server_name example.org; https://$s ...
- jenkins用户和权限管理
添加用户 进入管理界面,选择manage users,添加用户 将人和角色绑定 用户和项目绑定 角色管理 可以针对不同的站点对不同的人赋权 添加角色并赋权 将角色赋权给对应的用户 使用新添加的这个用户 ...
- JAVA 或与非运算符 与(&)、或(|)、异或(^)
运算步骤: 第一步:.转成二进制,即01表示的数字,如5的二进制为 0000 0101,我用八位表示. 第二步:比较二者位数上的数字 1.与运算符 与运算符用符号“&”表示,其使用规律如下: ...
- 5-1 嵌套while循环应用
package com.imooc; public class forDemo { public static void main(String[] args) { ;//外重循环的循环变量: ;// ...
- 0.9.0.RELEASE版本的spring cloud alibaba sentinel+feign降级处理实例
既然用到了feign,那么主要是针对服务消费方的降级处理.我们基于0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例添油加醋,把sentinel功能加 ...
- jsp、freemarker、velocity、thymeleaf
1.概述在java领域,表现层技术主要有三种, (1)jsp; (2)freemarker; (3)velocity; (4)thymeleaf; 2.jsp优点: 1.功能强大,可以写java代码 ...
- MySQL数据库查找多个字段值全部相同的记录
数据库中用户表,数据从第三方系统导入,由于一些垃圾数据,存在用户名和密码都相同的账户,造成接口上一些问题,SQL语句如下: and Account2>;
- MongoDB学习笔记一:MongoDB基础
目录 MongoDB是什么? 学了有什么用? MongoDB入门 安装 修改数据库位置 MongoDB的启动方式 MongoDB的图形化工具 MongoDB基本命令 增 查询 更新 删除 排序 投影 ...