zoukankan      html  css  js  c++  java
  • ip

    linux命令总结之ip命令

    常用命令

    ip route 查看路由表
    ip route del xxxx(路由表数据)
    ip link set dev ens35 up  #启动网卡
    

    要安装ip,请点击这里下载iproute2套装工具 。不过,大多数Linux发行版已经预装了iproute2工具。

    你也可以使用git命令来下载最新源代码来编译:

    1
    $ git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/shemminger/iproute2.git

    设置和删除Ip地址

    要给你的机器设置一个IP地址,可以使用下列ip命令:

    [root@Gin scripts]# ip addr add 192.168.17.30/24 dev eth0
    [root@Gin scripts]# ip addr
    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
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
        link/ether 00:0c:29:84:0c:21 brd ff:ff:ff:ff:ff:ff
        inet 192.168.17.129/24 brd 192.168.17.255 scope global eth0
        inet 192.168.17.30/24 scope global secondary eth0
        inet6 fe80::20c:29ff:fe84:c21/64 scope link 
           valid_lft forever preferred_lft forever
    

    请注意IP地址要有一个后缀,比如/24。这种用法用于在无类域内路由选择(CIDR)中来显示所用的子网掩码。在这个例子中,子网掩码是255.255.255.0。

    你也可以使用相同的方式来删除IP地址,只需用del代替add。

    [root@Gin scripts]# ip addr del 192.168.17.30/24 dev eth0
    [root@Gin scripts]# ip addr
    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
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
        link/ether 00:0c:29:84:0c:21 brd ff:ff:ff:ff:ff:ff
        inet 192.168.17.129/24 brd 192.168.17.255 scope global eth0
        inet6 fe80::20c:29ff:fe84:c21/64 scope link 
           valid_lft forever preferred_lft forever
    

    列出路由表条目

    ip命令的路由对象的参数还可以帮助你查看网络中的路由数据,并设置你的路由表。第一个条目是默认的路由条目,你可以随意改动它。

    在这个例子中,有几个路由条目。这个结果显示有几个设备通过不同的网络接口连接起来。它们包括WIFI、以太网和一个点对点连接。

    [root@Gin scripts]# ip route show
    192.168.17.0/24 dev eth0  proto kernel  scope link  src 192.168.17.129 
    169.254.0.0/16 dev eth0  scope link  metric 1002 
    default via 192.168.17.2 dev eth0 
    

    假设现在你有一个IP地址,你需要知道路由包从哪里来。可以使用下面的路由选项(译注:列出了路由所使用的接口等):

    [root@Gin scripts]# ip route get 192.168.17.130
    192.168.17.130 dev eth0  src 192.168.17.129 
        cache  mtu 1500 advmss 1460 hoplimit 64
    

    更改默认路由

    要更改默认路由,使用下面ip命令:

    [root@Gin scripts]# ip route add default via 192.168.17.3
    

    显示网络统计数据

    使用ip命令还可以显示不同网络接口的统计数据

    [root@Gin scripts]# ip -s 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
        RX: bytes  packets  errors  dropped overrun mcast   
        0          0        0       0       0       0      
        TX: bytes  packets  errors  dropped carrier collsns 
        0          0        0       0       0       0      
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
        link/ether 00:0c:29:84:0c:21 brd ff:ff:ff:ff:ff:ff
        RX: bytes  packets  errors  dropped overrun mcast   
        135268     1134     0       0       0       0      
        TX: bytes  packets  errors  dropped carrier collsns 
        134830     960      0       0       0       0 
    

    当你需要获取一个特定网络接口的信息时,在网络接口名字后面添加选项ls即可。使用多个选项-s会给你这个特定接口更详细的信息。特别是在排除网络连接故障时,这会非常有用。

    $ ip -s -s link ls p2p1
    

    ARP条目

    地址解析协议(ARP)用于将一个IP地址转换成它对应的物理地址,也就是通常所说的MAC地址。使用ip命令的neigh或者neighbour选项,你可以查看接入你所在的局域网的设备的MAC地址。

    [root@Gin scripts]# ip neighbour
    192.168.17.1 dev eth0 lladdr 00:50:56:c0:00:08 DELAY
    

    监控netlink消息

    也可以使用ip命令查看netlink消息。monitor选项允许你查看网络设备的状态。比如,所在局域网的一台电脑根据它的状态可以被分类成REACHABLE或者STALE。使用下面的命令:

    [root@Gin scripts]# ip monitor all
    [NEIGH]192.168.17.2 dev eth0 lladdr 00:50:56:f3:2d:50 REACHABLE
    [NEIGH]192.168.17.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
    

    激活和停止网络接口

    你可以使用ip命令的up和down选项来激某个特定的接口,就像ifconfig的用法一样。

    在这个例子中,当ppp0接口被激活和在它被停止和再次激活之后,你可以看到相应的路由表条目。这个接口可能是wlan0或者eth0。将ppp0更改为你可用的任意接口即可。

    $ ip link set eth0 down
      
    $ ip link set eth0 up
    

    获取帮助

    当你陷入困境,不知道某一个特定的选项怎么用的时候,你可以使用help选项。man页面并不会提供许多关于如何使用ip选项的信息,因此这里就是获取帮助的地方。

    比如,想知道关于route选项更多的信息:

    [root@Gin scripts]# ip route help
    Usage: ip route { list | flush } SELECTOR
           ip route get ADDRESS [ from ADDRESS iif STRING ]
                                [ oif STRING ]  [ tos TOS ]
           ip route { add | del | change | append | replace | monitor } ROUTE
    SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ]
                [ table TABLE_ID ] [ proto RTPROTO ]
                [ type TYPE ] [ scope SCOPE ]
    ROUTE := NODE_SPEC [ INFO_SPEC ]
    NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ]
                 [ table TABLE_ID ] [ proto RTPROTO ]
                 [ scope SCOPE ] [ metric METRIC ]
    INFO_SPEC := NH OPTIONS FLAGS [ nexthop NH ]...
    NH := [ via ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS
    OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ]
               [ rtt TIME ] [ rttvar TIME ] [reordering NUMBER ]
               [ window NUMBER] [ cwnd NUMBER ] [ initcwnd NUMBER ]
               [ ssthresh NUMBER ] [ realms REALM ] [ src ADDRESS ]
               [ rto_min TIME ] [ hoplimit NUMBER ] [ initrwnd NUMBER ]
    TYPE := [ unicast | local | broadcast | multicast | throw |
              unreachable | prohibit | blackhole | nat ]
    TABLE_ID := [ local | main | default | all | NUMBER ]
    SCOPE := [ host | link | global | NUMBER ]
    FLAGS := [ equalize ]
    MP_ALGO := { rr | drr | random | wrandom }
    NHFLAGS := [ onlink | pervasive ]
    RTPROTO := [ kernel | boot | static | NUMBER ]
    TIME := NUMBER[s|ms]
    

    小结

    对于网络管理员们和所有的Linux使用者们,ip命令是必备工具。是时候抛弃ifconfig命令了,特别是当你写脚本时。

    via: http://linoxide.com/linux-command/use-ip-command-linux/

    « 上一篇: linux命令总结之dig命令
    » 下一篇: linux命令总结之route命令

    微信:jinmuqq222
  • 相关阅读:
    1.5 RPM红帽软件包1.6 Yum软件仓库
    Linux如何查找大文件或目录总结
    1.4 重置root用户密码
    Chrome 红色和 Chromium蓝色 区别:logoChrome 红色和 Chromium蓝色;Chrome闭源和 Chromium开源;
    【Android架构GPS篇】之定位数据怎样从GPS芯片到应用层
    ArcGIS教程:生成特征文件、类和聚类分析
    MiniGUI + Hi3531 笔记 .
    swift手记-2
    java桌面程序中使用联动菜单遇到与解决的问题
    &lt;div+css页面布局课堂笔记&gt;11---页面布局站点首页设计实例__终极版(仿csdn首页)
  • 原文地址:https://www.cnblogs.com/jinmuqq222/p/14632134.html
Copyright © 2011-2022 走看看