Linux命令-ip命令(网络配置工具)

🧭 说明

ip 命令是现代 Linux 系统中功能强大的网络配置工具,它取代了传统的 ifconfig、route 等命令,提供了更统一和强大的网络管理功能。

下表汇总了 ip 命令的核心操作对象和主要功能。

操作对象 核心功能简介 替代的传统命令
link 管理网络设备(网卡)本身的状态,如启用/禁用、修改MTU、MAC地址等。 ifconfig,ifup,ifdown
address/addr 管理网络设备上的IP地址(IPv4/IPv6),包括添加、删除、查看地址。 ifconfig
route 管理内核的路由表,包括添加、删除静态路由和设置默认网关。 route
neighbor/neigh 管理ARP缓存(邻居表),查看或修改IP地址与MAC地址的映射关系。 arp
netns 管理网络命名空间,实现网络环境的隔离。 无

🖥️ 管理网络接口

使用 ip link 可以操作物理和虚拟网络设备。

  • 查看接口状态 :使用 ip link show 或简写 ip l 查看所有网络接口的详细信息。更简洁的显示可以使用 ip -br link show,只列出名称、状态和MAC地址等关键信息。

  • 启用/禁用接口 :在修改配置前,通常需要先关闭接口。

    bash 复制代码
    # 禁用接口
    sudo ip link set eth0 down
    # 启用接口
    sudo ip link set eth0 up
  • 修改接口属性 :可以更改网卡的MAC地址(需先禁用网卡)或MTU(最大传输单元)。

    bash 复制代码
    # 修改MAC地址
    sudo ip link set eth0 address 00:11:22:33:44:55
    # 设置MTU值
    sudo ip link set eth0 mtu 1500

🌐 配置IP地址

使用 ip address 为网络接口管理IP地址。

  • 查看IP地址 :使用 ip address show 或 ip a 查看所有接口的IP地址信息。同样,可以使用 ip -br addr 获得简洁输出。

  • 添加/删除IP地址 :

    bash 复制代码
    # 添加IP地址
    sudo ip addr add 192.168.1.10/24 dev eth0
    # 删除IP地址
    sudo ip addr del 192.168.1.10/24 dev eth0
  • 清空所有IP地址 :使用 ip addr flush dev eth0 可以一次性移除指定设备上的所有IP地址,请谨慎使用。

🧭 管理路由表

使用 ip route 控制数据包的转发路径。

  • 查看路由表 :使用 ip route show 或 ip r 查看当前系统的IPv4路由表。使用 ip -6 route 查看IPv6路由表。

  • 添加/删除路由 :

    bash 复制代码
    # 添加静态路由,使访问 10.0.0.0/8 网段的流量通过 192.168.1.1 转发
    sudo ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0
    # 删除该路由
    sudo ip route del 10.0.0.0/8
    # 设置默认网关
    sudo ip route add default via 192.168.1.1 dev eth0
    # 删除默认路由
    sudo ip route del default

🤖 管理ARP缓存

使用 ip neighbor 查看和操作邻居表(ARP缓存)。

  • 查看ARP缓存 :ip neighbor show 显示当前的IP-MAC地址映射及其状态(如REACHABLE、STALE)。

  • 手动添加/删除条目 :

    bash 复制代码
    # 添加静态ARP条目
    sudo ip neigh add 192.168.1.100 lladdr 00:11:22:33:44:55 dev eth0
    # 删除ARP条目
    sudo ip neigh del 192.168.1.100 dev eth0

💡 高级功能简介

ip 命令还有一些更强大的高级功能,在复杂网络环境中非常有用:

  • 网络命名空间 :可以创建完全隔离的网络环境,常用于容器技术。

    bash 复制代码
    # 创建一个名为myns的网络命名空间
    ip netns add myns
  • 策略路由:基于源IP、目的IP等策略决定路由路径,而不仅仅是目标地址,实现更复杂的流量控制。

🛠️ 实用技巧与示例

这里是一个简单的配置示例,演示如何组合使用上述命令:

bash 复制代码
# 1. 查看初始状态
ip -br addr show eth0
ip -br link show eth0

# 2. 禁用网卡并配置新IP
sudo ip link set eth0 down
sudo ip addr add 192.168.10.5/24 dev eth0
sudo ip link set eth0 up

# 3. 验证配置
ip -br addr show eth0
ping -c 3 192.168.10.1  # 测试连通性

💎 小结

ip 命令是 Linux 网络配置和故障排查的核心工具。刚开始可以重点掌握 ip link、ip addr 和 ip route 这几个最常用的子命令来查看和修改基本网络配置。随着需求深入,再逐步了解其更高级的功能。

相关推荐
码上有光几秒前
Linux:信号的认识、信号的产生、信号的保存、信号的处理
android·linux·运维·信号
酣大智4 分钟前
TightVNC Server 配置窗口
网络·vnc
隐擎fox7 分钟前
解密 BGP Anycast 边缘路由与跨国链路质量检测:多租户网络出口的低时延与防丢包架构实战
网络·python·网络协议·tcp/ip·网络安全·架构·tcpdump
闲云自留地10 分钟前
从零造一台 Ubuntu 24.04:虚拟机、装系统、配 IP 到 root 远程登录一篇通
数据库·tcp/ip·ubuntu
anew___21 分钟前
《从零手写操作系统 (46):设备模型与devtmpfs——硬件资源的文件系统化》
linux·运维·服务器
Escalating_xu24 分钟前
【Linux 网络编程】Windows 客户端访问 Linux:用 Winsock 跑通 UDP 回显
linux·网络·windows
无足鸟ICT33 分钟前
【RHCA+】patch命令(更新补丁)
linux·运维·服务器
zhengqweasd35 分钟前
Linux 软中断原理:网卡报文是怎么抢占 CPU 的
linux·运维·网络
ESDWAN39 分钟前
为什么跨境网络白天正常、晚上卡顿?如何分析时段性?
linux·网络·php·网络运维
牧羊人.33343 分钟前
自然语言处理基础 03|门控循环单元 GRU
网络·人工智能·rnn·深度学习·自然语言处理·gru