Linux ip 命令超详细完整教程一、基础说明ip是 Linux 现代网络管理工具替代老旧ifconfig、route属于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、MTU1. 查看所有网卡信息# 简洁查看iplink# 带详细流量统计ip-slink# 只看IPv4相关网卡ip-4link# 人性化流量单位ip-shlink输出关键字段解释state UP/DOWN网卡启用/关闭mtu 1500最大传输单元以太网默认1500link/ether xx:xxMAC物理地址txqueuelen 1000网卡发送队列长度RX/TX收发包、错误、丢包、溢出统计2. 只查看单个网卡如 eth0 / ens33iplinkshow ens33ip-slinkshow eth03. 启用/关闭网卡UP/DOWN# 开启网卡iplinksetens33 up# 关闭网卡iplinksetens33 down4. 修改网卡MAC地址临时重启失效# 先关网卡iplinksetdev ens33 down# 设置新MACiplinksetdev ens33 address 00:11:22:33:44:55# 重新启用iplinksetdev ens33 up5. 修改 MTU 值VPN/宽带常用9000巨帧# 设置MTU为9000iplinksetens33 mtu90006. 修改网卡队列长度iplinksetens33 txqueuelen20007. 网卡重命名临时iplinksetoldname name newname8. 创建/删除虚拟网卡veth、dummydummy 虚拟网卡本地环回虚拟口# 创建dummy0iplinkadddummy0typedummy# 删除iplinkdelete dummy0veth 成对虚拟网卡容器/网桥通信# 创建一对 veth0 - veth1iplinkaddveth0typeveth peer name veth1# 删除任意一端即可整体删除iplinkdelete veth09. 网桥操作bridge# 创建网桥br0iplinkaddbr0typebridge# 将ens33加入网桥iplinksetens33 master br0# 脱离网桥iplinksetens33 nomaster# 删除网桥iplinkdelete br0typebridge三、ip addr管理网卡IP地址替代 ifconfig1. 查看所有网卡IPipaddr# 简写等价ipa# 仅IPv4ip-4a# 仅IPv6ip-6a字段说明inet 192.168.1.100/24IPv4地址子网掩码前缀inet6 fe80::xxx链路本地IPv6scope global公网可路由地址scope link仅局域网链路地址2. 给网卡添加静态IP基础格式ipaddraddIP/掩码 dev 网卡名示例给 ens33 加 192.168.2.10/24ipaddradd192.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 ens333. 删除网卡IP# 删除指定IPipaddr del192.168.2.10/24 dev ens33# 清空网卡所有IPipaddr flush dev ens334. 清空所有网卡IPv4/IPv6地址# 清空全部IPv4ip-4addr flush all# 清空全部IPv6ip-6addr flush all5. 临时设置网卡为自动获取DHCPip 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.12. 添加静态路由格式iprouteadd目标网段 via 网关IP dev 网卡示例1访问10.0.0.0/8走网关192.168.2.1iprouteadd10.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 ens333. 删除路由# 删除指定网段路由iproute del10.0.0.0/8 via192.168.2.1# 删除默认路由iproute del default4. 修改/替换路由# 替换原有默认网关iproute change default via192.168.1.2 dev ens335. 清空所有路由表iproute flush all# 清空指定网卡所有路由iproute flush dev ens33# 清空所有默认路由iproute flush default6. 路由缓存/查看指定目标路由查询下一跳# 查询访问8.8.8.8走哪条路由iproute get8.8.8.87. 永久路由临时ip route重启失效临时路由重启服务器/网卡后丢失永久配置需修改系统网络配置文件CentOS/RHEL/etc/sysconfig/network-scripts/route-ens33Ubuntu/Debian Netplan/etc/netplan/yaml配置Debian ifupdown/etc/network/interfaces五、ip neighARP/邻居表管理替代 arp 命令维护局域网 IP - MAC 映射表1. 查看ARP邻居表ipneigh# 简写ipn# 详细ip-sn状态标识REACHABLE正常连通STALE缓存过期未验证FAILEDARP解析失败主机不可达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 ens334. 清空网卡全部ARP缓存ipneigh flush dev ens33# 清空所有ARPipneigh flush all5. 强制重新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 defaultlocal本地回环、本机IP路由main默认主路由表平时ip r看到的2. 自定义路由表1添加新路由表编辑 /etc/iproute2/rt_tablesecho100 telecom/etc/iproute2/rt_tables# 100表IDtelecom表名2给表添加路由# 给telecom表设置默认网关iprouteadddefault via192.168.3.1 table telecom# 直连网段iprouteadd192.168.3.0/24 dev eth1 table telecom3添加策略源IP 192.168.3.10 走telecom表ipruleaddfrom192.168.3.10 table telecom4删除策略规则iprule del from192.168.3.105清空所有策略iprule flush3. 查看指定路由表路由iproute show table telecom七、ip maddr多播地址管理1. 查看网卡多播组ipmaddripmaddr show ens332. 添加/删除多播组ipmaddradd224.0.0.1 dev ens33ipmaddr del224.0.0.1 dev ens33八、ip tunnelIP隧道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 tun0VXLAN虚拟二层隧道容器云常用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单网卡双IPipaddradd192.168.1.105/24 dev ens33ipaddradd192.168.1.106/24 dev ens33 label ens33:0# label 给第二个IP加别名兼容老工具查看案例3清理网卡所有IP路由ARPipaddr 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 对比为什么推荐ipifconfig属于net-tools很多新版系统默认不装ip内置 iproute2必装ip 功能统一网卡、IP、路由、ARP、策略路由、隧道、网桥全部一条命令搞定ifconfig 不支持 IPv6、策略路由、vxlan、veth 等现代虚拟化网络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# 启用网卡
Linux 【02- ip命令超详细教程】
发布时间:2026/7/2 11:14:39
Linux ip 命令超详细完整教程一、基础说明ip是 Linux 现代网络管理工具替代老旧ifconfig、route属于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、MTU1. 查看所有网卡信息# 简洁查看iplink# 带详细流量统计ip-slink# 只看IPv4相关网卡ip-4link# 人性化流量单位ip-shlink输出关键字段解释state UP/DOWN网卡启用/关闭mtu 1500最大传输单元以太网默认1500link/ether xx:xxMAC物理地址txqueuelen 1000网卡发送队列长度RX/TX收发包、错误、丢包、溢出统计2. 只查看单个网卡如 eth0 / ens33iplinkshow ens33ip-slinkshow eth03. 启用/关闭网卡UP/DOWN# 开启网卡iplinksetens33 up# 关闭网卡iplinksetens33 down4. 修改网卡MAC地址临时重启失效# 先关网卡iplinksetdev ens33 down# 设置新MACiplinksetdev ens33 address 00:11:22:33:44:55# 重新启用iplinksetdev ens33 up5. 修改 MTU 值VPN/宽带常用9000巨帧# 设置MTU为9000iplinksetens33 mtu90006. 修改网卡队列长度iplinksetens33 txqueuelen20007. 网卡重命名临时iplinksetoldname name newname8. 创建/删除虚拟网卡veth、dummydummy 虚拟网卡本地环回虚拟口# 创建dummy0iplinkadddummy0typedummy# 删除iplinkdelete dummy0veth 成对虚拟网卡容器/网桥通信# 创建一对 veth0 - veth1iplinkaddveth0typeveth peer name veth1# 删除任意一端即可整体删除iplinkdelete veth09. 网桥操作bridge# 创建网桥br0iplinkaddbr0typebridge# 将ens33加入网桥iplinksetens33 master br0# 脱离网桥iplinksetens33 nomaster# 删除网桥iplinkdelete br0typebridge三、ip addr管理网卡IP地址替代 ifconfig1. 查看所有网卡IPipaddr# 简写等价ipa# 仅IPv4ip-4a# 仅IPv6ip-6a字段说明inet 192.168.1.100/24IPv4地址子网掩码前缀inet6 fe80::xxx链路本地IPv6scope global公网可路由地址scope link仅局域网链路地址2. 给网卡添加静态IP基础格式ipaddraddIP/掩码 dev 网卡名示例给 ens33 加 192.168.2.10/24ipaddradd192.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 ens333. 删除网卡IP# 删除指定IPipaddr del192.168.2.10/24 dev ens33# 清空网卡所有IPipaddr flush dev ens334. 清空所有网卡IPv4/IPv6地址# 清空全部IPv4ip-4addr flush all# 清空全部IPv6ip-6addr flush all5. 临时设置网卡为自动获取DHCPip 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.12. 添加静态路由格式iprouteadd目标网段 via 网关IP dev 网卡示例1访问10.0.0.0/8走网关192.168.2.1iprouteadd10.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 ens333. 删除路由# 删除指定网段路由iproute del10.0.0.0/8 via192.168.2.1# 删除默认路由iproute del default4. 修改/替换路由# 替换原有默认网关iproute change default via192.168.1.2 dev ens335. 清空所有路由表iproute flush all# 清空指定网卡所有路由iproute flush dev ens33# 清空所有默认路由iproute flush default6. 路由缓存/查看指定目标路由查询下一跳# 查询访问8.8.8.8走哪条路由iproute get8.8.8.87. 永久路由临时ip route重启失效临时路由重启服务器/网卡后丢失永久配置需修改系统网络配置文件CentOS/RHEL/etc/sysconfig/network-scripts/route-ens33Ubuntu/Debian Netplan/etc/netplan/yaml配置Debian ifupdown/etc/network/interfaces五、ip neighARP/邻居表管理替代 arp 命令维护局域网 IP - MAC 映射表1. 查看ARP邻居表ipneigh# 简写ipn# 详细ip-sn状态标识REACHABLE正常连通STALE缓存过期未验证FAILEDARP解析失败主机不可达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 ens334. 清空网卡全部ARP缓存ipneigh flush dev ens33# 清空所有ARPipneigh flush all5. 强制重新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 defaultlocal本地回环、本机IP路由main默认主路由表平时ip r看到的2. 自定义路由表1添加新路由表编辑 /etc/iproute2/rt_tablesecho100 telecom/etc/iproute2/rt_tables# 100表IDtelecom表名2给表添加路由# 给telecom表设置默认网关iprouteadddefault via192.168.3.1 table telecom# 直连网段iprouteadd192.168.3.0/24 dev eth1 table telecom3添加策略源IP 192.168.3.10 走telecom表ipruleaddfrom192.168.3.10 table telecom4删除策略规则iprule del from192.168.3.105清空所有策略iprule flush3. 查看指定路由表路由iproute show table telecom七、ip maddr多播地址管理1. 查看网卡多播组ipmaddripmaddr show ens332. 添加/删除多播组ipmaddradd224.0.0.1 dev ens33ipmaddr del224.0.0.1 dev ens33八、ip tunnelIP隧道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 tun0VXLAN虚拟二层隧道容器云常用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单网卡双IPipaddradd192.168.1.105/24 dev ens33ipaddradd192.168.1.106/24 dev ens33 label ens33:0# label 给第二个IP加别名兼容老工具查看案例3清理网卡所有IP路由ARPipaddr 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 对比为什么推荐ipifconfig属于net-tools很多新版系统默认不装ip内置 iproute2必装ip 功能统一网卡、IP、路由、ARP、策略路由、隧道、网桥全部一条命令搞定ifconfig 不支持 IPv6、策略路由、vxlan、veth 等现代虚拟化网络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# 启用网卡