内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

Linux ip命令详解

2019-02-10 18:22 出处:清屏网 人气: 评论(0

前言

我之前一直都使用 ifconfig 命令,觉的这个命令挺好用的,后来有次安装Linux发型版本,发现没有了 ifconfig 这个工具了,无奈之下,到处百度,发现了 ip 这个命令,一顿学习后,发现 ip 命令完全可以替代 ifconfig 命令,而且功能还比 ifconfig 命令强大,所以,还等什么,借用现在的一个网络流行词:盘它。

命令简介

作为每个Linux网络管理员和所有的Linux使用者们, ip 命令是必备工具,这个命令完美的取代了 ifconfig 命令,所以这篇文章就将全面的总结 ip 命令,希望通过我的这篇总结,让大家可以更熟悉 ip 命令。

命令详解

ip 常用命令格式如下:

ip [ OPTIONS ] OBJECT { COMMAND | help }

对象 OBJECT={ link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }

选项 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] }

常用对象的取值含义如下:

link
address
addrlabel
route
rule

常用选项的取值含义如下:

-V,-Version
-s,-stats,statistics
-h,-human,-human-readable
-o,-oneline

使用实例-检查网卡信息

说实话这个 ip 命令真的好复杂,选项参数有那么多,所以吧,我们不可能每个功能面面俱到。所以呢,我这里就对我们日常工作中经常用到的一些用法进行总结。

  • 命令: ip addr show

    说明:显示网卡及配置的地址信息

    输出:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.24/24 brd 192.168.0.255 scope global eth0
           valid_lft forever preferred_lft forever

    输出内容详解:

    首先这个系统有两个接口: loeth0lo 是环回接口,而我们重点关注的则是 eth0 这个普通网络接口;下面在看看每个子项的含义:

    • <BROADCAST,MULTICAST,UP,LOWER_UP>BROADCAST 表示该接口支持广播; MULTICAST 表示该接口支持多播; UP 表示该网络接口已启用; LOWER_UP 表示网络电缆已插入,设备已连接至网络
    • mtu 1500 :最大传输单位(数据包大小)为1,500字节
    • qdisc pfifo_fast :用于数据包排队
    • state UP :网络接口已启用
    • qlen 1000 :传输队列长度
    • link/ether 00:1e:4f:c8:43:fc :接口的MAC(硬件)地址
    • brd ff:ff:ff:ff:ff:ff :广播地址
    • inet 192.168.0.24/24 :IPv4地址
    • brd 192.168.0.255 :广播地址
    • scope global :全局有效
    • dynamic enp0s25 :地址是动态分配的
    • valid_lft forever :IPv4地址的有效使用期限
    • preferred_lft forever :IPv4地址的首选生存期
    • inet6 fe80::2c8e:1de0:a862:14fd/64 :IPv6地址
    • scope link :仅在此设备上有效
    • valid_lft forever :IPv6地址的有效使用期限
    • preferred_lft forever :IPv6地址的首选生存期

使用实例-IP管理

  • 命令: ip addr add 192.168.0.123/24 dev eth0
    说明:设置IP
  • 命令: ip add del 192.168.0.123/24 dev eth0
    说明:删除配置的IP

使用实例-启用/禁用网卡

  • 命令: ip link set eth0 up
    说明:启用被禁用的网卡

  • 命令: ip link set eth0 down
    说明:禁用网卡

使用实例-路由配置

  • 命令: ip route show

    说明:查看路由信息

    输出:

    default via 172.17.175.253 dev eth0 
    169.254.0.0/16 dev eth0 scope link metric 1002 
    172.17.160.0/20 dev eth0 proto kernel scope link src 172.17.169.20

    输出内容详解:

    • 输出内容第一条是默认的路由,我们可以根据我们的需要改动它
    • metric 1002 :跳跃计数,确定网关的优先级,默认20,数值越小优先级越高
    • proto kernel :该路由的协议,主要有 redirectkernelbootstaticra 等,其中 kernel 指的是直接由核心判断自动设定
  • 命令: ip route get 119.75.216.20
    说明:通过IP地址查询路由包从哪条路由来
  • 命令: ip route add default via 192.168.0.150/24
    说明:所有的网络数据包都通过192.168.0.150来转发,而不是以前的默认路由

  • 命令: ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3
    说明:修改特定网卡的默认路由

  • 命令: ip route del 172.17.160.0/20
    说明:删除路由

  • 命令: ip route flush cache
    说明:刷新路由表

使用实例-显示网络统计数据

这个显示网络统计数据则是 ip 命令非常重要的一个功能,很多时候,我们都依靠该功能来进行排除网络故障。

  • 命令: ip -s link
    说明:显示所有网络接口的统计数据

    输出:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        RX: bytes  packets  errors  dropped overrun mcast   
        361849729592 174114258 0       0       0       0       
        TX: bytes  packets  errors  dropped carrier collsns 
        361849729592 174114258 0       0       0       0       
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
        link/ether 00:16:3e:08:08:55 brd ff:ff:ff:ff:ff:ff
        RX: bytes  packets  errors  dropped overrun mcast   
        32345193376 115901261 0       0       0       0       
        TX: bytes  packets  errors  dropped carrier collsns 
        139742200499 114451909 0       0       0       0

    输出重点内容详解:

    RX
    TX
    bytes
    packets
    errors
    dropped
    overrun
    mcast
    carrier
    collsns
    
  • 命令: ip -s -s link ls eth0
    说明:获取一个特定网络接口的信息;在网络接口名字后面添加选项 ls 即可。使用多个选项 -s 会输出指定接口详细的信息;特别是在排除网络连接故障时,这会非常有用。
    输出:
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
        link/ether 00:16:3e:08:08:55 brd ff:ff:ff:ff:ff:ff
        RX: bytes  packets  errors  dropped overrun mcast   
        32469801665 116402997 0       0       0       0       
        RX errors: length   crc     frame   fifo    missed
                   0        0       0       0       0       
        TX: bytes  packets  errors  dropped carrier collsns 
        140235841575 115066014 0       0       0       0       
        TX errors: aborted  fifo   window heartbeat transns
                   0        0       0       0       2

总结

ip 命令就是运维人员手中的瑞士军刀,接下来就需要我们去熟练的用起来。我这里就是简单的总结了一下 ip 命令,接下来就靠大家去领悟、学习和运用了。到此, ip 命令的总结就到此结束,后续如有特殊用法,我再继续补充。

分享给小伙伴们:
本文标签: Linuxip

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号