[网络] ip命令操作手册

📡 Linux ip 命令完整使用手册

📝 快速参考表

ip link    # 网卡
ip addr    # IP
ip route   # 路由
ip neigh   # ARP
ip rule    # 策略
ip maddr   # 多播
ip tunnel  # 隧道
ip -s link # 统计

📋 目录

1. 命令基础

基本语法

ip [OPTIONS] OBJECT { COMMAND | help }

常用选项

选项 说明 示例
-4 仅显示 IPv4 ip -4 addr
-6 仅显示 IPv6 ip -6 addr
-s 显示统计信息 ip -s link
-d 详细输出 ip -d link
-h 人类可读格式 ip -h link
monitor 实时监控 ip monitor link

2. 网卡管理

2.1 查看所有网卡

ip link show          # 基础信息
ip -d link show       # 详细
ip -h link show       # 人类可读

输出解析:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
字段 含义
lo 网卡名称
LOOPBACK 回环接口
UP 逻辑启用
LOWER_UP 物理连接正常
mtu 65536 最大传输单元
qdisc noqueue 队列策略
state UP 状态:UP/DOWN
link/loopback 接口类型
00:00:00:00:00:00 MAC 地址

2.2 查看指定网卡

ip link show eth0
ip addr show dev eth0     # 含 IP 信息

2.3 网卡统计信息

ip -s link show eth0      # 收发统计

RX(接收)/TX(发送)统计:

字段 含义
bytes 总字节数
packets 数据包数
errors 错误包
dropped 丢包数
mcast 多播包

2.4 网卡控制

ip link set eth0 up          # 启用
ip link set eth0 down        # 禁用
ip link set eth0 mtu 9000    # 设置 MTU
ip link set eth0 name enp0s3 # 重命名

3. IP 地址管理

3.1 查看 IP

ip addr show           # 所有接口
ip addr show eth0      # 指定接口
ip -4 addr show eth0   # 仅 IPv4

输出示例:

inet 172.23.37.146/20 brd 172.23.47.255 scope global eth0

3.2 添加/删除 IP

# 添加 IPv4
sudo ip addr add 192.168.1.100/24 dev eth0

# 添加 IPv6
sudo ip addr add 2001:db8::1/64 dev eth0

# 删除 IP
sudo ip addr del 192.168.1.100/24 dev eth0

3.3 IP 别名

# 添加别名(临时)
sudo ip addr add 192.168.1.101/24 dev eth0 label eth0:1

4. 路由管理

4.1 查看路由表

ip route show              # 所有
ip -4 route show           # IPv4
ip -6 route show           # IPv6

输出示例:

default via 172.23.32.1 dev eth0
172.23.32.0/20 dev eth0 proto kernel scope link src 172.23.37.146

4.2 添加/删除路由

# 添加默认路由
sudo ip route add default via 192.168.1.1

# 添加网段路由
sudo ip route add 10.0.0.0/8 via 192.168.1.254

# 删除路由
sudo ip route del default via 192.168.1.1

4.3 路由查询

ip route get 8.8.8.8     # 到 8.8.8.8 的路径

5. ARP/邻居缓存

5.1 查看 ARP 表

ip neigh show              # IPv4/IPv6
ip -4 neigh show           # 仅 IPv4
ip -6 neigh show           # 仅 IPv6

状态说明:

  • REACHABLE:可达
  • STALE:过期
  • FAILED:失败

5.2 手动添加 ARP

sudo ip neigh add 192.168.1.1 lladdr aa:bb:cc:dd:ee:ff dev eth0

6. 网络命名空间

6.1 创建/删除命名空间

# 创建
sudo ip netns add ns1

# 删除
sudo ip netns del ns1

# 列出
ip netns list

6.2 在命名空间中操作

# 进入命名空间
sudo ip netns exec ns1 ip addr

# 在命名空间中创建接口
sudo ip netns exec ns1 ip link set lo up

6.3 veth 虚拟对

# 创建 veth 对
sudo ip link add veth0 type veth peer name veth1

# 移动到命名空间
sudo ip link set veth1 netns ns1

7. 策略路由

7.1 查看策略规则

ip rule show

输出示例:

0:    from all lookup local
32766: from all lookup main
32767: from all lookup default

7.2 添加策略路由

# 基于源 IP 的路由表
sudo ip rule add from 192.168.1.100 table 100
sudo ip route add default via 192.168.2.1 table 100

8. 多播管理

8.1 查看多播组

ip maddr show           # 所有接口
ip maddr show dev eth0  # 指定接口

9. 隧道配置

9.1 什么是隧道?

隧道(Tunnel)是将一种协议封装在另一种协议中传输的技术,用于:

  • 跨公网传输私有网络流量
  • IPv6 over IPv4
  • 站点间 VPN

常见类型:

  • GRE:通用路由封装
  • IPIP:IP in IP
  • VXLAN:虚拟扩展 LAN

9.2 查看隧道

ip tunnel show

9.3 创建 GRE 隧道

sudo ip tunnel add gre1 mode gre remote 192.168.2.1 local 192.168.1.1 ttl 255
sudo ip link set gre1 up
sudo ip addr add 10.0.0.1/30 dev gre1

10. 流量统计与监控

10.1 实时监控

ip -s -h link monitor eth0    # 监控 eth0
ip monitor                    # 监控所有

10.2 累计统计

ip -s link show eth0
watch -n 1 "ip -s -h link show eth0"  # 每秒刷新

11. 网桥管理

11.1 查看网桥

ip link show type bridge
bridge link show

11.2 创建网桥

# 创建桥接
sudo ip link add name br0 type bridge
sudo ip link set eth0 master br0
sudo ip link set br0 up

12. 实用脚本示例

12.1 一键网络诊断

#!/bin/bash
echo "🔍 网络诊断报告"
echo "=================="
echo "1. 网卡状态:"
ip -h link show
echo -e "\n2. IP 地址:"
ip addr show
echo -e "\n3. 路由表:"
ip route show
echo -e "\n4. 网卡统计:"
ip -s -h link

12.2 网卡流量监控

#!/bin/bash
INTERFACE=${1:-eth0}
watch -n 1 "ip -s -h link show $INTERFACE | grep -E 'RX|TX'"

13. 故障排除

常见问题

问题 命令诊断 解决方法
网卡 DOWN ip link show ip link set eth0 up
无 IP 地址 ip addr dhclient eth0
路由丢失 ip route ip route add default via GW
高丢包率 ip -s link 检查 MTU/队列长度
ARP 解析失败 ip neigh ip neigh flush all

posted on 2025-10-23 23:35  风惊庭前叶  阅读(2)  评论(0)    收藏  举报