Linux 路由表匹配原则

route -n 里面可以看到很多路由表信息,如:
在这里插入图片描述
从左到右:
Destination:跟右边的 Genmask 联动,做位与运算,得出来的子网码;

Gateway:下一条的网关。0.0.0.0 就是无所谓,只要保证从指定网卡出去就行。常用在内网(不需要路由,只需要交换机广播);

Genmask:子网运算的掩码了。比如 10.1.0.0/16 就是 11111111.11111111.00000000.00000000 也就是 255.255.0.0;

Flags:路由的标记。可以组合发挥作用。含义如下:
U (route is up):该路由是有效的;
H (target is a host):目标是一部主机 (IP) 而非网域;
G (use gateway):需要透过外部的主机 (gateway) 来转递封包(一般指向默认网关,参考上面的 10.0.0.102);
R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;
D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
M (modified from routing daemon or redirect):路由已经被修改了;
! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)

Metric:路由步数,可以理解是消耗数,越少越快抵达指定网络也就越好,但linux 内核中没有使用。

Ref:路由项正在被使用的进程数。

Use:通过此路由项的分组数。暂不明。

Iface:就是通过的网卡了。

**匹配规则是:**先找到最长匹配的 GenMask,也就是子网越详细就越优先。比如 10.10.0.0/16 要比 10.0.0.0/8 优先。
如果都匹配失败,则从 0.0.0.0 的默认路由丢出去(0.0.0.0与运算后可以认定是万能匹配)。

你可能感兴趣的:(杂七杂八笔记,linux,服务器,运维)