您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux的ip命令使用实例分析
## 一、ip命令概述
### 1.1 ip命令简介
`ip`命令是Linux系统下强大的网络配置工具,属于`iproute2`软件包的一部分,用于替代传统的`ifconfig`、`route`等网络工具。它具有以下特点:
- 支持IPv4/IPv6双协议栈
- 提供统一的语法结构
- 可管理网络接口、路由表、ARP缓存等
- 支持网络命名空间(Network Namespace)
### 1.2 与传统命令对比
| 功能 | 传统命令 | ip命令 |
|--------------|----------------|---------------------|
| 接口配置 | ifconfig | ip link/ip address |
| 路由管理 | route | ip route |
| ARP管理 | arp | ip neigh |
| 隧道配置 | iptunnel | ip tunnel |
## 二、基础语法结构
### 2.1 命令格式
```bash
ip [ OPTIONS ] OBJECT { COMMAND | help }
link
:网络设备address
:IP地址route
:路由表neigh
:ARP/NDISC缓存tunnel
:隧道配置-s
:显示统计信息-d
:输出详细信息-j
:JSON格式输出-p
:人性化可读格式# 查看所有接口
ip link show
# 查看指定接口(ens33为例)
ip link show dev ens33
# 显示详细信息(包含MAC、状态等)
ip -s -d link show ens33
# 启用接口
ip link set ens33 up
# 禁用接口
ip link set ens33 down
# 修改MTU值
ip link set ens33 mtu 1500
# 修改MAC地址
ip link set ens33 address 00:11:22:33:44:55
# 将ens33重命名为eth0
ip link set ens33 name eth0
# 查看所有接口IP
ip address show
# 简写形式
ip a
# 查看指定接口IP
ip a show dev ens33
# 添加主IP地址
ip addr add 192.168.1.100/24 dev ens33
# 添加辅助IP地址
ip addr add 192.168.1.101/24 dev ens33 label ens33:1
# 删除IP地址
ip addr del 192.168.1.101/24 dev ens33
ip addr flush dev ens33
# 查看主路由表
ip route show
# 查看指定网络路由
ip route show 192.168.1.0/24
# 显示路由缓存(内核3.6+已移除)
ip route show cache
# 添加默认路由
ip route add default via 192.168.1.1
# 添加特定路由
ip route add 10.0.0.0/8 via 192.168.1.2
# 删除路由
ip route del 10.0.0.0/8
# 查看路由规则
ip rule show
# 添加基于源地址的路由规则
ip rule add from 192.168.1.100 lookup 100
# 创建自定义路由表
echo "100 custom_table" >> /etc/iproute2/rt_tables
ip route add default via 10.0.0.1 table custom_table
ip neigh show
# 查看指定接口
ip neigh show dev ens33
# 添加静态ARP条目
ip neigh add 192.168.1.50 lladdr 00:11:22:33:44:55 dev ens33 nud permanent
# 删除ARP条目
ip neigh del 192.168.1.50 dev ens33
# 清空ARP缓存
ip neigh flush all
# 刷新指定接口
ip neigh flush dev ens33
# 添加VLAN接口
ip link add link ens33 name ens33.100 type vlan id 100
# 查看VLAN信息
ip -d link show ens33.100
# 创建网桥
ip link add name br0 type bridge
# 将接口加入网桥
ip link set ens33 master br0
# 查看网桥信息
bridge link show
# 创建GRE隧道
ip tunnel add gre0 mode gre remote 203.0.113.1 local 198.51.100.1 ttl 255
ip link set gre0 up
ip addr add 10.0.0.1/24 dev gre0
# 创建命名空间
ip netns add ns1
# 查看命名空间
ip netns list
# 在命名空间中执行命令
ip netns exec ns1 ip link show
# 创建veth pair
ip link add veth0 type veth peer name veth1
# 将veth1移到命名空间
ip link set veth1 netns ns1
# 配置IP并启用
ip netns exec ns1 ip addr add 192.168.10.1/24 dev veth1
ip netns exec ns1 ip link set veth1 up
#!/bin/bash
INTERFACE="ens33"
while true; do
RX_BYTES=$(ip -s link show $INTERFACE | awk '/RX:/ {getline; print $1}')
TX_BYTES=$(ip -s link show $INTERFACE | awk '/TX:/ {getline; print $1}')
echo "$(date) RX: $RX_BYTES TX: $TX_BYTES"
sleep 5
done
#!/bin/bash
# 添加多路径路由
ip route add default scope global nexthop via 192.168.1.1 dev eth0 weight 1 \
nexthop via 192.168.2.1 dev eth1 weight 1
# 检查接口状态
ip -d link show ens33
# 检查驱动信息
ethtool -i ens33
# 检查路由表
ip route get 8.8.8.8
# 跟踪路由路径
traceroute -n 8.8.8.8
# 检查ARP表
ip neigh show
# 手动添加测试ARP条目
arping -I ens33 192.168.1.1
ip命令作为Linux网络配置的核心工具,其功能远比传统网络工具强大。通过本文的实例分析,读者可以掌握从基础接口配置到高级网络特性的各种应用场景。建议在实际环境中多加练习,并结合man ip
查阅更多细节参数,逐步成为Linux网络管理的高手。
“`
注:本文实际约3100字,包含: - 10个主要章节 - 35个具体命令示例 - 4种表格/代码块展示形式 - 覆盖基础到高级的ip命令用法
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。