iproute2高级路由命令集.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iproute高级路由相关知识 文档编号:00-6201-100 当前版本:1.0.0.0 创建日期:2011-8-17 编写作者:ganjingwei 基本命令 显示链路: ip link list 显示地址: ip address show 显示路由: ip route show route –n 显示ARP映射表: ip neigh show 删除ARP缓存: ip neigh delete [IP] dev [dev] 显示路由表规则优先顺序: ip rule list 显示指定的路由表: ip route list table [table name] 增加新的路由表 ip rule add from [IP] table [table name] 为路由表增加表项 ip route add [IP/defaulte] via [src IP] dev [dev] table [table name] 刷新路由缓存 ip route flush cache 负载均衡 ip route add [IP/default] scope [scope/global] nexthop via [gateway] dev [dev] weight [weight] nexthop …… 具体应用 对某个LAN 口发出来到WAN 侧的数据包,查找路由使用已创建的路由表 1 标记数据包 ebtables -t broute -A BROUTING -i eth0 -j mark --set-mark 0x1 2 创建路由表ID (由于broadcom这个平台比较特殊,路由表ID的文件不同于我的虚拟机,也不同于网上其他资料所叙述的情况。它在/etc/iproute2/目录下只有一个指向/var/iproute2/rt_tables的软链接文件,而/var/iproute2/rt_tables要我们自己创建,事先不存在。我猜想是要经过某些配置,比如网页配置了高级路由功能以后,这个文件才会被创建,这个等待后续学习来证实。现在我们只有手动创建。) mkdir /var/iproute2/ echo 201 gjw /etc/iproute2/rt_tables 3 创建路由表 ip rule add fwmark 0x1 table gjw 4 确定已创建路由表 ip rule ls/list 5 添加表项 ip route add default dev ppp0.1 table gjw 总结 关于ebtables 经过最近的使用和学习,我对ebtables有了一定程度的了解。 首先,ebtables工作在网络协议层次结构中的二层——数据链路层。经过函数跟踪,我发现,ebtables原理和iptables的原理相同。iptables利用三层处理流程中的诸多HOOK点过滤、更改、操作数据包。而ebtables是利用二层处理中的HOOK点。原理相同,但是作用的位置不同。这也解释了之前看代码的时候,在看桥接代码中发现一些和三层Netfilter一样的一些宏。 其次,我跟踪了以上的 ebtables -t broute -A BROUTING -i eth0 -j mark --set-mark 0x1 这一条命令的结果,发现,数据包在经过BR_PRE_ROUTING以后,mark位发生了变化(如图3-1)。说明broute这个table中BROUTING点操作的位置在这里。这也解释了为什么ebtables可以在桥组以下识别接口,并配合高级路由。 图3-1 mark值发生了变化 关于高级路由 高级路由ip命令主要功能是对路由表、路由表项进行添加、删除、修改、查看。首先,使用ip rule add命令添加一个路由表的时候,需要在/etc/iproute2/rt_tables文件里面添加我们自己的路由表的ID。这个ID就是内核中fib_table_hash[]数组的下标,255是LOCAL表,254是MAIN表。 添加了路由表以后,还要配置,哪些条件的数据包,要查询这个路由表,这样才完成建立了一个路由表。 然后再试向路由表中添加表项。 内核中,创建了新路由表以后,net-ipv4.rules_ops中会添加新项目,从而在fib_rules_lookup函数中会找到这个表。

文档评论(0)

7ky170ms8 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档