网络包在发送的时候,需要从本机的多个网卡设备中选择一个合适的发送出去。网络包在接收的时候,也需要进行路由选择,如果是属于本设备的包就往上层送到网络层、传输层直到 socket 的接收缓存区中。如果不是本设备上的包,就选择合适的设备将其转发出去。

在默认情况下,Linux 只有 local 和 main 两个路由表。如果内核编译时支持策略路由,那么管理员最多可以配置 255 个独立的路由表。如果你的服务器上创建了多个网络命名空间的话,那么就会存在多套路由表。以除了默认命名网络空间外,又创了了一个新网络命名空间的情况为例,路由表在整个内核数据结构中的关联关系总结如下图所示。

网关只能加路由条目里已有的路由网段里的一个IP (ping不通此IP都可以) 加网关不需要指定子网掩码
永久配置(如果机器有多张网卡,只需要一张网卡配置网关, 网关要与配置的网卡同网段)
qugaga https://blog.csdn.net/weixin_42348333/article/details/105314662
docker qugaga https://www.freesion.com/article/4678245458/
openwrt https://openwrt.org/