我用谷歌search了很多。 只logging了如何在Linux内核中启用IP转发,但不知道如何启用它。 我会感谢build议。
何时以及为什么我必须启用它? (例如,当我安装一个网桥,或者当使用iptables?或者当使用“路由添加”?)
(良好的联系表示赞赏,但我无法find一个。)
非常感谢你! 一月
当您希望系统充当路由器时,应该启用IP转发,即将IP数据包从一个networking传输到另一个networking。
在最简单的情况下,考虑一个带有两个物理以太网端口的服务器,这个端口可以连接到两个不同的networking(比如你的内部networking和DSL调制解调器提供的外部世界)。 如果只是连接和configuration这两个接口,则系统可以在任一networking上进行通信。 但是,来自一个networking的数据包不能传送到另一个networking,因为转发没有启用。
考虑“路由添加”的具体例子。 如果您有两个networking接口,您将至less添加两个路由,每个接口一个。 当内核考虑发送networking数据包的位置时,它将select最具体的适用路由,然后将其发送到该接口。
但是,如果转发closures,内核将首先检查数据包来自哪个接口。 如果它不是来自同一个接口,内核将丢弃它。
编辑 :首先请注意,您可以使用没有两个物理networking接口的路由器。 例如,如果您使用的是VLAN ,则您的服务器可以在vlans之间传输IP数据包,但只有一个物理networking接口。 这被称为单臂路由器 。 但是,对于最简单的情况是,你可以说,如果你只有一个物理networking接口,那么你不需要启用IP转发。
IP转发涉及在networking接口(实际或虚拟)之间传输数据包,所以我认为如果在同一networking上有两个接口,则必须启用IP转发才能允许数据包在接口之间移动。 但是由于这些接口已经在同一个networking上,所以在它们之间传输数据包似乎没有什么意义。
根据维基百科…
IP转发也称为Internet路由,是一个用于确定哪个path可以发送数据包或数据报的过程。 该过程使用路由信息来作出决定,并被devise为通过多个networking发送分组。 通常情况下,networking是由路由器相互分开的。
当您希望系统用作路由器时,它是必需的。 检查下面的链接,以确定IP转发的确切用途。 http://www.linuxjournal.com/content/linux-advanced-routing-tutorial ?