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
服务的时间,您可能遇到两种类型的问题:
在
sysctl
服务运行前会载入驱动程序。在这种情况下,受影响的网络接口使用内核中预先设置的模式,并且忽略
sysctl
的默认值。sysctl
服务运行后会加载或重新加载驱动程序。在这种情况下,重启后可能不会使用一些
sysctl.conf
参数。这些设置可能不可用,或者它们可能返回默认值。要解决这个问题,请参阅 Red Hat 知识库文章在重启后不会使用一些 sysctl.conf 参数,手动调整设置可以正常工作。