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.mzph.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特征,并将其进行空间对齐后与当…