• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > linux: ip rule 用法詳解

    linux: ip rule 用法詳解

    發布人:電子禪石 時間:2024-11-12 來源:工程師 發布文章

    策略路由

    我們不僅要根據目的地地址,還要根據其他數據包字段(源地址、IP 協議、傳輸協議端口甚至

    數據包有效負載)來不同地路由數據包。此任務稱為策略路由。Linux 策略路由是一種基于

    策略的路由機制,相對于傳統的基于目的地址的路由機制,它可以提供更靈活和強大的路由

    控制能力。


    在 Linux 中,策略路由通過使用路由策略數據庫(RPDB)來實現,它可以根據不同的源地址、

    傳輸層端口和 payload 等條件進行更細致的路由控制。


    每條策略路由的規則由一個選擇器和一個動作組成,RPDB 按照優先級順序進行規則匹配,

    優先級數字越小越優先。被選擇器匹配的報文會執行對應的操作,操作如果成功,

    則根據指定的路由轉發數據,之后終止 RPDB 匹配;如果執行失敗,則報錯并且終止 

    RPDB 匹配。否則 RPDB 將繼續執行下一條規則。


    在啟動時,內核配置默認的 RPDB,包括三個規則:


    優先級:0,選擇器:匹配任何內容,操作:查找路由表本地(ID 255)。

    本地表是一種特殊的路由表,包含本地和廣播地址的高優先級控制路由

    優先級:32766,選擇器:匹配任何內容,操作:查找路由表main(ID 254)。

    主表是包含所有非策略路由的常規路由表。此規則可以被刪除和/或由其他規則覆蓋管理員

    優先級:32767,選擇器:匹配任何內容,操作:查找路由表default(ID 253)。

    默認表為空。如果沒有先前的默認規則選擇數據包,則它將保留用于某些后處理。

    這條規則也可能將被刪除

    **注:**不要混淆路由表和策略:規則指向路由表,多個規則可以引用一個路由表,

    而且某些路由表可以策略指向它。如果系統管理員刪除了指向某個路由表的所有規則,

    這個表沒有用了,但是仍然存在,直到里面的所有路由都被刪除,它才會消失。


    linux 系統中,可以自定義從 1-252個路由表,其中,linux 系統維護了4個路由表:


    0#表: 系統保留表


    253#表: default table 沒特別指定的默認路由都放在該表


    254#表: main table 沒指明路由表的所有路由放在該表


    255#表: local table 保存本地接口地址,廣播地址、NAT地址 由系統維護,

    用戶不得更改

    每個 RPDB 條目都有附加屬性。每個規則都有一個指向某個路由表的指針。

    NAT 和偽裝規則有一個屬性來選擇要翻譯/偽裝的新 IP 地址。除此之外,

    規則還有一些可選的路由擁有的屬性,即領域。這些值不會覆蓋路由表中包含的值。

    它們僅在路由未選擇任何屬性時使用。


    RPDB 可能包含以下類型的規則:


    unicast:規則規定返回在規則引用的路由表中找到的路由

    blackhole:規則規定悄悄地丟棄數據包

    unreachable:規則規定生成“網絡不可達”錯誤

    prohibit:規則規定生成“管理禁止通信”錯誤

    nat:規則規定將IP數據包的源地址轉換為其他值

    ————————————————


                            




                            

                            

    原文鏈接:https://blog.csdn.net/qq_36803941/article/details/135534711


    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



    關鍵詞: linux

    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 鹿邑县| 磴口县| 克东县| 甘孜| 隆子县| 遂川县| 金昌市| 新郑市| 于田县| 炉霍县| 剑阁县| 乌兰浩特市| 镇原县| 玉田县| 剑川县| 闽侯县| 崇明县| 龙州县| 丹寨县| 绩溪县| 囊谦县| 临西县| 桓台县| 汽车| 青神县| 贵定县| 泸州市| 安西县| 岢岚县| 渝中区| 克拉玛依市| 麦盖提县| 家居| 南澳县| 舒城县| 乌拉特前旗| 长垣县| 深州市| 远安县| 丹巴县| 隆尧县|