iproute2 工具集使用详解

news2025/7/19 8:46:09

在这里插入图片描述

目录

  • 一、iproute2 核心命令:`ip`
  • 二、常用功能详解
    • 1. 管理网络接口(`link` 对象)
    • 2. 管理 IP 地址(`address` 对象)
    • 3. 管理路由表(`route` 对象)
    • 4. 管理 ARP 和邻居缓存(`neigh` 对象)
    • 5. 管理网络命名空间(`netns` 对象)
  • 三、其他实用工具
  • 四、与 `ifconfig` 的对比
  • 五、配置持久化
  • 六、常见问题
    • 1. 如何安装 iproute2?
    • 2. 接口名称变化(如 eth0 → enp0s3)?
  • 七、总结

iproute2 是现代 Linux 系统中替代传统网络工具(如 ifconfigroutearp)的集成工具集,功能更强大且设计更统一。以下是其核心命令 ip 的详细使用指南:


一、iproute2 核心命令:ip

基本语法

ip [选项] 对象 {操作} [参数]
  • 对象address(IP地址)、link(网络接口)、route(路由表)、neigh(ARP缓存)等。
  • 操作show(查看)、add(添加)、del(删除)、set(设置)等。

二、常用功能详解

1. 管理网络接口(link 对象)

  • 查看所有接口状态

    ip link show
    # 简写
    ip l
    

    输出关键字段

    • UP/DOWN:接口启用状态
    • mtu:最大传输单元
    • LOWER_UP:物理连接状态
  • 启用/禁用接口

    sudo ip link set eth0 up    # 启用
    sudo ip link set eth0 down  # 禁用
    
  • 修改接口属性(如 MTU、MAC 地址):

    sudo ip link set eth0 mtu 9000        # 设置 MTU
    sudo ip link set eth0 address 00:11:22:33:44:55  # 修改 MAC 地址
    

2. 管理 IP 地址(address 对象)

  • 查看接口 IP 地址

    ip address show    # 查看所有接口
    ip addr show eth0  # 指定接口
    # 简写
    ip a
    
  • 添加/删除 IP 地址

    sudo ip addr add 192.168.1.100/24 dev eth0  # 添加 IPv4
    sudo ip addr del 192.168.1.100/24 dev eth0  # 删除 IPv4
    
  • 清空接口所有 IP 地址

    sudo ip addr flush dev eth0
    

3. 管理路由表(route 对象)

  • 查看路由表

    ip route show
    # 简写
    ip r
    
  • 添加/删除路由

    # 添加默认网关
    sudo ip route add default via 192.168.1.1 dev eth0
    
    # 添加静态路由
    sudo ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0
    
    # 删除路由
    sudo ip route del 10.0.0.0/24
    
  • 策略路由(高级)

    ip rule add from 192.168.1.100 lookup 100  # 根据源 IP 选择路由表
    ip route add default via 10.0.0.1 table 100
    

4. 管理 ARP 和邻居缓存(neigh 对象)

  • 查看 ARP 缓存

    ip neigh show
    
  • 添加/删除 ARP 条目

    sudo ip neigh add 192.168.1.2 lladdr 00:11:22:33:44:55 dev eth0
    sudo ip neigh del 192.168.1.2 dev eth0
    

5. 管理网络命名空间(netns 对象)

  • 创建/删除网络命名空间

    sudo ip netns add ns1      # 创建
    sudo ip netns delete ns1   # 删除
    
  • 在命名空间中执行命令

    sudo ip netns exec ns1 ip a  # 查看 ns1 中的网络接口
    

三、其他实用工具

iproute2 工具集还包含以下命令:

  • ss:替代 netstat,查看套接字统计。
    ss -tunlp  # 查看所有 TCP/UDP 监听端口
    
  • tc:流量控制(限速、优先级管理)。
    tc qdisc add dev eth0 root netem delay 100ms  # 模拟 100ms 网络延迟
    
  • bridge:管理网桥。
    bridge link show  # 查看网桥接口
    

四、与 ifconfig 的对比

操作ifconfigiproute2
查看接口状态ifconfigip link show
设置 IP 地址ifconfig eth0 192.168.1.100ip addr add 192.168.1.100/24 dev eth0
查看路由表route -nip route show
修改 MAC 地址ifconfig eth0 hw ether...ip link set eth0 address...

五、配置持久化

ip 命令的修改是临时的,需通过以下方式持久化:

  1. Debian/Ubuntu:编辑 /etc/network/interfaces
  2. RHEL/CentOS:编辑 /etc/sysconfig/network-scripts/ifcfg-eth0
  3. 通用方法:使用 NetworkManagernetplan(Ubuntu 18.04+)。

六、常见问题

1. 如何安装 iproute2?

大多数 Linux 系统已预装。若缺失:

sudo apt install iproute2   # Debian/Ubuntu
sudo yum install iproute   # RHEL/CentOS

2. 接口名称变化(如 eth0 → enp0s3)?

这是由 systemd 的 Predictable Network Interface Names 导致,可通过以下方式禁用:

  1. 编辑 /etc/default/grub,添加 net.ifnames=0
  2. 运行 sudo update-grub 并重启。

七、总结

  • 优势:功能全面、语法统一、支持现代网络特性(如 VRF、网络命名空间)。
  • 学习建议
    • 掌握常用对象:linkaddrroute
    • 使用 man ipip help 查看详细文档。
    • 逐步替换旧脚本中的 ifconfig/route 命令。

掌握 iproute2 是 Linux 网络管理的必备技能,尤其适用于容器化、虚拟化等复杂网络环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2329893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AD(Altium Designer)更换PCB文件的器件封装

一、确定是否拥有想换的器件PCB封装 1.1 打开现有的原理图 1.2 确定是否拥有想换的器件PCB文件 1.2.1 如果有 按照1.3进行切换器件PCB封装 1.2.2 如果没有 按照如下链接进行添加 AD(Altium Designer)已有封装库的基础上添加器件封装-CSDN博客https://blog.csdn.net/XU15…

【文献研究】含硼钢中BN表面偏析对可镀性的影响

《B 添加钢的溶融 Zn めっき性に及ぼす BN 表面析出の影響》由JFE公司田原大輔等人撰写。研究聚焦 B 添加钢在低露点退火时 BN 形成对镀锌性的影响,对汽车用高强度钢镀锌工艺优化意义重大。通过多组对比实验,结合多种分析手段,明确了相关因素…

React学习-css

W3Schools Tryit Editor CSS 教程 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: p { /* 这是个注释 */ color:red; text-align:center; }选择器 CSS Id: #para1{ text-align:center; color:red; } Class: .center {text-align:center;} p…

数据分析-Excel-学习笔记Day1

Day1 复现报表聚合函数:日期联动快速定位区域SUMIF函数SUMIFS函数环比、同比计算IFERROR函数混合引用单元格格式总结汇报 拿到一个Excel表格,首先要看这个表格的构成(包含了哪些数据),几行几列,每一列的名称…

树莓派PICO 设备烧录成cmsis dap

文章目录 1. 实际操作2. IO连接 1. 实际操作 2. IO连接

【数据结构】图的存储

目录 邻接矩阵 表示方法 代码定义 结构特点与度的信息 邻接表 表示方法 代码定义 结构特点与度的信息 十字链表 表示方法 第二步,将顶点x的firstIn域与所有headvex域为x的弧连起来。 结构特点与度的信息 邻接多重表 表示方法 结构特点与度的信息 图…

如何解决uniapp打包安卓只出现功能栏而无数据的问题

如何解决uniapp打包安卓只出现功能栏而无数据的问题 经验来自:关于Vue3中调试APP触发异常:exception:white screen cause create instanceContext failed,check js stack -> at useStore (app-service.js:2309:15)解决方案 - 甲辰哥来帮你算命 - 博客…

kotlin,数字滚动选择

用国内的通义灵码和codegeex都没有弄出来,最后只得用墙外的chatgpt才弄出一个满意的。kotlin真的有点难,好在有AI,让学习没这难了。 package com.example.mynumsetimport android.os.Bundle import androidx.activity.ComponentActivity imp…

【4】搭建k8s集群系列(二进制部署)之安装master节点组件(kube-apiserver)

一、下载k8s二进制文件 下载地址: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG -1.20.md 注:打开链接你会发现里面有很多包,下载一个 server 包就够了,包含了 Master 和 Worker Node 二进制文件。…

每日c/c++题 备战蓝桥杯(小球反弹)[镜像思路求解,最小公倍数]

思路: 错解:对于这道题而言,有的同学会选择用计算每次碰撞的坐标,直到坐标等于原点的方法来做,但这种方法实现起来比较繁琐,并且由于碰撞点的坐标有可能是浮点数,而浮点数会丢失精度&#xff0…

新潮透明液体水珠水滴失真故障扭曲折射特效海报字体标题设计ps样机动作素材 Bubble Photoshop Templates

只需单击几下即可创建引人注目的视觉效果!您需要做的就是将您的文本或图像放入智能对象中并应用作。 包中包含: 15 个静态 Photoshop 模板(PS 2019 及更高版本) 01-05 垂直布局 (22504000)06-10 水平布局…

从零开始玩python--python版植物大战僵尸来袭

大家好呀,小伙伴们!今天要给大家介绍一个超有趣的Python项目 - 用pygame制作植物大战僵尸游戏的进阶版本。相信不少小伙伴都玩过这款经典游戏,今天我们就用Python来实现它,让编程学习变得更加有趣!🌟 一、…

Visual Studio Code SSH 连接超时对策( keep SSH alive)

文章目录 问题解决方法一&#xff1a;配置服务端关于ClientAliveInterval和ClientAliveCountMax1、打开终端&#xff0c;打开SSH配置文件&#xff1a;输入以下命令&#xff1a;2、打开配置文件后&#xff0c;添加以下内容&#xff1a;3、添加后&#xff0c;Esc按 <Enter>…

【C语言入门】由浅入深学习指针 【第二期】

目录 1. 指针变量为什么要有类型&#xff1f; 2. 野指针 2.1 未初始化导致的野指针 2.2 指针越界导致的野指针 2.3 如何规避野指针 3. 指针运算 3.1 指针加减整数 3.2 指针减指针 3.3 指针的关系运算 4. 二级指针 5. 指针数组 5.1 如何使用指针数组模拟二维数组 上…

关于Ubuntu系统的远程控制及文件传输

目录 1. 网络配置1.1 虚拟机Ubuntu网络配置1.2树莓派网络配置 2. 远程终端登录3. FTP文件传输4. 安装Xming和PuTTY5. 使用X11转发6. 安装和使用VNC思考题解答参考资料 1. 网络配置 1.1 虚拟机Ubuntu网络配置 将虚拟机的网络连接设置为“桥接模式”&#xff0c;这样虚拟机的网…

IS-IS-单区域的配置

一、IS-IS的概念 IS-IS&#xff08;Intermediate System to Intermediate System&#xff0c;中间系统到中间系统&#xff09;是一种‌链路状态路由协议‌&#xff0c;最初设计用于‌OSI&#xff08;Open Systems Interconnection&#xff09;参考模型‌的网络层&#xff08;CL…

Flask使用MySQL数据库通过Flask-SQLAlchemy 迁移数据库,实际更新文件,但是提示没有检测到数据更新。

本地写了一个model的用户类&#xff0c;数据库连接信息正确&#xff0c;执行下面2条命令进行数据库迁移。 flask db migrate 生成迁移文件 flask db upgrade 执行迁移文件的升级 发现执行完后&#xff1a;提示没有检测到数据的更新 PS C:\Users\mu> flask db migrate IN…

USB3.0走线注意事项和其中的协议

USB3.0走线的要求&#xff1a; 1、USB要走差分&#xff0c;阻抗控制为90欧姆&#xff0c;并包地处理&#xff0c;总长度最好不要超过1800mil. 2、尽可能缩短走线长度&#xff0c;优先考虑对高速USB差分&#xff08;RX、TX差分&#xff09;的布线&#xff0c;USB差分走线在走线…

QML 菜单控件:MenuBar、MenuBarItem、Menu、MenuItem层级关系和用法

目录 引言相关阅读关于MenuBarItem核心代码1. 主菜单栏 (MenuBar.qml)2. 主页面&#xff0c;包含右键菜单 (MainPage.qml)3. 主界面绑定 (Main.qml)整体结构 运行效果总结工程下载 引言 在 GUI 开发中&#xff0c;菜单是用户交互的核心组件。QML 提供了一套灵活的菜单控件&…

蓝桥杯嵌入式第十四届模拟二

一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹,code中添加fun.c、fun.h、headfile.h文件,去资源包中把lc…