火山引擎云服务器实践教程-在Linux操作系统中调整rp_filter参数

axin 2025-04-08 13人围观 ,发现0个评论 火山引擎云服务器云服务器云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>

通过修改rp_filter参数配置服务器进行反向路径过滤的模式,可以帮助您防范IP地址欺骗等网络安全问题。
注意
若rp_filter参数配置不正确,可能会屏蔽源端IP导致网络无法连通。此外,加入反向路程校验,也可能导致数据包被丢弃。请谨慎评估后调整。

术语解释

关于rp_filter参数

rp_filter(Reverse Path Filtering,反向路径过滤)是Linux系统内核中的一个网络相关参数,定义了网卡对接收到的数据包进行反向路由的规则,通过反向路由校验帮助您验证进入网络设备(例如路由器、防火墙、服务器等具备网络接口的设备)的数据包的合法性。取值:
  • 0:关闭反向路由校验,不进行源地址验证。

  • 1:开启严格的反向路由校验,若接收该数据包的接口并非最佳反向路径,那么数据包检查将失败,默认情况下,失败时会丢弃数据包。

  • 2:开启宽松的反向路由校验,如果无法通过任何接口到达源地址,那么数据包检查将失败。

反向路由校验

反向路由校验是针对进入网络设备的数据包进行的验证。当一个数据包到达网络设备的某个网络接口时,设备会根据该数据包的源IP地址反过来查找其路由表,确定如果要利用这个源IP地址返回数据包(也就是回包路径)应该使用哪个网络接口。如果查找出的回包路径对应的网络接口和该数据包实际进入设备的网络接口不一致,那就意味着这个数据包可能存在问题,有可能是被伪造的数据包,此时就可以根据相应策略对该数据包进行处理。

操作场景

  • 多网卡服务器

在多网卡场景下,可以借助rp_filter参数引导数据包按照预期的网卡进出,避免数据包在不同网卡接口间形成循环。
  • 防范IP欺骗攻击

在连接互联网的服务器或主机上,通过合理配置rp_filter参数检查入站数据包的源IP地址,可以丢弃声称来自某个网络接口对应的子网,但实际却是从其他非预期接口进入的数据包,避免遭遇IP欺骗。
  • 过滤异常流量

在DDoS攻击场景下,攻击者常伪造源IP地址发送海量数据包,通过合理配置rp_filter参数检查入站数据包的源IP对应的出站路径,可以丢弃部分伪造源IP的异常数据包,减少流入服务器的无效流量。
  • 非对称路由或其他复杂路由

使用非对称路由或其他复杂路由场景下,可以配置rp_filter参数为较为宽松的值(例如:1或2),避免正常数据包被丢弃。

操作步骤

rp_filter参数参数支持全局(all)、按网卡两种方式进行配置。
注意
各网卡上实际生效值为全局(all)配置与该网卡配置的最大值。例如:配置全局rp_filter参数值为1,配置eth0网卡rp_filter参数值为2。此时,eth0网卡上rp_filter参数实际生效值为2。

配置全局参数

本方式配置的全局参数可以将相同的反向路径过滤模式应用到所有网卡,实现批量管理。

通过proc接口配置

本方式可在操作系统运行过程中临时更改参数,每次重启实例后都需要重新配置。
  1. 登录目标实例。操作详情可查看登录Linux实例。

  1. 执行如下命令,查看全局rp_filter参数值。

cat /proc/sys/net/ipv4/conf/all/rp_filter
 回显示例:

  1. 执行如下命令,配置rp_filter参数值。

echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
说明
请将1替换为业务所需的实际值,详情可参考关于rp_filter参数。


通过net_rp_filter.conf文件配置

本方式可在操作系统运行过程中永久修改参数值,重启实例后无需再次配置。
  1. 登录目标实例。操作详情可查看登录Linux实例。

  1. 执行如下命令,查看当前配置值。

sysctl net.ipv4.conf.all.rp_filter
回显示例:

  1. 修改rp_filter参数值。

    1. 执行如下命令,新建net_rp_filter.conf文件。

vim /etc/sysctl.d/net_rp_filter.conf
    1. 按i键进入编辑模式,在文末添加如下内容。

net.ipv4.conf.all.rp_filter = 1
说明
请将1替换为业务所需的实际值,详情可参考详情可参考关于rp_filter参数。
    1. 按Esc键退出编辑模式,输入:wq按回车键,保存并退出文件。

  1. 执行如下命令,使配置生效。

sysctl -p /etc/sysctl.d/net_rp_filter.conf
回显示例:

为特定网卡配置

本方式可以为指定的网卡配置参数值,不影响其他网卡的反向路径过滤模式。

通过proc接口配置

本方式可在操作系统运行过程中临时更改参数,每次重启实例后都需要重新配置。
  1. 登录目标实例。操作详情可查看登录Linux实例。

  1. 执行如下命令,查看eth0网卡的参数值。

cat /proc/sys/net/ipv4/conf/eth0/rp_filter
说明
请将eth0替换为实际网卡名。
回显示例:

  1. 执行如下命令,配置rp_filter参数值。

echo 1 > /proc/sys/net/ipv4/conf/eth0/rp_filter
说明
  • 请将1替换为业务所需的实际值,详情可参考关于rp_filter参数。

  • 请将eth0替换为实际网卡名。


通过net_rp_filter.conf文件配置

本方式可在操作系统运行过程中永久修改参数值,重启实例后无需再次配置。
  1. 登录目标实例。操作详情可查看登录Linux实例。

  1. 执行如下命令,查看当前配置值。

sysctl net.ipv4.conf.eth0.rp_filter
说明
请将eth0替换为实际网卡名。
回显示例:

  1. 修改rp_filter参数值。

    1. 执行如下命令,新建net_rp_filter.conf文件。

vim /etc/sysctl.d/net_rp_filter.conf
    1. 按i键进入编辑模式,在文末添加如下内容。

net.ipv4.conf.eth0.rp_filter = 1
说明
  • 请将1替换为业务所需的实际值,详情可参考详情可参考关于rp_filter参数。

  • 请将eth0替换为实际网卡名。

    1. 按Esc键退出编辑模式,输入:wq按回车键,保存并退出文件。

  1. 执行如下命令,使配置生效。

sysctl -p /etc/sysctl.d/net_rp_filter.conf
回显示例:


请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯