【網絡】Linux 內核優化實戰 - net.ipv4.conf.all.rp_filter

目錄

      • `net.ipv4.conf.all.rp_filter` 參數詳解
        • 一、參數基本概念
        • 二、參數取值及含義
        • 三、反向路徑過濾的工作原理
        • 四、配置示例與注意事項
        • 五、與其他參數的關聯
        • 六、總結

net.ipv4.conf.all.rp_filter 參數詳解

一、參數基本概念

net.ipv4.conf.all.rp_filter 是 Linux 內核中用于控制 反向路徑過濾(Reverse Path Filtering, RPF) 的網絡參數,作用于系統所有網絡接口。其值用于指定數據包源地址驗證的策略,核心目的是防范 IP 欺騙(IP Spoofing) 和異常路由導致的網絡問題。

二、參數取值及含義

該參數支持以下取值,不同值對應不同的驗證策略:

策略描述
0關閉反向路徑過濾。不驗證數據包的源地址是否可通過入接口反向路由到達,安全性較低,但可能解決某些異常路由場景下的通信問題。
1嚴格模式(默認值)。驗證數據包的源地址必須能通過入接口反向路由到達(即從入接口出發,能通過路由表找到源地址所在的路徑),否則丟棄數據包。
2寬松模式。驗證數據包的源地址能通過系統任意接口反向路由到達(不局限于入接口),只要存在一條有效路徑即允許通過,靈活性較高但安全性略低于嚴格模式。
三、反向路徑過濾的工作原理
  1. 核心邏輯
    當網絡接口接收數據包時,RPF 會檢查數據包的源 IP 地址是否可從 入接口 反向路由到達(嚴格模式)或從 任意接口 反向路由到達(寬松模式)。若無法路由,則認為該數據包可能是偽造的(如源地址欺騙)或路由異常,從而丟棄數據包。

  2. 典型應用場景

    • 防范 IP 欺騙:阻止攻擊者使用偽造源地址(如內網地址、公網其他主機地址)發送的數據包,避免服務器被欺騙或成為攻擊跳板。
    • 優化路由正確性:確保數據包的源地址符合正常路由邏輯,減少因錯誤路由導致的網絡異常(如路由黑洞、流量繞行)。
四、配置示例與注意事項
  1. 臨時修改(生效至系統重啟)

    # 設置為嚴格模式(默認值)
    sysctl -w net.ipv4.conf.all.rp_filter=1# 設置為寬松模式
    sysctl -w net.ipv4.conf.all.rp_filter=2# 關閉反向路徑過濾(不建議生產環境使用)
    sysctl -w net.ipv4.conf.all.rp_filter=0
    
  2. 永久修改(修改配置文件)
    編輯 /etc/sysctl.conf,添加或修改以下行,然后執行 sysctl -p 生效:

    net.ipv4.conf.all.rp_filter = 1  # 嚴格模式
    
  3. 注意事項

    • 與網絡拓撲的兼容性:若網絡存在 NAT(網絡地址轉換)多宿主主機(多網卡)或 非對稱路由(入站和出站路徑不同),嚴格模式可能導致數據包被誤判丟棄。此時可嘗試調整為寬松模式(值為2)。
    • 接口級配置優先級:若需要對特定接口單獨配置,可修改 net.ipv4.conf.${接口名}.rp_filter(如 eth0),其優先級高于 all 配置。
    • 安全與性能平衡:關閉 RPF(值為0)會降低系統安全性,僅建議在測試環境或明確需要繞過驗證的場景中使用。
五、與其他參數的關聯
  • net.ipv4.conf.default.rp_filter:對未顯式配置的新接口生效,all 配置優先級高于 default
  • net.ipv4.conf.${接口}.rp_filter:針對單個接口的獨立配置,優先級最高。
  • net.ipv4.route.flush:路由表變更時可能影響 RPF 驗證結果,需確保路由表與 RPF 策略一致。
六、總結

net.ipv4.conf.all.rp_filter 是 Linux 網絡安全的重要防線,通過合理配置可有效防范 IP 欺騙,同時需根據網絡實際拓撲(如是否存在 NAT、多路徑路由)調整策略模式,在安全性和網絡連通性之間取得平衡。生產環境中建議優先使用嚴格模式(值為1),并結合具體場景優化配置。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87155.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87155.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87155.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ElementUI el-select多選下拉框,回顯數據后無法重新選擇和修改

問題 ElementUI el-select多選下拉框,回顯數據后無法重新選擇和修改,點擊選擇和刪除都沒有反應,頁面也沒有報錯 方案一 網上搜出來的基本上都是這個解決辦法,但是我設置后沒有生效,還是無法選擇和修改 原因 下拉框數…

計算機視覺的新浪潮:擴散模型(Diffusion Models)技術剖析與應用前景

近年來,擴散模型(Diffusion Models, DMs)迅速崛起,成為計算機視覺領域最令人矚目的生成模型之一。從生成高質量圖像到風格遷移、圖像修復,再到文本驅動圖像生成(如 DALLE 2、Stable Diffusion、Midjourney&…

「Java流程控制」跳轉語句

今天來聊聊Java里的兩個重要跳轉語句——break和continue。它們就像馬路上的交通信號燈,能夠控制程序執行的流向。 break和continue break和continue在循環中的作用,特別像快遞分揀中心的工作場景: break:就像發現一個破損包裹,直接停止當前分揀流程,把它扔進異常品處理…

R1-Searcher使用強化學習增強語言模型解決問題的搜索能力

R1-Searcher:Incentivizing the Search Capability in LLMs via Reinforcement Learning 2025.3 https://github.com/RUCAIBox/R1-Searcher 針對的問題: 現有大型推理模型在時間敏感或知識密集型問題上通常僅使用模型內部知識,導致回答不準…

C++中的虛函數與純虛函數

文章目錄 虛函數 (Virtual Function)純虛函數 (Pure Virtual Function)主要區別實際應用示例 C中的虛函數和純虛函數是實現多態性的重要機制。 虛函數 (Virtual Function) 虛函數是在基類中用virtual關鍵字聲明的函數,它允許派生類重寫(override)該函數的實現。當…

(LeetCode 每日一題) 3330. 找到初始輸入字符串 I (字符串)

題目:3330. 找到初始輸入字符串 I 思路:字符串,時間復雜度0(n)。 默認沒有輸錯的情況ans1,而輸錯的情況,只會出現在連續相等字符串,假設這段字符串長度為ct,那么可能的情況為ct-1。累計這些和到…

Deep semi-supervised learning for medical image segmentation: A review

概述 醫學圖像分割的重要性:它是計算機輔助診斷(CAD)的關鍵部分,能幫助醫生定位病變、評估治療效果,減輕醫生工作量。 深度學習技術的應用:U-Net等網絡在醫學圖像分割中表現優異,近期大型視覺語…

[云上玩轉Qwen3系列之四]PAI-LangStudio x AI搜索開放平臺 x ElasticSearch: 構建AI Search RAG全棧應用

本文詳細介紹了如何使用 PAI-LangStudio 和 Qwen3 構建基于AI搜索開放平臺 x ElasticSearch 的 AI Search RAG 智能檢索應用。該應用通過使用 AI 搜索開放平臺、ElasticSearch 全文檢索向量檢索引擎的混合檢索技術配合阿里云最新發布的 Qwen3 推理模型編排在一個 Agentic Workf…

前端請求瀏覽器提示net::ERR_UNSAFE_PORT的解決方案

起因 項目中后端給到了6666端口的服務地址, 隨即前端項目訪問中瀏覽器報錯如下: 不安全端口在主流瀏覽器(Chrome/Firefox/Edge/Safari)中會被攔截,觸發瀏覽器Network的status列顯示 net::ERR_UNSAFE_PORT 錯誤, 以下是常見的不安全端口一覽…

【Bluedroid】藍牙設備管理器初始化全流程深度解析(BTA_dm_on_hw_on)

本文全面剖析Android藍牙設備管理器在硬件啟動時的初始化流程,涵蓋控制塊創建、服務發現啟動、設備類配置、安全密鑰加載、超時參數設置等核心環節。通過分析從底層硬件交互到上層服務注冊的全鏈路調用,揭示藍牙系統從硬件就緒到功能可用的完整啟動機制&…

大語言模型:是逐字生成還是一次多詞?

大語言模型(LLM)既可以按順序逐個生成單詞(token),也能實現一次生成多個 token 核心差異源于解碼策略與模型架構設計 一、常規“逐個生成”模式(基礎邏輯) 多數入門級演示或簡單文本生成中,LLM 會默認按 “生成一個 token → 拼接回輸入 → 再生成下一個” 的流程,…

通俗易懂的LangGraph圖定義解析

LangGraph 是一個基于狀態的工作流框架,它通過 節點(Nodes) 和 邊(Edges) 的組合,構建出復雜的工作流邏輯。這種設計特別適合處理需要動態決策、循環、多步驟交互的場景(比如對話系統、智能代理…

K8s Pod調度基礎——2

目錄 一、Deployment ?一、Deployment 原理? ?二、核心特性? ?三、意義與場景? ?四、示例與逐行解釋? ?五、總結? StatefulSet ?一、StatefulSet 原理? ?二、核心特性? ?三、意義與場景? ?四、示例與逐行解釋? ?五、總結? 彼此的區別 一、本質…

Java 大視界 -- Java 大數據在智能醫療健康管理中的慢性病風險預測與個性化干預(330)

Java 大視界 -- Java 大數據在智能醫療健康管理中的慢性病風險預測與個性化干預(330) 引言:正文:一、Java 構建的醫療數據融合平臺(多源數據安全打通)1.1 分布式醫療數據集成系統(符合 HIPAA 與…

beego打包發布到Centos系統及國產麒麟系統完整教程

1、先清除go緩存,用下面命令 go clean -cache go clean -modcache 2、更新庫文件 go mod tidy 3、安裝beego go install github.com/beego/bee/v2latest 4、查看bee版本 5、進行打包然后傳到Centos和麒麟服務器如下代碼 bee pack -be GOOSlinux -be GOARCHa…

Instagram和facebook廣告對比解析

一、平臺用戶畫像對比 用戶基礎數據 (1)活躍用戶規模 Instagram:20億MAU,以年輕群體為主力 Facebook:29億MAU,覆蓋全年齡段用戶 (2)核心用戶特征 Instagram: ? 25-3…

[MIA 2025]CLIP in medical imaging: A survey

論文網址:CLIP in medical imaging: A survey - ScienceDirect 項目頁面:github.com 英文是純手打的!論文原文的summarizing and paraphrasing。可能會出現難以避免的拼寫錯誤和語法錯誤,若有發現歡迎評論指正!文章偏…

Python通訊錄系統實戰教程

具體介紹見 通訊錄管理系統設計與實現(C)-CSDN博客 class Person:def __init__(self, name"", sex0, age0, phone"", addr""):self.m_name name # 姓名self.m_Sex sex # 性別(1-男,2-女…

蝦米壁紙分類頁面代碼

<template> <view class"wallpaper-category"> <custom-nav-bar title"分類列表"></custom-nav-bar> <!-- 分類展示 --> <scroll-view scroll-y class"category-scroll-view"> <view cl…

K8s-pod 調度基礎

目錄 Replication Controller&#xff08;RC&#xff09; 概念 關鍵字段 Replica Set&#xff08;RS&#xff09; 概念 關鍵字段 RC 與 RS 的區別 無狀態應用管理Deployment 無狀態應用&#xff08;Stateless Application&#xff09; 什么是無狀態&#xff1f; 無狀…