Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.3. 使用带有多个接口的 PTP

当将 PTP 与不同网络中的多个接口一起使用时,需要将反向路径转发模式改为松散模式。Red Hat Enterprise Linux 7 默认按照 RFC 3704(Ingress Filtering for Multihomed Networks )中的 Strict Reverse Path 推荐使用 Strict Reverse Path 转发。如需了解更多详细信息,请参阅 Red Hat Enterprise Linux 7 安全指南中的 Reverse Path Forwarding 部分。

sysctl 实用程序用于为内核中的可调项读取和写入值。可以使用命令行上的 sysctl 命令直接对正在运行的系统进行更改,并通过向 /etc/sysctl.conf 文件添加行来进行永久性更改。

  • 要全局更改为松散模式过滤,以 root 用户身份输入以下命令:

    ~]# sysctl -w net.ipv4.conf.default.rp_filter=2
    ~]# sysctl -w net.ipv4.conf.all.rp_filter=2
  • 要更改每个网络接口的反向路径过滤模式,请在所有 PTP 接口 上使用 net.ipv4. interface.rp_filter 命令。例如,对于设备名称为 em1 的接口:

    ~]# sysctl -w net.ipv4.conf.em1.rp_filter=2

要使这些设置在重新引导后保留,请修改 /etc/sysctl.conf 文件。您可以更改所有接口或特定接口的模式。

要更改所有接口的模式,请使用以 root 用户身份运行的编辑器打开 /etc/sysctl.conf 文件,并添加一行,如下所示:

net.ipv4.conf.all.rp_filter=2

要只更改某些接口,请以以下格式添加多行:

net.ipv4.conf.interface.rp_filter=2
注意

使用所有接口和特定接口的设置时,将对每个接口进行源验证时使用来自 conf/{all,interface}/rp_filter 的最大值。

您还可以使用默认设置来更改模式,这意味着它仅适用于新创建的接口。

有关使用 sysctl 参数中的所有 默认 或特定设备设置的更多信息,请参阅红帽知识库文章" 所有"、"default"和 sysctl 参数中的特定设备有什么区别?

请注意,由于在引导过程中运行 sysctl 服务的时间,您可能遇到两种类型的问题:

  1. sysctl 服务运行前会载入驱动程序。

    在这种情况下,受影响的网络接口使用内核中预先设置的模式,并且忽略 sysctl 的默认值。

    有关此问题的解决方案,请查看红帽知识库文章"所有"、"默认"和 sysctl 参数中的特定设备有什么区别?

  2. sysctl 服务运行后会加载或重新加载驱动程序。

    在这种情况下,重启后可能不会使用一些 sysctl.conf 参数。这些设置可能不可用,或者它们可能返回默认值。

    要解决这个问题,请参阅 Red Hat 知识库文章在重启后不会使用一些 sysctl.conf 参数,手动调整设置可以正常工作