一般在多网卡的网络访问关系中我们通常根据目标 IP 地址段来添加静态路由表,这个需求一般都比较简单也不需要使用非常复杂的命令,说实话如果不是因为开发测试中心同事@谢恒的乱入启发,我也不会发现还有这样一种灵活通用的配置方法来实现 Linux 多网卡多路由的设定,灰常感谢。
rt_tables 是一种更加简单灵活的动态路由实现方法
2015 年 12 月 17 日 - 初稿
阅读原文 - http://wsgzao.github.io/post/iproute2/
扩展阅读
通常我们维护静态路由表会手工填写所有 IP 地址段的路由规则,使用命令直接临时生效或者写入配置文件永久生效,先以 Windows 和 Linux 常用命令行方法为例
--Windows 静态路由
--键入 route -p add [目标] [mask <网络掩码>] [网关] [metric <度量值>] [if <接口>]
route print
route delete
route -p add 172.16.19.0 mask 255.255.255.0 198.15.0.1
注意关闭 windows 防火墙
#Linux 静态路由
--RHEL
vi /etc/sysconfig/network
default via 192.168.3.1 dev eth0
10.211.6.0/24 via 192.168.3.1 dev eth0
10.0.0.0/8 via 10.212.52.1 dev eth1
--SuSE
vi /etc/sysconfig/network/routes
default 192.168.3.1 - -
10.0.0.0 10.212.52.1 255.0.0.0 eth1
10.211.6.0 192.168.3.1 255.255.255.0 eth0
这种办法针对少量的规则还可以轻松应对,但规则一旦增加麻烦也就接踵而至,网段地址不断变化就必须及时更新路由表,否则其他用户就无法访问。如果可以根据用户访问进来的路径设定动态路由就会方便很多,而 rt_tables 就是为此而生。
1
extreme 2015-12-17 13:38:50 +08:00 1
#刷新 net_192 路由表
说清空不是更好理解吗? #添加回环地址 真可笑,这句话什么意思 为什么不说添加一个路由规则到 net_192 表,这条规则是 net_192 这个路由表中数据包默认使用源 IP 172.31.192.201 通过 ens4f0 走网关 172.31.192.254 。 #从 172.31.192.201 过来的,走 net_192 路由 为什么不说来自 172.31.192.201 的数据包,使用 net_192 路由表的路由规则 写教程不解释每个命令各个参数及其作用,就丢个稀里糊涂的介绍,是你不知道还是你觉得大家都知道? 你这样配写教程文章吗? |
2
extreme 2015-12-17 13:40:20 +08:00
一时激动说多了,等被喷。
|
3
julyclyde 2015-12-17 14:21:48 +08:00
lz 还没搞清楚输入命令和编辑文件的重大区别呢,居然把 windows 里键入命令和 Linux 里编辑文件相提并论
|
4
jasontse 2015-12-17 14:24:03 +08:00 via iPad
原来动态路由是这意思啊,大开眼界。
那策略路由是什么呢? |
5
wsgzao OP @extreme 我写出来就是要不断学习和完善,我没有说自己的理解是准确的,我相信大家的知识面比我更广更有说服力
|
7
e1eph4nt 2015-12-17 17:34:32 +08:00
1. 这是策略路由
2. iproute2 命令跟 route 命令混用很奇怪,建议都用 iproute2 |
10
wsgzao OP |
11
dandycheung 2015-12-18 15:52:17 +08:00
赞楼主的态度。
|