![接口接收到具有错误本地目的地的数据包](https://linux22.com/image/731592/%E6%8E%A5%E5%8F%A3%E6%8E%A5%E6%94%B6%E5%88%B0%E5%85%B7%E6%9C%89%E9%94%99%E8%AF%AF%E6%9C%AC%E5%9C%B0%E7%9B%AE%E7%9A%84%E5%9C%B0%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8C%85.png)
我想我的问题很简单。假设我有一个路由器或一台开启了路由的计算机。该设备有 2 个接口,可以看到两个网络。例如,192.168.0.2 eth0
和10.0.0.2 eth1
。本地我有 nginx 192.168.0.2:80
。我理解如果eth1收到带有目的地的数据包,192.168.0.3
它将被转发到eth0
。但是如果呢192.168.0.2:80
?它会被转发到 nginx 吗?还是会被丢弃?内核将使用什么规则来处理这种情况?
答案1
仅当 Eth1 是发送数据包的网关或跳转时,它才无法接收 192.168.0.2:80。在这种情况下,如果您在内核中启用了 IP 转发并伪装了接口,您将能够让流量通过接口 eth1 并最终到达目的地 192.168.0.2:80。