百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

SRE干货知识:静态路由、动态路由和策略路由

sinye56 2024-11-27 20:34 1 浏览 0 评论

#程序员# #sre# #Linux# #运维# #路由#

我是一个在北京互联网厂子里996的程序员,一边学习追赶新技术,怕被潮流甩下掉队,一边学习投资理财方法,让自己的薪水滚雪球。我相信,越努力越幸运,虽然刚开始雪球滚起来很慢,但是只要坚持下去,它就会越滚越快,自己的养老就靠它了。在财富自由的道路上,我与你共勉。欢迎来评论区与我交流心得和干货,这样我们就可以收获更多。

今天稍微了解了一下Linux下的策略路由,给大家分享一下。

首先我们看一下什么是静态路由和动态路由,然后,策略路由是属于静态路由的一种。

静态路由

首先,静态路由就是由SA手动通过命令或者编辑系统配置文件添加的路由,当一个新的IP包过来的时候,Linux内核就会去匹配IP路由规则,如果匹配到了,就会执行这条转发规则,如果没有匹配到,就会执行默认路由规则。当系统规模较小的时候,路由规则较容易的时候,静态路由的数量也比较少,足够用了。

动态路由

而在大型复杂的网络环境中,有几十条甚至几百条路由都要SA手工配置的话,那工作量就太大了,而且还非常容易出错,于是人们就发明了动态路由。动态路由策略可以使得Linux路由器向邻居主动学习得到路由表,并且通过动态路由协议来自动寻找最佳路由,其中比较常用的动态路由协议有OSPF,RIP等等。Linux上的动态路由软件有quagga,这个我们以后在单独的专题里再展开说。

策略路由

明显,策略路由就是由管理员设定好一些路由策略。以前我们设定路由规则的时候只能通过来源IP、目的IP来设定规则,而通过策略路由,我们可以实现 通过网段选择路由,通过IP包的TOS域来选择路由,通过应用层协议(如HTTP协议)来选择路由,等等。而使得策略路由能够在Linux上实现的基础是Linux kernel 2.2加入了Advanced Routing功能,这使得Linux的路由功能甚至超越了一些商用的路由器。而Advanced Routing引入的两项重大技术就是 多路由表和规则 这2个东西。

多路由表

Linux系统可以总共具有0~255这256张路由表,而且每张表都是独立的。过来一个IP包时是按照优先级顺序挨个检查路由策略数据库(RPDB)中的每个路由表进行匹配并执行操作的。


具体的优先级是通过 /etc/iproute2/rt_tables 这个文件确定的,

#
# reserved values
#
255    local
254    main
253    default
0    unspec
  • 表 255 本地路由表(Local table) 本地接口地址,广播地址,NAT 地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
  • 表 254 主路由表(Main table) 如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如 route命令)所添加的路由都会加到这个表,一般是普通的路由。
  • 表 253 默认路由表 (Default table) 一般来说默认的路由都放在这张表。
  • 表 0 保留。

路由规则

路由规则是通过iprouter2这个软件包中的指令来操作的。里面包括最常用的命令ip route和ip rule。

比如,查看路由表,这里有3张路由表。

$ ip rule show
0:	from all lookup local
32766:	from all lookup main
32767:	from all lookup default

查看路由规则

$ ip route show table main  
10.10.15.0/25 dev eth0 proto kernel scope link src 10.10.15.46 
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10   
default via 10.10.15.1 dev eth0  

指令方面,有非常多,大家可以看一下手册,更加详细的操作方法我们下篇文章再聊。

好了,今天的分享就到这里。 如果大家觉得我的分享对你有用,还请点一点关注,在评论区跟我交流,我会持续分享一些有用的知识点和心得。

相关推荐

Linux基础知识之修改root用户密码

现象:Linux修改密码出现:Authenticationtokenmanipulationerror。故障解决办法:进入单用户,执行pwconv,再执行passwdroot。...

Linux如何修改远程访问端口

对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而言,其相关的配置位于/...

如何批量更改文件的权限

如果你发觉一个目录结构下的大量文件权限(读、写、可执行)很乱时,可以执行以下两个命令批量修正:批量修改文件夹的权限chmod755-Rdir_name批量修改文件的权限finddir_nam...

CentOS「linux」学习笔记10:修改文件和目录权限

?linux基础操作:主要介绍了修改文件和目录的权限及chown和chgrp高级用法6.chmod修改权限1:字母方式[修改文件或目录的权限]u代表所属者,g代表所属组,o代表其他组的用户,a代表所有...

Linux下更改串口的权限

问题描述我在Ubuntu中使用ArduinoIDE,并且遇到串口问题。它过去一直有效,但由于可能不必要的原因,我觉得有必要将一些文件的所有权从root所有权更改为我的用户所有权。...

Linux chown命令:修改文件和目录的所有者和所属组

chown命令,可以认为是"changeowner"的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。当只需要修改所有者时,可使用...

chmod修改文件夹及子目录权限的方法

chmod修改文件夹及子目录权限的方法打开终端进入你需要修改的目录然后执行下面这条命令chmod777*-R全部子目录及文件权限改为777查看linux文件的权限:ls-l文件名称查看li...

Android 修改隐藏设置项权限

在Android系统中,修改某些隐藏设置项或权限通常涉及到系统级别的操作,尤其是针对非标准的、未在常规用户界面显示的高级选项。这些隐藏设置往往与隐私保护、安全相关的特殊功能有关,或者涉及开发者选项、权...

完蛋了!我不小心把Linux所有的文件权限修改了!在线等修复!

最近一个客户在群里说他一不小心把某台业务服务器的根目录权限给改了,本来想修改当前目录,结果执行成了根目录。...

linux改变安全性设置-改变所属关系

CentOS7.3学习笔记总结(五十八)-改变安全性设置-改变所属关系在以前的文章里,我介绍过linux文件权限,感兴趣的朋友可以关注我,阅读一下这篇文章。这里我们不在做过的介绍,注重介绍改变文件或者...

Python基础到实战一飞冲天(一)--linux基础(七)修改权限chmod

#07_Python基础到实战一飞冲天(一)--linux基础(七)--修改权限chmod-root-groupadd-groupdel-chgrp-username-passwd...

linux更改用户权限为root权限方法大全

背景在使用linux系统时,经常会遇到需要修改用户权限为root权限。通过修改用户所属群组groupid为root,此操作只能使普通用户实现享有部分root权限,普通用户仍不能像root用户一样享有超...

怎么用ip命令在linux中添加路由表项?

在Linux中添加路由表项,可以使用ip命令的route子命令。添加路由表项的基本语法如下:sudoiprouteadd<network>via<gateway>这...

Linux配置网络

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux系列---网络配置文件

1.网卡配置文件在/etc/sysconfig/network-scripts/下:[root@oldboynetwork-scripts]#ls/etc/sysconfig/network-s...

取消回复欢迎 发表评论: