数据包如何在接口之间转发

数据包如何在接口之间转发

我对这个话题理解有困难。

我了解iptables数据包流以及kernel hooks

不考虑iptables规则,只需net.ipv4.ip_forward启用并将 iptables 清空。

假设主机有两个 NIC。第一个在192.168.0.0/24网络中,第二个在10.10.0.0/24。数据包到达 IP 为 的第一个 NIC 10.10.0.3

我的问题是内核如何确定将数据包路由到哪里?它是否只检查路由表?如果它找到与此地址对应的路由条目,则它会获取 NIC 名称并将此数据包转发到特定 NIC?它存储在内核 RAM 中/proc/net/route,但实际上在内核 RAM 中?但如果没有这样的路由,它会检查 NIC(接口),即使表中有网络路由条目,其中一个接口也可能具有特定 IP?

我对吗 ?

相关内容