Linux 路由

Linux路由表

  • 一:查看路由
  • 二:添加路由
  • 三:刪除路由
  • 四:路由測試
  • 五:路由選擇機制
    • 1.路由表
    • 2.路由匹配機制
    • 3.策略路由
  • 示例
    • 1.多網卡分流
    • 2.VPN分流
    • 3.雙默認路由負載均衡

一:查看路由

# 查看 main 表
ip route show# 查看所有路由表
ip route show table all# 查看特定表(如表 100)
ip route show table 100

二:添加路由

# 添加默認路由(網關為 192.168.1.1)
ip route add default via 192.168.1.1 dev eth0
route add default gw 192.168.1.1 dev lan1# 添加特定子網路由(目標 10.0.0.0/24,網關 10.0.0.1)
ip route add 10.0.0.0/24 via 10.0.0.1 dev eth1
route add -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.6.1 dev lan5# 指定路由的 metric(優先級)
ip route add default via 192.168.1.1 dev eth0 metric 100
route add -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.6.1 dev lan5 metric 100

三:刪除路由

# 刪除默認路由(網關為 192.168.1.1)
ip route del default via 192.168.1.1 dev eth0
route del default gw 192.168.1.1 dev lan1# 添加特定子網路由(目標 10.0.0.0/24,網關 10.0.0.1)
ip route del 10.0.0.0/24 via 10.0.0.1 dev eth1
route del -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.6.1 dev lan5# 指定路由的 metric(優先級)
ip route del default via 192.168.1.1 dev eth0 metric 100
route del -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.6.1 dev lan5 metric 100

四:路由測試

# 查看目標 IP 8.8.8.8 的路由選擇路徑
ip route get 8.8.8.8

五:路由選擇機制

Linux 的網絡路由選擇機制基于 路由表(Routing Table) 和 策略路由(Policy-Based Routing)。

1.路由表

Linux 內核維護多個路由表(默認最多 255 張),每張表包含一組路由規則。常用路由表:

  1. main 表:默認路由表,用戶通過 ip route 或 route 命令配置的路由在此表中。
  2. local 表:存儲本地網絡接口的地址和廣播路由,由內核自動管理。
  3. default 表:用于默認路由(優先級最低)。
  4. 自定義表:可通過策略路由規則定義。

2.路由匹配機制

當數據包需要發送時,內核按以下步驟選擇路由:

  1. 最長前綴匹配:優先匹配目標地址最具體的路由(子網掩碼最長)。
    例如,目標 IP 為 192.168.1.100,路由表中同時存在 192.168.1.0/24 和 192.168.0.0/16,則選擇 192.168.1.0/24。
  2. 路由優先級:若多條路由前綴長度相同,按優先級(metric 值)選擇,metric 越小優先級越高。
  3. 默認路由:若無匹配路由,使用 default 路由(目標 0.0.0.0/0)。

3.策略路由

允許根據源 IP、服務類型(ToS)、接口等條件選擇不同的路由表。常用于多網卡、VPN 分流等場景。

  1. 創建自定義路由表
    編輯 /etc/iproute2/rt_tables,添加自定義表:
# 添加表 ID 和名稱
100     custom_table
  1. 定義策略規則
# 根據源 IP 選擇路由表
ip rule add from 192.168.1.100 lookup custom_table# 根據目標 IP 選擇路由表
ip rule add to 10.0.0.0/24 lookup custom_table# 查看所有策略規則
ip rule show
  1. 在自定義表中添加路由
ip route add default via 10.0.0.1 dev eth2 table custom_table

示例

1.多網卡分流

需求:從 eth0 訪問公網,從 eth1 訪問內網 10.0.0.0/24

ip route add default via 公網網關 dev eth0
ip route add 10.0.0.0/24 via 10.0.0.1 dev eth1

2.VPN分流

需求:僅特定流量(如訪問 172.16.0.0/16)走 VPN 接口 tun0。

ip route add 172.16.0.0/16 dev tun0

3.雙默認路由負載均衡

# 添加兩條默認路由并啟用負載均衡
ip route add default via 192.168.1.1 dev eth0 metric 100
ip route add default via 10.0.0.1 dev eth1 metric 100

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

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

相關文章

x-cmd install | brows - 終端里的 GitHub Releases 瀏覽器,告別繁瑣下載!

目錄 核心功能與優勢安裝適用場景 還在為尋找 GitHub 項目的特定 Release 版本而苦惱嗎?還在網頁上翻來覆去地查找下載鏈接嗎?現在,有了 brows,一切都將變得簡單高效! brows 是一款專為終端設計的 GitHub Releases 瀏覽…

Vue多地址代理端口調用

第一種方法 config.ts文件 配置多條代理服務端口 如下所示:proxy: {/app: {// 其他的端口target: http://125.124.5.117:12877/,changeOrigin: true}/api: {//默認的端口// http://192.168.31.53:5173/target: http://192.168.31.199:18777/,changeOrigin: true,rewrite: pat…

青少年編程與數學 02-018 C++數據結構與算法 10課題、搜索[查找]

青少年編程與數學 02-018 C數據結構與算法 10課題、搜索[查找] 一、線性搜索(Linear Search)原理實現步驟代碼示例(C)復雜度分析優缺點 二、二分搜索(Binary Search)原理代碼示例(C)…

Linux操作系統從入門到實戰(三)Linux基礎指令(上)

Linux操作系統從入門到實戰(三)Linux基礎指令(上) 前言一、ls 指令二、pwd三、cd四、touch 指令五、mkdir六、rmdir 指令和 rm 指令七、man 指令八、cp九、mv 指令十、cat 指令十一、 more 指令十二、less 指令十四、head 指令十五…

Java對象轉換的多種實現方式

Java對象轉換的多種實現方式 在Java開發中,對象轉換是一個常見的需求。特別是在不同層次間傳遞數據時,通常需要將一個對象轉換為另一個對象。雖然JSON序列化/反序列化是一種常見的方法,但在某些場景下可能并不是最佳選擇。本文將總結幾種常見…

頭歌實訓之索引

🌟 各位看官好,我是maomi_9526! 🌍 種一棵樹最好是十年前,其次是現在! 🚀 今天來學習C語言的相關知識。 👍 如果覺得這篇文章有幫助,歡迎您一鍵三連,分享給更…

Rundeck 介紹及安裝:自動化調度與執行工具

Rundeck介紹 概述:Rundeck 是什么? Rundeck 是一款開源的自動化調度和任務執行工具,專為運維場景設計,幫助工程師通過統一的平臺管理和執行跨系統、跨節點的任務。它由 PagerDuty 維護(2016 年收購)&#…

基于 Python 的自然語言處理系列(85):PPO 原理與實踐

📌 本文介紹如何在 RLHF(Reinforcement Learning with Human Feedback)中使用 PPO(Proximal Policy Optimization)算法對語言模型進行強化學習微調。 🔗 官方文檔:trl PPOTrainer 一、引言&…

珍愛網:從降本增效到綠色低碳,數字化新基建價值凸顯

2024年12月24日,法大大聯合企業綠色發展研究院發布《2024簽約減碳與低碳辦公白皮書》,深入剖析電子簽在推動企業綠色低碳轉型中的關鍵作用,為企業實現環境、社會和治理(ESG)目標提供新思路。近期,法大大將陸…

Java實現HTML轉PDF(deepSeekAi->html->pdf)

Java實現HTML轉PDF,主要為了解決將ai返回的html文本數據轉為PDF文件方便用戶下載查看。 一、deepSeek-AI提問詞 基于以上個人數據。總結個人身體信息,分析個人身體指標信息。再按一個月為維度,詳細列舉一個月內訓練計劃,維度詳細至每周每天…

Estimands與Intercurrent Events:臨床試驗與統計學核心框架

1. Estimands(估計目標)概述 1.1 定義與作用 1.1.1 定義 Estimand是臨床試驗中需明確提出的科學問題,即研究者希望通過數據估計的“目標量”,定義“治療效應”具體含義,確保分析結果與臨床問題一致。 例如,在研究某種新藥對高血壓患者降壓效果時,Estimand可定義為“在…

Jsp技術入門指南【十】IDEA 開發環境下實現 MySQL 數據在 JSP 頁面的可視化展示,實現前后端交互

Jsp技術入門指南【十】IDEA 開發環境下實現 MySQL 數據在 JSP 頁面的可視化展示,實現前后端交互 前言一、JDBC 核心接口和類:數據庫連接的“工具箱”1. 常用的 2 個“關鍵類”2. 必須掌握的 5 個“核心接口” 二、創建 JDBC 程序的步驟1. 第一步&#xf…

深入理解HotSpot JVM 基本原理

關于JAVA Java編程語言是一種通用的、并發的、面向對象的語言。它的語法類似于C和C++,但它省略了許多使C和C++復雜、混亂和不安全的特性。 Java 是幾乎所有類型的網絡應用程序的基礎,也是開發和提供嵌入式和移動應用程序、游戲、基于 Web 的內容和企業軟件的全球標準。. 從…

【HTTP/3:互聯網通信的量子飛躍】

HTTP/3:互聯網通信的量子飛躍 如果說HTTP/1.1是鄉村公路,HTTP/2是現代高速公路系統,那么HTTP/3就像是一種革命性的"傳送門"技術,它徹底重寫了數據傳輸的底層規則,讓信息幾乎可以瞬間抵達目的地,…

Apipost免費版、企業版和私有化部署詳解

Apipost是企業級的 API 研發協作一體化平臺,為企業提供 API研發測試管理全鏈路解決方案,不止于API研發場景,增強企業API資產管理。 Apipost 基于同一份數據源,同時提供給后端開發、前端開發、測試人員使用的接口調試、Mock、自動化…

使用若依二次開發商城系統-1:搭建若依運行環境

前言 若依框架有很多版本,這里使用的是springboot3vue3這樣的一個前后端分離的版本。 一.操作步驟 1 下載springboot3版本的后端代碼 后端springboot3的代碼路徑,https://gitee.com/y_project/RuoYi-Vue 需要注意我們要的是springboot3分支。 先用g…

速成GO訪問sql,個人筆記

更多個人筆記:(僅供參考,非盈利) gitee: https://gitee.com/harryhack/it_note github: https://github.com/ZHLOVEYY/IT_note 本文是基于原生的庫 database/sql進行初步學習 基于ORM等更多操作可以關注我…

【C++指南】告別C字符串陷阱:如何實現封裝string?

🌟 各位看官好,我是egoist2023! 🌍 種一棵樹最好是十年前,其次是現在! 💬 注意:本章節只詳講string中常用接口及實現,有其他需求查閱文檔介紹。 🚀 今天通過了…

系統架構師2025年論文《論軟件架構評估2》

論軟件系統架構評估 v2.0 摘要: 某市醫院預約掛號系統建設推廣應用項目是我市衛生健康委員會 2019 年發起的一項醫療衛生行業便民惠民信息化項目,目的是實現轄區內患者在轄區各公立醫療機構就診時,可以通過多種線上渠道進行預約掛號,提升就醫體驗。我作為系統架構師參與此…

BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection

背景 對于現有的BEVDet方法,它對于速度的預測誤差要高于基于點云的方法,對于像速度這種與時間有關的屬性,僅靠單幀數據很難預測好。因此本文提出了BEVDet4D,旨在獲取時間維度上的豐富信息。它是在BEVDet的基礎上進行拓展,保留了之前幀的BEV特征,并將其進行空間對齊后與當…