一、介绍
ip 命令是 Linux 系统中用于配置网络接口、管理路由表和地址等功能的强大工具。它取代了老的 ifconfig 和 route 命令,提供了更多的功能和灵活性。
二、使用
语法
ip [ OPTIONS ] OBJECT { COMMAND | help }
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] }
常用选项的取值含义如下:
-V:显示命令的版本信息;
-s:输出更详细的信息;
-f:强制使用指定的协议族;
-4:指定使用的网络层协议是IPv4协议;
-6:指定使用的网络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-r:显示主机时,不使用IP地址,而使用主机的域名。
help 为该命令的帮助信息。
OBJECT 为常用对象,值可以是以下几种:
OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }
常用对象的取值含义如下:
- link:网络设备
- address:设备上的协议(IP或IPv6)地址
- addrlabel:协议地址选择的标签配置
- route:路由表条目
- rule:路由策略数据库中的规则
三、示例
3.1 ip link
- ip link add 添加设备
- ip link delete 删除设备
- ip link set 设置设备
- ip link set vf SR-IOV虚拟功能(VF)设备
ip link show # 显示网络接口信息
ip link set eth0 up # 开启网卡
ip link set eth0 down # 关闭网卡
ip link set eth0 promisc on # 开启网卡的混合模式
ip link set eth0 promisc offi # 关闭网卡的混个模式
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
3.2 ip addr
ip addr show # 显示网卡IP信息
ip addr show eth0
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
3.3 ip route
- ip route add 添加路由
- ip route change 修改路由
- ip route del 删除路由
- ip route 其他命令
ip route show # 显示系统路由
ip route add default via 192.168.1.254 # 设置系统默认路由
ip route list # 查看路由信息
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
ip route del default # 删除默认路由
ip route delete 192.168.1.0/24 dev eth0 # 删除路由
3.4 ipv6 相关
# ipv6 查看/添加/删除ip
ip addr show eth0
ip addr add 2001:4e0:d:e60::2/64 dev eth0
ip addr del 2001:4e0:d:e60::2/64 dev eth0
ip -6 addr add 2001::5/64 dev eth0 #子网掩码:ffff:ffff:ffff:ffff:0000:0000:0000:0000
ip -6 addr del 2001::5/64 dev eth0
# ipv6 查看/添加/删除路由
ip -6 route
ip -6 route add 2001::/64 via 2001::1 dev eth0
ip -6 route del 2001::/64 via 2001::1 dev eth0 #带IP
ip -6 route del 3230:3031:3a3a:2f36:3400::/0 dev eth0 #不带IP
# ifconifg / route 命令
ifconfig # ifconfig eth0
ifconfig usb0 inet6 add 2001:4e0:d:e60::2/64
route # route -n
# ipv4 配置路由固定IP/网段走指定网卡
route add -net 117.149.147.101/32 dev usb1
route add -net 117.149.147.101 dev usb0
route add -net 117.149.147.101/24 gw 192.168.200.1 dev usb0