我对这个话题理解有困难。
我了解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?
我对吗 ?