`
- 浏览:
6198881 次
-
使用iproute2配置force-onlink路由
有时候在系统上配置一个32位掩码的IP地址是不错的,这样一来可以使系统路由表瘦身,二来可以防止显式路由之外的主机和本系统通信。这个怎么说呢?通过配置一个32位掩码的IP地址,就会发现在路由表的main表中,少了该地址的直连路由,因为它是32位的,本身不表征不携带任何网络,在路由表的local表中,少了该地址表征的网段的广播路由,因为它不表征任何网段,因此除非你显式地配置一条路由,否则该地址应该可以被看作是孤立的了。
在单网卡机器上,如果配置eth0的地址为192.168.40.249/32,那么别指望用常规的方式添加任何路由,这是因为链路层直连路由已经不存在了,我们如下的尝试:
route add -net 192.168.0.0/16 gw 192.168.40.254
将失败,因为网关地址并不和本地地址同在任何一个网段,那么如何是好呢?Linux的iproute2工具包提供了一个onlink参数,可以满足这样的要求:
ip route add 172.16.0.0/16 via 192.168.40.254 dev eth0 onlink
之所以要指明dev参数是因为没有链路层直连路由,因而协议栈根本不知道从哪个网卡发出数据包,必须显式指明才可以,最后的一个onlink参数表明强制此网关是“在链路上”的(虽然并没有链路层路由)。除了路由之外的所有访问都将以“路由不可达”这种错误而告终。
按照上述的配置,即使你访问192.168.40.0/24网段的,也会失败,因为192.168.40.249/32和谁都不在一个网段。那么onlink能表达什么呢?onlink的意义在于协议栈虽然找不到链路层直连路由,但是还是会发布针对via网关的arp请求的,仅此而已。如此一来,这种网络通信显得更加纯粹些。仅仅就是为了通信,不会因为通信本身而造出一个IP网段来。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
iproute2 的2.6版本! 用于linux下的源码包
三层技术-IP路由配置指导-路由策略配三层技术-IP路由配置指导-路由策略配
离线安装包,亲测可用
离线安装包,亲测可用
IP路由原理-静态路由配置 IP路由原理-静态路由配置.ppt
三层技术-IP路由配置指导-整本手册
华为USG2100防火墙配置文档-配置IP-Link.pdf
离线安装包,亲测可用
Cisco配置-IP-SLA-路由联动
iproute2高级路由命令集
IP网络路由技术--常见路由相关知识全解,有兴趣的同道中人看看,或许对你有帮助
传统的linux下配置路由的工具是route,而实现策略性路由配置的工具是iproute2工具包。
S9300系列T比特核心路由交换机配置指南-IP路由
CentOS7操作系统已经默认采用iproute2工具集中的网络工具了,自己学习时也走了不少弯路,偶尔发现这篇文章总结的很好,分享给大家。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
使用iptables配合iproute2做策略路由
# cd iproute2_fq-pie # ./install.sh # tc qdisc show dev eth0 # tc qdisc add dev eth0 root fq_pie limit 100 # tc qdisc change dev eth0 root fq_pie limit 200 target 10ms # tc qdisc del dev eth0 root
iproute2-3.3.0.tar.bz2 qca9531
H3C-三层技术-IP路由配置指导-整本手册