当前位置: 首页 > news >正文

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# 启用网卡
http://www.jsqmd.com/news/1108598/

相关文章:

  • 5分钟为Unity游戏添加自动翻译:XUnity.AutoTranslator终极指南
  • 终于有一款 Cron 工具,不用背符号、不用猜下次执行时间
  • C语言 segmentation fault(段错误)怎么排查?
  • Ace:浏览器端的代码编辑器,27k Star 的老牌开源项目
  • 终极AMD Ryzen调试指南:免费开源SMUDebugTool让你的处理器性能飙升300%
  • 5MB解决方案:如何在资源受限环境中部署高质量中文字体
  • 怎样智能解锁Unity游戏:创新插件解决方案全攻略
  • AI 账号实名化来了:提示词、代码和日志都会绑定真实身份
  • SMUDebugTool:免费解锁AMD Ryzen处理器性能的终极调试指南
  • 动物森友会终极存档编辑指南:5分钟打造你的梦想岛屿
  • TVA、VLM与世界模型协同的通用智能架构(5)
  • 防御者视角下的SMBGhost漏洞:从检测、修复到验证的完整实战指南
  • Vue2与SpringBoot集成SM2国密算法实现前后端双向加密通信
  • 智慧档案库房建设行业深度报告:2026年主流厂商综合评估与选型策略
  • Vibe Coding 之后,UI 测试如何跟上开发速度?
  • 解锁AMD Ryzen隐藏性能:3步掌握SMUDebugTool硬件调优神器
  • AMD Ryzen处理器终极调试指南:免费工具解锁隐藏性能潜力
  • 【VMware虚拟机性能调优黄金法则】:20年资深架构师亲授12项必调参数与实测性能提升数据
  • Shell基础知识与常用命令:从零开始掌握Linux命令行
  • 5MB超轻量中文解决方案:WenQuanYi Micro Hei字体终极部署指南
  • AI共享软件开发指南:从需求到商业化实战
  • 三步高效修复损坏MP4视频:UnTrunc实用指南
  • Burp Suite HTTPS抓包全攻略:从证书安装到实战安全测试
  • 3步完全解锁网易云NCM加密:一站式音频格式自由方案
  • 揭秘AMD Ryzen处理器性能:SMUDebugTool终极调试指南
  • 2026最新实测:八字排盘的命理软件推荐:2026最新第三方测评看这几条硬指标
  • 手机号查QQ终极指南:3分钟学会快速逆向查询方法
  • 破解抖音内容批量获取难题:douyin-downloader架构深度解析与实战指南
  • 【VMware分辨率自适应终极指南】:20年虚拟化专家亲授3大核心配置法,99%用户忽略的关键驱动设置
  • 炉石佣兵战记自动化助手:告别重复操作,释放你的游戏时间