linux – IP Forwarding =何时以及为什么需要这样做?

我用谷歌搜索了很多.它只记录了如何在 Linux内核中启用IP转发,但没有记录何时以及为什么我必须启用它.我会感谢你的建议.

何时以及为何必须启用它? (例如,当我安装网桥?,或者使用iptables?或使用路由添加时?)

(很好的链接值得赞赏,但我找不到.)

非常感谢你!

一月

解决方法

当您希望系统充当路由器时,应启用IP转发,即将IP数据包从一个网络传输到另一个网络.

在最简单的情况下,请考虑具有两个物理以太网端口的服务器,该端口旨在连接到两个不同的网络(比如您的内部网络和DSL调制解调器提供的外部世界).如果您只是连接并配置这两个接口,则系统可以在任一网络上进行通信.但是,来自一个网络的数据包无法传输到另一个网络,因为未启用转发.

考虑’route add’的具体示例.如果您有两个网络接口,则将至少添加两个路由,每个路由一个.当内核考虑在何处发送网络数据包时,它将选择最具体的适用路由,然后将其发送到该接口.

但是,如果关闭转发,内核将首先检查数据包来自哪个接口.如果它不是来自同一个接口,内核将丢弃它.

编辑:首先请注意,您可以使用没有两个物理网络接口的路由器.例如,如果您使用的是VLANs,则您的服务器可以在vlan之间传输IP数据包,但只有一个物理网络接口.这称为one-armed router.但是对于最简单的情况,您可以说如果您只有一个物理网络接口,则不需要启用IP转发.

IP转发涉及在网络接口(真实或虚拟)之间传输数据包,因此我认为如果在同一网络上有两个接口,则必须启用IP转发以允许数据包在接口之间移动.但是,由于接口已经在同一网络上,因此在它们之间传输数据包似乎没有多大意义.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...