iproute2 订阅
iproute2
信息
操作系统
Linux
开发语言
C/C++
开源协议
GPLv2
iproute2
`iproute', 一个专业的工具用来控制网络行为。
收起全文
精华内容
下载资源
问答
  • Iproute2

    2018-08-19 16:08:33
    安装 核心命令 常用命令 ip地址管理 网卡和链路配置 路由表管理 隧道配置 邻居和arp表管理 socket统计 ...net-tools在很多年前就不在更新,在新版本的电脑里基本全是iproute2,所以我们...# yum install -y iproute2 ...

    安装

    net-tools在很多年前就不在更新,在新版本的电脑里基本全是iproute2,所以我们需要学习使用。
    现在来说说安装方法。
    安装?不存在的,基本自带了。

    # yum install -y iproute2   //centos使用这个
    # sudo install -y iproute2
    

    核心命令

    对应选项

    选项 作用
    link 网络设备配置命令,可以启用/禁用某个网络设备,改变mtu及mac地址等。
    addr 用于管理某个网络设备与协议有关的地址,与ip link类似,不过增加了协议有关的管理(比如增加ip地址)
    addrlabel IPV6的地址标签,主要用于RFC3484中描述的IPV6地址的选择。RFC3484主要介绍了两个算法,用于IPV6地址的选择策略。
    rule 管理路由,添加与删除等。
    neigh 用于neighbor/ARP表的管理。如显示,插入,删除等。
    tunnel 隧道配置,隧道的作用是将数据(可以是不同协议)封装成IP包然后在互联网上将包发出。
    maddr 多播地址管理
    mroute 多播路由管理
    monitor 状态监控,如可以持续监控IP地址和路由的状态。
    xfrm 设置xfrm。xfrm是一个IP框架,可以转换数据报的格式,如用某个算法对数据包进行加密。

    常用命令

    命令 作用
    ip link show 显示链路
    ip addr show 显示地址(或ifconfig)
    ip route show 显示路由(route -n)
    ip neigh show 显示arp表(ping 192.168.95.50,如果主机在同一局域网内,直接加到arp表)
    ip neigh delete 192.168.95.50 dev eth0 删除arp条目,条目仍然存在状态为stale,下次通信需要确认
    ip rule show 显示缺省规则
    ip route del default dev eth0 删除接口路由
    ip route show table local 查看本地静态路由
    ip route show table main 查看直连路由

    ip地址管理

    1. 显示ip地址
    # ip a //显示全部网卡
    # ip address show   //同上
    # ip addr show dev ens33  //指定查看某个网卡信息
    # ip a sh ens33 //iproute2支持简写,效果同上
    1. 增加删除地址
    # ip addr add 192.168.1.200/24 dev ens33  //在指定网卡添加一个ip地址
    # ip addr del 192.168.1.200/24 dev ens33  //删除指定网卡的ip地址
    1. 添加网卡别名
    # ip addr add 192.168.8.222/24 label ens123:1 dev ens33
    1. 显示接口统计
    # ip -s link //显示全部接口统计
    # ip -s link ls ens33  //显示某网卡接口统计

    网卡和链路配置

    1. 显示链路
    # ip link show 
    # ip link show ens33
    # ip link sh ens33
    1. 修改接口状态
    # ip link set ens33 up //打开
    # ip link set ens33 down //关闭
    # ip link s ens33 down

    路由表管理

    1. 显示路由表
    # ip route 
    # ip ro show dev ens33
    1. 增加\删除新路由
    # ip route add 10.2.2.128/27 dev ens33
    # ip route del 10.2.2.128/27 dev ens33
    1. 增加默认路由器
    # ip route add default via 192.168.8.1
    # ip route del default via 192.168.8.1
    1. 修改默认路由
    # ip route chg default via 192.168.1.2
    1. 删除默认路由
    # ip route del default 
    1. 查看路由表
    # ip route show table main
    1. 添加静态路由
    # ip route add 10.0.0.0/24 via 192.168.92.129
    # ip route add 10.10.10.10 via 192.168.92.129
    # ip route add 172.31.100.0/24 dev ens33
    # ip route add 172.32.0.2 dev ens33

    8.删除

    # ip route del 10.0.0.0/24
    # ip route del 10.10.10.10 
    # ip route del 172.31.100.0/24
    # ip route del 172.32.0.2

    隧道配置

    1. 增加删除GRE隧道
    # ip tunnel add ens33 mode gre local 10.1.1.1 remote 20.2.2.1 ttl 255
    # ip tunnel dell ens33
    1. IPIP隧道
    # ip tunl a ipip01 mode ipip local 10.1.1.1 remote 20.2.2.1 ttl 255
    1. 显示隧道
    # ip tunnel show
    1. 显示隧道统计
    # ip -s tunnel ls ens33
    # ip -s tunl ls ens33

    邻居和arp表管理

    1. 查看arp表
    # ip neigh show 
    1. 手工增加删除arp项
    # ip neighbor add 10.2.2.2 dev ens33
    # ip neigh del 10.2.2.2 dev ens33

    socket统计

    1. 显示当前监听
    # ss -l
    1. 显示当前监听进程
    # ss -p

    实例操作

    多个ip地址间的切换

    目前不会,等有时间研究跟新。

    展开全文
  • iproute2

    千次阅读 2017-04-22 10:14:51
    origin: https://en.wikipedia.org/wiki/Iproute2 ...iproute2 is a collection of userspace utilities for controlling and monitoring various aspects of networking in the Linux kernel, including rout
    origin: https://en.wikipedia.org/wiki/Iproute2

    iproute2 is a collection of userspace utilities for controlling and monitoring various aspects of networking in the Linux kernel, including routing, network interfaces, tunnels, traffic control, and network-related device drivers.

    iproute2 is an open-source project released under the terms of version 2 of the GNU GPL license. Its development is closely tied to the development of networking components of the Linux kernel. As of December 2013, iproute2 is maintained by Stephen Hemminger. The original author, Alexey Kuznetsov, was responsible for the Quality of Service (QoS) implementation in the Linux kernel.[2]

    iproute2 collection contains the following command-line utilities: ip, ss, bridge, rtacct, rtmon, tc, ctstat, lnstat, nstat, routef, routel, rtstat, tipc, arpd and devlink.[3]tc is used for traffic control. iproute2 utilities communicate with the Linux kernel using the netlink protocol. Some of the iproute2 utilities are often recommended over now-obsolete net-tools utilities that provide the same functionality.[4][5] Below is a table of obsolete utilities and their iproute2 replacements.

    net-tools utilities obsoleted by iproute2
    Legacy utility Obsoleted by Note
    ifconfig ip addr, ip link, ip -s Address and link configuration
    route ip route Routing tables
    arp ip neigh Neighbors
    iptunnel ip tunnel Tunnels
    nameif ifrename, ip link set name Rename network interfaces
    ipmaddr ip maddr Multicast
    netstat ip -s, ss, ip route Show various networking statistics

    See also

    References


    "iproute2 download directory on kernel.org". kernel.org. Retrieved December 14, 2016.
    "Introduction to iproute2". The Linux Foundation. November 19, 2009. Retrieved June 30, 2014.
    "list of the Debian package iproute2". Debian.
    Martín Ferrari (March 15, 2009). "net-tools future". debian.org. Retrieved June 30, 2014.
    1. "net-tools". linuxfoundation.org.

    External links


    展开全文
  • iproute2-cheatsheet:iproute2命令参考
  • iproute2-源码

    2021-03-21 19:49:28
    iproute2
  • iproute2学习

    2019-11-17 16:11:29
    iproute2主要基于Netlink net-tools主要工具: iproute2主要工具: 1. 查看网卡信息ip addr show 2. 为网络接口添加一个IP地址 3. 删除网络接口的一个IP地址 4. 禁用...

    摘自:《linux大棚命令百篇-网路和系统篇》

    网路工具包net-tools和iproute2
    net-tools基于IOCTL
    iproute2主要基于Netlink

    net-tools主要工具:

    iproute2主要工具:

    1. 查看网卡信息ip addr show

    2. 为网络接口添加一个IP地址

    3. 删除网络接口的一个IP地址

    4.  禁用网卡

    5. 激活网卡

     6. 查看路由表

    ip route命令

    http://rpm.pbone.net/index.php3/stat/45/idpl/17505675/numer/8/nazwa/ip-route

    https://manpages.debian.org/stretch/iproute2/ip-route.8.en.html

    https://linux.die.net/man/8/ip

    ip route/   ip route show/     ip route list 都可以

    两个规则对比看,第1/2条表示默认路由,0.0.0.0表示默认路由,网关表示下一条的IP地址,跃点即metric,度量标准(一般不是hook数么?),接口表示从哪个接口发出去。如果有多条到达相同目的地的路由记录,路由器会采用metric值小的那条路由 。

    第4.5条路由规则中网关为0.0.0.0表示为直连网络,直接通过端口送出即可。

    https://bbs.csdn.net/topics/80047887

    http://www.mamicode.com/info-detail-1412618.html

    第一个表中,src 192.168.2.200表示ens33的ip地址,

    这条路由规则没有via的字段,表示它是直连路由,直接通过端口送出即可。

    这个路由表信息解读还不会。

    ip route show table all:查看所有路由规则

    ip route get ip地址:查看该ip地址的数据包的来源(感觉很有效)

    7. 增加一条路由规则

    添加路由,下面这个写法才是最完整的吧,还指定了端口。

    下面这种应该添加的是直连网络或者直连网络主机的路由:

    8. 删除一条路由

    9. 指定默认网关

    10. 删除默认网关

    11. 查看arp表

    arp表的最后一列表示邻居的可达性,有三个可能的值,

    STABLE:邻居存在,但目前处于不可达状态

    DELAY:探测邻居可达与否的数据包已经发出,正在等待邻居的回复

    REACHABLE:邻居存在,而且是可达的。

     

    展开全文
  • ip iproute2的典型应用

    2020-09-01 09:45:38
    ip iproute2的典型应用 net-tools和iproute2的命令做对比,做到简单明了,分别演示如何去获取、配置和操作系统网络信息。 以下是net-tools和iproute2的大致对比: 4.1 ip link set--改变设备的属性. 缩写:...

    ip iproute2的典型应用

     

    net-tools和iproute2的命令做对比,做到简单明了,分别演示如何去获取、配置和操作系统网络信息。

    以下是net-tools和iproute2的大致对比:

     4.1 ip link set--改变设备的属性. 缩写:set、s

      示例1:up/down 起动/关闭设备。

      # ip link set dev eth0 up

      这个等于传统的 # ifconfig eth0 up(down)

      示例2:改变设备传输队列的长度。

      参数:txqueuelen NUMBER或者txqlen NUMBER

      # ip link set dev eth0 txqueuelen 100

      示例3:改变网络设备MTU(最大传输单元)的值。

      # ip link set dev eth0 mtu 1500

      示例4: 修改网络设备的MAC地址。

      参数: address LLADDRESS

      # ip link set dev eth0 address 00:01:4f:00:15:f1

      4.2 ip link show--显示设备属性. 缩写:show、list、lst、sh、ls、l

      -s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。

      示例:

      # ip -s -s link ls eth0

      eth0: mtu 1500 qdisc cbq qlen 100

      link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff

      RX: bytes packets errors dropped overrun mcast

      2449949362 2786187 0 0 0 0

      RX errors: length crc frame fifo missed

      0 0 0 0 0

      TX: bytes packets errors dropped carrier collsns

      178558497 1783946 332 0 332 35172

      TX errors: aborted fifo window heartbeat

      0 0 0 332

      这个命令等于传统的 ifconfig eth0

      5.1 ip address add--添加一个新的协议地址. 缩写:add、a

      示例1:为每个地址设置一个字符串作为标签。为了和Linux-2.0的网络别名兼容,这个字符串必须以设备名开头,接着一个冒号,

      # ip addr add local 192.168.4.1/28 brd + label eth0:1 dev eth0

      示例2: 在以太网接口eth0上增加一个地址192.168.20.0,掩码长度为24位(155.155.155.0),标准广播地址,标签为eth0:Alias:

      # ip addr add 192.168.4.2/24 brd + dev eth1 label eth1:1

      这个命令等于传统的: ifconfig eth1:1 192.168.4.2

      5.2 ip address delete--删除一个协议地址. 缩写:delete、del、d

      # ip addr del 192.168.4.1/24 brd + dev eth0 label eth0:Alias1

      5.3 ip address show--显示协议地址. 缩写:show、list、lst、sh、ls、l

      # ip addr ls eth0

      5.4.ip address flush--清除协议地址. 缩写:flush、f

      示例1 : 删除属于私网10.0.0.0/8的所有地址:

      # ip -s -s a f to 10/8

      示例2 : 取消所有以太网卡的IP地址

      # ip -4 addr flush label "eth0"

      6. ip neighbour--neighbour/arp表管理命令

      缩写 neighbour、neighbor、neigh、n

      命令 add、change、replace、delete、fulsh、show(或者list)

      6.1 ip neighbour add -- 添加一个新的邻接条目

      ip neighbour change--修改一个现有的条目

      ip neighbour replace--替换一个已有的条目

      缩写:add、a;change、chg;replace、repl

      示例1: 在设备eth0上,为地址10.0.0.3添加一个permanent ARP条目:

      # ip neigh add 10.0.0.3 lladdr 0:0:0:0:0:1 dev eth0 nud perm

      示例2:把状态改为reachable

      # ip neigh chg 10.0.0.3 dev eth0 nud reachable

      6.2.ip neighbour delete--删除一个邻接条目

      示例1:删除设备eth0上的一个ARP条目10.0.0.3

      # ip neigh del 10.0.0.3 dev eth0

      6.3.ip neighbour show--显示网络邻居的信息. 缩写:show、list、sh、ls

      示例1: # ip -s n ls 193.233.7.254

      193.233.7.254. dev eth0 lladdr 00:00:0c:76:3f:85 ref 5 used 12/13/20 nud reachable

      6.4.ip neighbour flush--清除邻接条目. 缩写:flush、f

      示例1: (-s 可以显示详细信息)

      # ip -s -s n f 193.233.7.254

      7. 路由表管理

      7.1.缩写 route、ro、r

      7.5.路由表

      从Linux-2.2开始,内核把路由归纳到许多路由表中,这些表都进行了编号,编号数字的范围是1到255。另外,

      为了方便,还可以在/etc/iproute2/rt_tables中为路由表命名。

      默认情况下,所有的路由都会被插入到表main(编号254)中。在进行路由查询时,内核只使用路由表main。

      7.6.ip route add -- 添加新路由

      ip route change -- 修改路由

      ip route replace -- 替换已有的路由

      缩写:add、a;change、chg;replace、repl

      示例1: 设置到网络10.0.0/24的路由经过网关193.233.7.65

      # ip route add 10.0.0/24 via 193.233.7.65

      示例2: 修改到网络10.0.0/24的直接路由,使其经过设备dummy

      # ip route chg 10.0.0/24 dev dummy

      示例3: 实现链路负载平衡.加入缺省多路径路由,让ppp0和ppp1分担负载(注意:scope值并非必需,它只不过是告诉内核,

      这个路由要经过网关而不是直连的。实际上,如果你知道远程端点的地址,使用via参数来设置就更好了)。

      # ip route add default scope global nexthop dev ppp0 nexthop dev ppp1

      # ip route replace default scope global nexthop dev ppp0 nexthop dev ppp1

      示例4: 设置NAT路由。在转发来自192.203.80.144的数据包之前,先进行网络地址转换,把这个地址转换为193.233.7.83

      # ip route add nat 192.203.80.142 via 193.233.7.83

      示例5: 实现数据包级负载平衡,允许把数据包随机从多个路由发出。weight 可以设置权重.

      # ip route replace default equalize nexthop via 211.139.218.145 dev eth0 weight 1 nexthop via 211.139.218.145 dev eth1 weight 1

      7.7.ip route delete-- 删除路由

      缩写:delete、del、d

      示例1:删除上一节命令加入的多路径路由

      # ip route del default scope global nexthop dev ppp0 nexthop dev ppp1

      7.8.ip route show -- 列出路由

      缩写:show、list、sh、ls、l

      示例1: 计算使用gated/bgp协议的路由个数

      # ip route ls proto gated/bgp |wc

      1413 9891 79010

      示例2: 计算路由缓存里面的条数,由于被缓存路由的属性可能大于一行,以此需要使用-o选项

      # ip -o route ls cloned |wc

      159 2543 18707

      示例3: 列出路由表TABLEID里面的路由。缺省设置是table main。TABLEID或者是一个真正的路由表ID或者是/etc/iproute2/rt_tables文件定义的字符串,

      或者是以下的特殊值:

      all -- 列出所有表的路由;

      cache -- 列出路由缓存的内容。

      ip ro ls 193.233.7.82 tab cache

      示例4: 列出某个路由表的内容

      # ip route ls table fddi153

      示例5: 列出默认路由表的内容

      # ip route ls

      这个命令等于传统的: route

      7.9.ip route flush -- 擦除路由表

      示例1: 删除路由表main中的所有网关路由(示例:在路由监控程序挂掉之后):

      # ip -4 ro flush scope global type unicast

      示例2:清除所有被克隆出来的IPv6路由:

      # ip -6 -s -s ro flush cache

      示例3: 在gated程序挂掉之后,清除所有的BGP路由:

      # ip -s ro f proto gated/bgp

      示例4: 清除所有ipv4路由cache

      # ip route flush cache

      *** IPv4 routing cache is flushed.

      7.10 ip route get -- 获得单个路由 .缩写:get、g

      使用这个命令可以获得到达目的地址的一个路由以及它的确切内容。

      ip route get命令和ip route show命令执行的操作是不同的。ip route show命令只是显示现有的路由,而ip route get命令在必要时会派生出新的路由。

      示例1: 搜索到193.233.7.82的路由

      # ip route get 193.233.7.82

      193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac cache mtu 1500 rtt 300

      示例2: 搜索目的地址是193.233.7.82,来自193.233.7.82,从eth0设备到达的路由(这条命令会产生一条非常有意思的路由,这是一条到193.233.7.82的回环路由)

      # ip r g 193.233.7.82 from 193.233.7.82 iif eth0

      193.233.7.82 from 193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac/inr.ac

      cache <src-direct,redirect> mtu 1500 rtt 300 iif eth0

      8. ip route -- 路由策略数据库管理命令

      命令

      add、delete、show(或者list)

      注意:策略路由(policy routing)不等于路由策略(rouing policy)。

      在某些情况下,我们不只是需要通过数据包的目的地址决定路由,可能还需要通过其他一些域:源地址、IP协议、传输层端口甚至数据包的负载。

      这就叫做:策略路由(policy routing)。

      8.5. ip rule add -- 插入新的规则

      ip rule delete -- 删除规则

      缩写:add、a;delete、del、d

      示例1: 通过路由表inr.ruhep路由来自源地址为192.203.80/24的数据包

      ip ru add from 192.203.80/24 table inr.ruhep prio 220

      示例2:把源地址为193.233.7.83的数据报的源地址转换为192.203.80.144,并通过表1进行路由

      ip ru add from 193.233.7.83 nat 192.203.80.144 table 1 prio 320

      示例3:删除无用的缺省规则

      ip ru del prio 32767

      8.7. ip rule show -- 列出路由规则

      缩写:show、list、sh、ls、l

      示例1: # ip ru ls

      0: from all lookup local

      32762: from 192.168.4.89 lookup fddi153

      32764: from 192.168.4.88 lookup fddi153

      32766: from all lookup main

      32767: from all lookup 253

      9. ip maddress -- 多播地址管理

      缩写:show、list、sh、ls、l

      9.3.ip maddress show -- 列出多播地址

      示例1: # ip maddr ls dummy

      9.4. ip maddress add -- 加入多播地址

      ip maddress delete -- 删除多播地址

      缩写:add、a;delete、del、d

      使用这两个命令,我们可以添加/删除在网络接口上监听的链路层多播地址。这个命令只能管理链路层地址。

      示例1: 增加 # ip maddr add 33:33:00:00:00:01 dev dummy

      示例2: 查看 # ip -O maddr ls dummy

      2: dummy

      link 33:33:00:00:00:01 users 2 static

      link 01:00:5e:00:00:01

      示例3: 删除 # ip maddr del 33:33:00:00:00:01 dev dummy

      10.ip mroute -- 多播路由缓存管理

      10.4. ip mroute show -- 列出多播路由缓存条目

      缩写:show、list、sh、ls、l

      示例1:查看 # ip mroute ls

      (193.232.127.6, 224.0.1.39) Iif: unresolved

      (193.232.244.34, 224.0.1.40) Iif: unresolved

      (193.233.7.65, 224.66.66.66) Iif: eth0 Oifs: pimreg

      示例2:查看 # ip -s mr ls 224.66/16

      (193.233.7.65, 224.66.66.66) Iif: eth0 Oifs: pimreg

      9383 packets, 300256 bytes

      11. ip tunnel -- 通道配置

      缩写

      tunnel、tunl

      11.4.ip tunnel add -- 添加新的通道

      ip tunnel change -- 修改现有的通道

      ip tunnel delete -- 删除一个通道

      缩写:add、a;change、chg;delete、del、d

      示例1:建立一个点对点通道,最大TTL是32

      # ip tunnel add Cisco mode sit remote 192.31.7.104 local 192.203.80.1 ttl 32

      11.4.ip tunnel show -- 列出现有的通道

      缩写:show、list、sh、ls、l

      示例1: # ip -s tunl ls Cisco

      12. ip monitor和rtmon -- 状态监视

      ip命令可以用于连续地监视设备、地址和路由的状态。这个命令选项的格式有点不同,命令选项的名字叫做monitor,接着是操作对象:

      ip monitor [ file FILE ] [ all | OBJECT-LIST ]

      示例1: # rtmon file /var/log/rtmon.log

      示例2: # ip monitor file /var/log/rtmon.log 

     

    https://www.cnblogs.com/fyc119/p/7499829.html

    展开全文
  • iproute2 命令详解

    千次阅读 2020-05-21 12:00:30
    iproute2 命令详解一、和netstat说再见二、篡权的ss三、被ip取代的命令 博客环境说明: 系统版本:CentOS Linux release 7.7.1908 (Core) yum源:阿里源 一、和netstat说再见 netstat命令详解点击这里查看 二、...
  • net-tools vs iproute2(ip route 命令详解)

    千次阅读 2018-04-21 13:13:04
    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。...iproute2套件里提供了许多增强功能的命令,ip命令即是其中之一。Net tools vs Iproute2要安装ip,请点击这里下载iproute2套装工具 。不过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,295
精华内容 2,918
关键字:

iproute2