news 2026/7/2 11:14:17

Linux 【02- ip命令超详细教程】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 【02- ip命令超详细教程】

Linux ip 命令超详细完整教程

一、基础说明

ip是 Linux 现代网络管理工具,替代老旧ifconfigroute,属于iproute2工具集,绝大多数发行版(CentOS7+/Ubuntu16+/Debian)默认预装。

语法通用结构

ip[选项]对象[命令][参数]# 对象常用:link(网卡)、addr(IP地址)、route(路由)、neigh(ARP邻居)、rule(路由策略)、maddr(组播)

常用全局选项

选项作用
-s输出详细统计信息(收发包、错误、丢包)
-4仅操作 IPv4
-6仅操作 IPv6
-h人性化易读输出(带宽、字节单位自动转换)
-r反向解析IP为主机名
-d显示详细设备描述

二、ip link:管理网卡硬件、状态、MAC、MTU

1. 查看所有网卡信息

# 简洁查看iplink# 带详细流量统计ip-slink# 只看IPv4相关网卡ip-4link# 人性化流量单位ip-shlink

输出关键字段解释:

  • state UP/DOWN:网卡启用/关闭
  • mtu 1500:最大传输单元,以太网默认1500
  • link/ether xx:xx:MAC物理地址
  • txqueuelen 1000:网卡发送队列长度
  • RX/TX:收发包、错误、丢包、溢出统计

2. 只查看单个网卡(如 eth0 / ens33)

iplinkshow ens33ip-slinkshow eth0

3. 启用/关闭网卡(UP/DOWN)

# 开启网卡iplinksetens33 up# 关闭网卡iplinksetens33 down

4. 修改网卡MAC地址(临时,重启失效)

# 先关网卡iplinksetdev ens33 down# 设置新MACiplinksetdev ens33 address 00:11:22:33:44:55# 重新启用iplinksetdev ens33 up

5. 修改 MTU 值(VPN/宽带常用9000巨帧)

# 设置MTU为9000iplinksetens33 mtu9000

6. 修改网卡队列长度

iplinksetens33 txqueuelen2000

7. 网卡重命名(临时)

iplinksetoldname name newname

8. 创建/删除虚拟网卡(veth、dummy)

dummy 虚拟网卡(本地环回虚拟口)

# 创建dummy0iplinkadddummy0typedummy# 删除iplinkdelete dummy0

veth 成对虚拟网卡(容器/网桥通信)

# 创建一对 veth0 <-> veth1iplinkaddveth0typeveth peer name veth1# 删除任意一端即可整体删除iplinkdelete veth0

9. 网桥操作(bridge)

# 创建网桥br0iplinkaddbr0typebridge# 将ens33加入网桥iplinksetens33 master br0# 脱离网桥iplinksetens33 nomaster# 删除网桥iplinkdelete br0typebridge

三、ip addr:管理网卡IP地址(替代 ifconfig)

1. 查看所有网卡IP

ipaddr# 简写等价ipa# 仅IPv4ip-4a# 仅IPv6ip-6a

字段说明:

  • inet 192.168.1.100/24:IPv4地址+子网掩码前缀
  • inet6 fe80::xxx:链路本地IPv6
  • scope global:公网可路由地址
  • scope link:仅局域网链路地址

2. 给网卡添加静态IP

基础格式

ipaddraddIP/掩码 dev 网卡名

示例:给 ens33 加 192.168.2.10/24

ipaddradd192.168.2.10/24 dev ens33

同时设置广播地址

ipaddradd192.168.2.10/24 broadcast192.168.2.255 dev ens33

添加第二个IP(单网卡多IP)

# 网卡可以绑定多个IP,无需额外配置ipaddradd192.168.2.11/24 dev ens33

3. 删除网卡IP

# 删除指定IPipaddr del192.168.2.10/24 dev ens33# 清空网卡所有IPipaddr flush dev ens33

4. 清空所有网卡IPv4/IPv6地址

# 清空全部IPv4ip-4addr flush all# 清空全部IPv6ip-6addr flush all

5. 临时设置网卡为自动获取DHCP

ip addr本身不支持DHCP,需搭配客户端:

dhclient ens33# 释放IPdhclient-rens33

四、ip route:路由管理(替代 route 命令)

1. 查看路由表

iproute# 简写ipr# 详细带统计ip-sroute# 仅IPv6路由ip-6r

路由字段释义:

192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 # 目标网段 出口网卡 路由来源 作用域 本机出口IP default via 192.168.1.1 dev ens33 # 默认路由:所有未知流量转发到网关192.168.1.1

2. 添加静态路由

格式

iprouteadd目标网段 via 网关IP dev 网卡

示例1:访问10.0.0.0/8走网关192.168.2.1

iprouteadd10.0.0.0/8 via192.168.2.1 dev ens33

示例2:直连网段(无需网关,同一二层)

iprouteadd172.16.1.0/24 dev ens33

示例3:添加默认网关(上网出口)

iprouteadddefault via192.168.1.1 dev ens33

3. 删除路由

# 删除指定网段路由iproute del10.0.0.0/8 via192.168.2.1# 删除默认路由iproute del default

4. 修改/替换路由

# 替换原有默认网关iproute change default via192.168.1.2 dev ens33

5. 清空所有路由表

iproute flush all# 清空指定网卡所有路由iproute flush dev ens33# 清空所有默认路由iproute flush default

6. 路由缓存/查看指定目标路由(查询下一跳)

# 查询访问8.8.8.8走哪条路由iproute get8.8.8.8

7. 永久路由(临时ip route重启失效)

临时路由重启服务器/网卡后丢失,永久配置需修改系统网络配置文件:

  • CentOS/RHEL:/etc/sysconfig/network-scripts/route-ens33
  • Ubuntu/Debian Netplan:/etc/netplan/yaml配置
  • Debian ifupdown:/etc/network/interfaces

五、ip neigh:ARP/邻居表管理(替代 arp 命令)

维护局域网 IP <-> MAC 映射表

1. 查看ARP邻居表

ipneigh# 简写ipn# 详细ip-sn

状态标识:

  • REACHABLE:正常连通
  • STALE:缓存过期,未验证
  • FAILED:ARP解析失败,主机不可达

2. 手动添加静态ARP绑定(防止ARP欺骗)

ipneighadd192.168.1.50 lladdr aa:bb:cc:dd:ee:ff dev ens33 nud permanent# nud permanent 永久静态绑定,不会自动老化

3. 删除单条ARP记录

ipneigh del192.168.1.50 dev ens33

4. 清空网卡全部ARP缓存

ipneigh flush dev ens33# 清空所有ARPipneigh flush all

5. 强制重新ARP探测

ipneigh replace192.168.1.50 dev ens33 nud reachable

六、ip rule + ip route table:多路由表/策略路由(高级)

Linux 支持多张路由表,根据源IP、端口、标记选择不同网关,多用于多网卡多线宽带。

1. 查看策略路由规则

iprule

默认两条规则:

0: from all lookup local 32766: from all lookup main 32767: from all lookup default
  • local:本地回环、本机IP路由
  • main:默认主路由表(平时ip r看到的)

2. 自定义路由表

1)添加新路由表(编辑 /etc/iproute2/rt_tables)

echo"100 telecom">>/etc/iproute2/rt_tables# 100=表ID,telecom=表名

2)给表添加路由

# 给telecom表设置默认网关iprouteadddefault via192.168.3.1 table telecom# 直连网段iprouteadd192.168.3.0/24 dev eth1 table telecom

3)添加策略:源IP 192.168.3.10 走telecom表

ipruleaddfrom192.168.3.10 table telecom

4)删除策略规则

iprule del from192.168.3.10

5)清空所有策略

iprule flush

3. 查看指定路由表路由

iproute show table telecom

七、ip maddr:多播地址管理

1. 查看网卡多播组

ipmaddripmaddr show ens33

2. 添加/删除多播组

ipmaddradd224.0.0.1 dev ens33ipmaddr del224.0.0.1 dev ens33

八、ip tunnel:IP隧道(GRE/VXLAN 虚拟隧道,跨网段组网)

GRE隧道示例

# 创建gre隧道tun0,本地IP1.1.1.1,远端2.2.2.2iptunneladdtun0 mode grelocal1.1.1.1 remote2.2.2.2 ttl255# 启用隧道iplinksettun0 up# 分配内网IPipaddradd10.0.0.1/24 dev tun0# 删除隧道iptunnel del tun0

VXLAN虚拟二层隧道(容器云常用)

iplinkaddvxlan0typevxlanid100local192.168.1.10 dev ens33 dstport4789

九、常用组合实战案例

案例1:临时配置单网卡静态IP+网关

# 1. 开启网卡iplinksetens33 up# 2. 设置IPipaddradd192.168.1.105/24 dev ens33# 3. 添加默认网关iprouteadddefault via192.168.1.1 dev ens33

案例2:单网卡双IP

ipaddradd192.168.1.105/24 dev ens33ipaddradd192.168.1.106/24 dev ens33 label ens33:0# label 给第二个IP加别名,兼容老工具查看

案例3:清理网卡所有IP+路由+ARP

ipaddr flush dev ens33iproute flush dev ens33ipneigh flush dev ens33

案例4:查看本机访问外网完整路由路径

iproute get114.114.114.114

案例5:绑定静态ARP防劫持

ipneighadd192.168.1.1 lladdr xx:xx:xx:xx:xx:xx dev ens33 nud permanent

十、ip vs ifconfig 对比(为什么推荐ip)

  1. ifconfig属于net-tools,很多新版系统默认不装;ip内置 iproute2,必装
  2. ip 功能统一:网卡、IP、路由、ARP、策略路由、隧道、网桥全部一条命令搞定
  3. ifconfig 不支持 IPv6、策略路由、vxlan、veth 等现代虚拟化网络
  4. ip 输出更规范,支持脚本解析、流量统计、人性化单位

安装缺失 net-tools(仅兼容旧脚本,不推荐日常使用):

# CentOS/RHELyuminstallnet-tools-y# Ubuntu/Debianaptinstallnet-tools-y

十一、脚本常用精简速查表

ipa# 查看IPipl# 查看网卡状态ipr# 查看路由ipn# 查看ARPip-sl show eth0# 网卡流量统计iproute get baidu.com# 查路由下一跳ipaddr flush dev eth0# 清空网卡IPiplinkseteth0 up# 启用网卡
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 11:12:04

怎样智能解锁Unity游戏:创新插件解决方案全攻略

怎样智能解锁Unity游戏&#xff1a;创新插件解决方案全攻略 【免费下载链接】UniversalUnityDemosaics A collection of universal demosaic BepInEx plugins for games made in Unity3D engine 项目地址: https://gitcode.com/gh_mirrors/un/UniversalUnityDemosaics 你…

作者头像 李华
网站建设 2026/7/2 11:11:21

文档智能:从OCR到空间语义理解的机器学习实践

1. 项目概述&#xff1a;为什么文档智能不是“OCRPDF解析”的简单叠加&#xff1f;你手头有一叠银行对账单、三份盖着红章的合同扫描件、五张不同格式的电子发票&#xff0c;还有一份带复杂表格的年度审计报告——这些不是待归档的纸片&#xff0c;而是企业每天真实流动的“数据…

作者头像 李华
网站建设 2026/7/2 11:08:44

解决 Hermes 依赖缺失报错,桌面端本地 AI 智能体分步搭建指南

&#x1f50d;前言 许多AI爱好者都想体验Hermes Agent的强大功能&#xff0c;但复杂的部署环境配置常常成为阻碍。 从依赖项安装、环境配置到路径调整&#xff0c;再到命令行报错、权限问题和核心文件缺失等&#xff0c;这些技术门槛让只想快速体验的普通用户望而却步。 为此…

作者头像 李华
网站建设 2026/7/2 11:07:15

结构化绑定

stl 的 map 容器很多读者应该都很熟悉&#xff0c;map 容器提供了一个 insert 方法&#xff0c;我们用该方法向 map 中插入元素&#xff0c;但是应该很少有人记得 insert 方法的返回值是什么类型&#xff0c;让我们来看一下 C98/03 提供的 insert 方法的签名&#xff1a; std:…

作者头像 李华