ip命令是iproute软件包中的一个强大的网络配置工具,用于显示或管理Linux系统的路由、网络设备、策略路由和隧道。

ip [option] [object] [command]
ip [选项]  [网络对象]  [操作命令]

ip命令的参数选项及说明

-s         输出更详细的信息,为了显示更详细的信息,可重复使用此选项
-r         显示主机时,不使用IP地址,而是使用主机的域名
网络对象    指定要管理的网络对象
支持的网络对象如下:
link    网络设备
address    设备的协议地址(IP地址)
addrlabel    协议地基标签管理
neighbour     arp或ndisc缓存表
roue         路由表
rule        策略路由表
maddress     多播地址
mroute        多播路由缓存表
tunnel        IP隧道
xfrm          IPsec协议框架
这里有一个有趣的用法,比如ip address可以简写为ip addr 或者最简化ip a,它们的效果是一样的,其他对象也是如此
操作命令    对指定的网络对象完成的具体操作。通常,每一个具体操作的命令后面又有一组相关的命令选项。
“不同的操作对象所支持的操作命令也不同。下面按照操作的网络对象给出所支持的常见操作命令。 
link 对象支持的操作命令:set(修改设备属性)、show(显示设备属性);
address 对象支持的操作命令:add(添加协议地址)、del(测除协议地址)、flush(清除协议地址)、show(查看协议地址);
addrlabel 对象支持的操作命令:add、del、list、flush;
neighbour 对象支持的操作命令:add、change、replace、delete、show、flush;
route 对象支持的操作命令:add,change、replace、delete、show、flush、get;
rule 对象支持的操作命今:add、delete、flush、show;
maddress 对象支持的操作命令:show、add、delete;
mroute 对象支持的操作命令:show;
tunnel 对象支持的操作命令:add、change、delete,prl、show;
xfrm 对象支持的操作命令:state、policy、monitor。
说明:
1)show命令用于显示指定设备的信息,加果后面不接设备名,剩会显示所有设备的信息。例如ip a和ip a show的结果是一样的。
2)操作命令也可以简写,比如ip a show 可以简写为ip a s

显示网络设备属性

[root@cs6 ~]# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8c:6a:0e brd ff:ff:ff:ff:ff:ff[root@cs6 ~]# ip -s link show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8c:6a:0e brd ff:ff:ff:ff:ff:ffRX: bytes  packets  errors  dropped overrun mcast   0          0        0       0       0       0       TX: bytes  packets  errors  dropped carrier collsns 828        12       0       0       0       0
[root@cs6 ~]# ip -s -s link show dev eth1  # 使用两个s显示更详细的属性
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8c:6a:0e brd ff:ff:ff:ff:ff:ffRX: bytes  packets  errors  dropped overrun mcast   0          0        0       0       0       0       RX errors: length   crc     frame   fifo    missed0        0       0       0       0       TX: bytes  packets  errors  dropped carrier collsns 828        12       0       0       0       0       TX errors: aborted  fifo   window heartbeat0        0       0       0       

关闭和激活设备

[root@cs6 ~]# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8c:6a:0e brd ff:ff:ff:ff:ff:ff
[root@cs6 ~]# ip link set eth1 down
[root@cs6 ~]# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000link/ether 00:0c:29:8c:6a:0e brd ff:ff:ff:ff:ff:ff

修改MAC地址

[root@cs6 ~]# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000link/ether 00:0c:29:8c:6a:0e brd ff:ff:ff:ff:ff:ff
[root@cs6 ~]# ip link set eth1 address 0:0c:29:13:10:11  #<=修改MAC地址
[root@cs6 ~]# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ff

查看网卡信息

查看网卡信息
[root@cs6 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8c:6a:04 brd ff:ff:ff:ff:ff:ffinet 10.0.0.100/24 brd 10.0.0.255 scope global eth0inet6 fe80::20c:29ff:fe8c:6a04/64 scope link valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet 172.16.1.100/24 brd 172.16.1.255 scope global eth1
[root@cs6 ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:8c:6a:04 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ff

添加删除IP

添加或删除IP地址
[root@cs6 ~]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet 172.16.1.100/24 brd 172.16.1.255 scope global eth1
[root@cs6 ~]# ip link set eth1 up
[root@cs6 ~]# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ff[root@cs6 ~]# ip a add 172.16.1.13/24 dev eth1
# 可以添加多个IP地址,这种称为辅助IP,前面ifconfig 命令创建的为别名称IP.现在采用的高可用软件诶heartbeat 、keepalive都采用了辅助IP
[root@cs6 ~]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet 172.16.1.100/24 brd 172.16.1.255 scope global eth1inet 172.16.1.13/24 scope global secondary eth1inet6 fe80::20c:29ff:fe13:1011/64 scope link valid_lft forever preferred_lft forever

[root@cs6 ~]# ip a del 172.16.1.100/24 dev eth1 # 删除主IP
[root@cs6 ~]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet6 fe80::20c:29ff:fe13:1011/64 scope link valid_lft forever preferred_lft forever
#IP地址全部被删除[root@cs6 ~]# ip a add 172.16.1.100/24 dev eth1
[root@cs6 ~]# ip a add 172.16.1.13/24 dev eth1
[root@cs6 ~]# ip a del 172.16.1.13/24 dev eth1
[root@cs6 ~]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet 172.16.1.100/24 scope global eth1inet6 fe80::20c:29ff:fe13:1011/64 scope link valid_lft forever preferred_lft forever

小结

删除网卡的主IP地址,同时会删除该网卡的所有IP地址。
删除网卡的辅助IP地址,不会影响该网卡的其他IP地址。

使用ip命令创建别名IP

[root@cs6 ~]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet 172.16.1.100/24 scope global eth1inet6 fe80::20c:29ff:fe13:1011/64 scope link valid_lft forever preferred_lft forever
使用label选项创建别名IP
[root@cs6 ~]# ip a add 10.0.0.29/32 dev eth1 label eth1:1
[root@cs6 ~]# ip a show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:13:10:11 brd ff:ff:ff:ff:ff:ffinet 172.16.1.100/24 scope global eth1inet 10.0.0.29/32 scope global eth1:1inet6 fe80::20c:29ff:fe13:1011/64 scope link valid_lft forever preferred_lft forever
[root@cs6 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:8C:6A:04  inet addr:10.0.0.100  Bcast:10.0.0.255  Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fe8c:6a04/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:2876 errors:0 dropped:0 overruns:0 frame:0TX packets:1835 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:266051 (259.8 KiB)  TX bytes:198053 (193.4 KiB)eth1      Link encap:Ethernet  HWaddr 00:0C:29:13:10:11  inet addr:172.16.1.100  Bcast:0.0.0.0  Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fe13:1011/64 Scope:LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:18 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b)  TX bytes:1296 (1.2 KiB)eth1:1    Link encap:Ethernet  HWaddr 00:0C:29:13:10:11  inet addr:10.0.0.29  Bcast:0.0.0.0  Mask:255.255.255.255UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

备注:使用ifconfig命令创建的别名IP,ip命令能够查询到;相反,通过ip命今创建的辅助IP,ifconfig命令则查询不了,除非使用ip命令的label功能创建别名IP。

查看路由表

[root@cs6 ~]# ip route
10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.100
172.16.1.0/24 dev eth1  proto kernel  scope link  src 172.16.1.100
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 10.0.0.2 dev eth0
[root@cs6 ~]# ip route|column -t
10.0.0.0/24     dev  eth0      proto  kernel  scope   link  src  10.0.0.100
172.16.1.0/24   dev  eth1      proto  kernel  scope   link  src  172.16.1.100
169.254.0.0/16  dev  eth0      scope  link    metric  1002
default         via  10.0.0.2  dev    eth0#<==使用column命令格式化,选项-t,默认根据空格分隔判断输入行的到数来创建一个表。
[root@cs6 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         10.0.0.2        0.0.0.0         UG    0      0        0 eth0
添加静态路由
[root@cs6 ~]# ip route add 10.1.0.0/24 via 10.0.0.253 dev eth0
[root@cs6 ~]# ip route |column -t
10.0.0.0/24     dev  eth0        proto  kernel  scope   link  src  10.0.0.100
172.16.1.0/24   dev  eth1        proto  kernel  scope   link  src  172.16.1.100
10.1.0.0/24     via  10.0.0.253  dev    eth0
169.254.0.0/16  dev  eth0        scope  link    metric  1002
default         via  10.0.0.2    dev    eth0

查看ARP缓存

查看ARP缓存
[root@cs6 ~]# ip neighbour
10.0.0.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
10.0.0.2 dev eth0 lladdr 00:50:56:f4:fb:52 STALE
10.0.0.99 dev eth0  FAILED添加或删除静态ARP项
[root@cs6 ~]# ip neighbour add 192.168.1.100 lladdr 00:50:56:f4:fb:55 dev eth0
[root@cs6 ~]# ip neighbour
192.168.1.100 dev eth0 lladdr 00:50:56:f4:fb:55 PERMANENT
10.0.0.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
10.0.0.99 dev eth0  FAILED
10.0.0.2 dev eth0 lladdr 00:50:56:f4:fb:52 STALE[root@cs6 ~]# ip neighbour del 192.168.1.100 dev eth0
[root@cs6 ~]# ip neighbour
192.168.1.100 dev eth0  FAILED
10.0.0.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
10.0.0.99 dev eth0  FAILED
10.0.0.2 dev eth0 lladdr 00:50:56:f4:fb:52 STALE

CentOS7开始推广ip命令,用于替代传统的ifconfig和route命令

10.6 ip:网络配置工具相关推荐

  1. 网络管理 之 Fedora Core 网络配置工具system-config-network介绍

    作者:北南南北 来自:LinuxSir.Org 提要:本文主要介绍Fedora Core 系统中的网络配置工具system-config-network,帮助初学者如何学会配置网络,以及如何设置非路由 ...

  2. 虚拟机的IP网络配置

    虚拟机IP网络配置 一.配置虚拟机 二.查看现在的地址 三.修改虚拟机的配置文件 四.配置完成后重启网络: 一.配置虚拟机 在编辑中找到虚拟网络编辑器,修改 保存后,开始修改虚拟机的ip 二.查看现在 ...

  3. linux 无线网络配置工具wpa_supplicant与wireless-tools

    内容: 介绍 WPA Supplicant Wireless Tools 针对每个ESSID的网络配置 4.a. 介绍 目前您可以使用我们提供的wireless-tools 或wpa_supplica ...

  4. linux无线网络密码修改,linux无线网络配置工具----iwconfig

    wconfig iwconfig是Linux Wireless Extensions(LWE)的用户层配置工具之一.LWE是Linux下对无线网络配置的工具,包括内核的支持.用户层配置工具和驱动接口的 ...

  5. Ifconfig网络配置工具详解

    Linux命令:ifconfig 语法 ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][& ...

  6. 监控TCP/IP网络的工具netstat介绍

    说明 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息,以及与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检 ...

  7. linux centos7 NetworkManager 命令行网络配置工具 nmcli 简介

    目录 nmcli命令与配置文件对应关系 修改配置文件的主机名 查看网卡信息 显示具体的网络接口信息 显示所有设配状态 修改配置文件执行生效 显示所有活动连接 删除一个网卡连接 添加一个网卡连接 网络接 ...

  8. (实用)Ubuntu Linux静态IP网络配置

    记录备忘. 基于Ubuntu 14.04 LTS Server. 首先查看一下当前系统的网卡: $ sudo iconfig 比如这里我除了回环网路lo外,网络接口名为em1,下面就去给它配置网络. ...

  9. CentOS 6.9配置网卡IP/网关/DNS命令详细介绍及一些常用网络配置命令(转)

    一.IP 即时生效(重启后失效): ifconfig eth0 192.168.1.102 netmask 255.255.255.0 //添加IP地址 route add default gw 19 ...

最新文章

  1. c语言弟弟的作业,教弟弟做作业作文500字
  2. Steam 导入已下载好的游戏
  3. 【深度学习】卷积越大性能越强!RepLKNet一作在线分享:Transformer阴影下的超大卷积核复兴...
  4. js(三) ajax异步局部刷新技术底层代码实现
  5. 用户首次登录之前必须更改密码_技术丨带你玩转Win10系统的用户账户
  6. 电脑无internet访问_电脑中的代理服务器怎么设置 代理服务器设置方法 - 操作系统...
  7. 完全没法比!华为P40 Pro和iPhone 9宣传视频同曝光
  8. pyqt5中控件缩放功能_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...
  9. 安卓干货——PC 连接手机实现摄像头预览
  10. 上班,老实人和精明人的区别是什么?
  11. 光纤激光器仿真:(2)孤子分子及其转换动力学
  12. 图文结合带你搞懂InnoDB MVCC
  13. day04-硅谷课堂-前端基础知识(二)
  14. [book]《岩田先生》
  15. SLF4J(六) - MDC/MDCAdapter是什么?
  16. 不使用循环,求二进制中1的个数
  17. 学校图书管理系统基于c语言源代码,基于C语言的学校图书管理系统参考.doc
  18. 淘客未来新趋势:自媒体淘客!
  19. 类型转换异常:java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.
  20. Avada学习之-如何修改Header-logo和favicon图标

热门文章

  1. mysql 判断是否日期类型_MySQL:日期类型
  2. 综艺节目php灭灯_非诚勿扰php程序员 结果遭女嘉宾瞬间全灭灯
  3. c++ 原子操作 赋值_原子操作原理
  4. airpods pro连接安卓声音小_谁才是最好用的安卓无线耳机,三个方面对比AirPods与荣耀FlyPods...
  5. viewpager 自定义翻页效果_轻松打造专业的录音棚效果,连网红用了都说好的唱吧声卡K10套装...
  6. java高并发(十三)并发容器J.U.C--AQS
  7. 醒醒!Python已经支持中文变量名啦!
  8. java中获取错误,在简单程序中获取分段错误
  9. python怎么打不开图片_为什么pygame打不开图片 各种格式的都试过了
  10. redis 判断存在性_实战 | springboot+redis+拦截器 实现接口幂等性校验