Liunx命令之ip命令
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。
# 语法
ip [OPTIONS] OBJECT { COMMAND | help }
1
OBJECT 为常用对象,值可以是以下几种:
OBJECT={ link | address | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }
1
常用对象的取值含义如下:
- link: 网络设备
- address: 设备上的协议地址(IP/IP6)【一般简写为addr/a】
- addrlabel: 协议地址选择的标签配置
- route: 路由表条目
- rule: 路由策略数据库中的规则
- neighbor: arp相关
OPTIONS 为常用选项,值可以是以下几种:
OPTIONS={ -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] | -b[atch] [filename] | -rc[vbuf] [size] }
1
常用选项的取值含义如下:
- -V:显示命令的版本信息;
- -s:输出更详细的信息;
- -f:强制使用指定的协议族;
- -4:指定使用的网络层协议是IPv4协议;
- -6:指定使用的网络层协议是IPv6协议;
- -0:输出信息每条记录输出一行,即使内容较多也不换行显示;
- -r:显示主机时,不使用IP地址,而使用主机的域名。
- help 为该命令的帮助信息。
# 常用命令
# IP地址管理
- 显示IP地址
- ip a
- ip address show
- ip addr show dev eth0
- ip a sh eth0
- 增加/删除地址
- ip address add 192.0.2.1/24 dev eth0
- ip addr del 192.0.2.2/24 dev eth0
- 显示接口统计
- ip -s link ls eth0
# 网卡和链路配置
- 显示链路
- ip link show
- ip link sh eth0
- 修改接口状态
- ip link set eth0 up
- ip link set eth0 down
# 路由表管理
- 显示路由表
- ip route
- ip ro show dev eth0
- 增加新路由
- ip route add 10.2.2.128/27 dev eth0
- 增加默认路由
- ip route add default via 192.168.1.1
- 修改默认路由
- ip route chg default via 192.168.1.1
- 删除默认路由
- ip route del default
# 隧道配置
- 显示隧道
- ip tunnel show
- 显示隧道统计
- ip -s tunnel ls eth0
- 增加删除GRE隧道
- ip tunnel add eth0 mode gre local 10.1.1.1 remote 20.2.2.1 ttl 255
- ip tunnel del eth0
- 添加IPIP隧道
- ip tunl a eth0 mode ipip local 10.1.1.1 remote 20.2.2.1 ttl 255
# 邻居和arp表管理
- 查看arp表
- ip neigh show
- 手工增加删除arp项
- ip neighbor add 10.2.2.2 dev eth0
- ip neighbor del 10.2.2.1 dev eth0
# 实例
ip link show # 显示网络接口信息
ip link show eth0 # 显示网络接口eth0信息
ip link set eth0 up # 开启网络接口eth0
ip link set eth0 down # 关闭网络接口eth0
ip link list # 显示网络接口的运行状态
ip -s link list # 显示更加详细的设备信息
ip route list # 显示核心路由表
ip route show # 查看路由表,作用类似于`route -n`
ip link | grep -E '^[0-9]' | awk -F: '{print $2}' # 获取主机所有网络接口
ip addr add 192.168.0.128/24 dev eth0 # 给网络接口配置IP
ip addr del 192.168.0.128/24 dev etho # 删除网络接口
ip neighbor show # 查看arp表信息
ip neighbor show dev eth0 #看具体接口下的arp缓存条目
ip neighbor show 192.168.0.0/24 # 看具体某个网段的arp缓存条目
ip neighbor flush dev eth0 # arp刷新
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2022/12/01, 11:09:34