RHEL/CentOS中静态路由的启动过程分析

本文通过分析RHEL/CentOS系统静态路由的启动过程,由此同学们可以了解到Linux系统的启动流程。

可以帮助同学们更好的理解Linux系统,也可以帮助平时的排错。

 

- 系统启动脚本

/etc/init.d/network ,此脚本为bash脚本,静态路由启动的关键行:

action $"Bringing up interface $i: " ./ifup $i boot

ifup指的是/etc/sysconfig/network-scripts/ifup,$i指的是interface,例如eth0,bond0等。

boot其实可以不要了。

 

- 打开ifup脚本,里面最关键的两行是:

OTHERSCRIPT="/etc/sysconfig/network-scripts/ifup-${DEVICETYPE}"
exec ${OTHERSCRIPT} ${CONFIG} $2

DEVICETYPE是定义在/etc/sysconfig/network-scripts/network-functions中的,这里假设DEVICETYPE变量是eth,CONFIG是$1,那么执行的语句就是:

exec /etc/sysconfig/network-scripts/ifup-eth $1 $2

 

- 再分析/etc/sysconfig/network-scripts/ifup-eth脚本,关键是最后一行:

exec /etc/sysconfig/network-scripts/ifup-post ${CONFIG} ${2}

 

- 接着分析/etc/sysconfig/network-scripts/ifup-post,里面有一行:

/etc/sysconfig/network-scripts/ifup-routes ${REALDEVICE} ${DEVNAME}

 

- 最后分析/etc/sysconfig/network-scripts/ifup-routes,这个脚本就是用来启动静态路由的脚本,里面有两个函数:handle_file ()和handle_ip_file(),都是用来添加路由的,但两者对应不用的文件格式,即静态路由文件可以有两种不同的格式。

 

- 下面举例说明下如何在系统启动是自动加载静态路由,比如要给bond1接口添加静态路由,需要先创建文件:/etc/sysconfig/network-scripts/route-bond1,然后在文件里面添加如下行(举例):

10.140.0.0/15 via 10.9.214.1

另外一种格式同学们自己研究下,这里就不再赘述了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值