ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ip命令手册(一)(转)

ip命令手册(一)(转)

原创 Linux操作系统 作者:ilg 时间:2018-12-31 08:18:04 0 删除 编辑
ip命令手册(一)(转)

  摘要

  ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。例如:ifconfig、route等。这个手册将分章节介绍ip命令及其选项。本文的原文在http://defiant.coinet.com/iproute2/ip-cref/(2002-10-15 18:40:46)

  作者:Alexey N.Kuznetsov

  编译:nixe0n

  1.关于这篇文档

  2.ip命令的语法

  3.ip的错误信息

  4.ip link--配置网络设备

  4.1.ip link set--改变设备的属性

  4.2.ip link show--显示设备属性

  5.ip address--协议地址管理

  5.1.ip address add--添加一个新的协议地址

  5.2.ip address delete--删除一个协议地址

  5.3.ip address show--显示协议地址

  5.4.ip address flush--清除协议地址

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

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

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

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

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

  6.3.ip neighbour show--显示网络邻居的信息

  6.4.ip neighbour flush--清除邻接条目

  1.关于这篇文档

  ip是iproute2软件包里面的一个强大的网络配置工具,本文将分章节介绍ip命令及其选项。为了便于理解,作者在本文中列举了很多示例。但是,正如作者所说,这不是一个教程,而是一个使用手册。

  2.ip命令的语法

  ip命令的用法如下:

  ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

  其中,OPTIONS是一些修改ip行为或者改变其输出的选项。所有的选项都是以-字符开头,分为长、短两种形式。目前,ip支持如下选项:

  -V,-Version 打印ip的版本并退出。

  -s,-stats,-statistics 输出更为详尽的信息。如果这个选项出现两次或者多次,输出的信息将更为详尽。

  -f,-family 这个选项后面接协议种类,包括:inet、inet6或者link,强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或者any。link比较特殊,它表示不涉及任何网络协议。

  -4 是-family inet的简写。

  -6 是-family inet6的简写。

  -0 是-family link的简写。

  -o,-oneline 对每行记录都使用单行输出,回行用字符代替。如果你需要使用wc、grep等工具处理ip的输出,会用到这个选项。

  -r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址。

  OBJECT是你要管理或者获取信息的对象。目前ip认识的对象包括:

  link 网络设备

  address 一个设备的协议(IP或者IPV6)地址

  neighbour ARP或者NDISC缓冲区条目

  route 路由表条目

  rule 路由策略数据库中的规则

  maddress 多播地址

  mroute 多播路由缓冲区条目

  tunnel IP上的通道

  另外,所有的对象名都可以简写,例如:address可以简写为addr,甚至是a。

  COMMAND设置针对指定对象执行的操作,它和对象的类型有关。一般情况下,ip支持对象的增加(add)、删除(delete)和展示(show或者list)。有些对象不支持所有这些操作,或者有其它的一些命令。对于所有的对象,用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法。如果没有指定对象的操作命令,ip会使用默认的命令。一般情况下,默认命令是list,如果对象不能列出,就会执行help命令。

  ARGUMENTS是命令的一些参数,它们倚赖于对象和命令。ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成。为了方便,每个命令都有一个可以忽略的默认参数。例如,参数dev是ip link命令的默认参数,因此ip link ls eth0等于ip link ls dev eth0。我们将在后面的章节详细介绍每个命令的使用,命令的默认参数将使用default标出。

  几乎所有的关键词都可以简写为前几个字母。在交互工作时,简写的方式非常方便,但是我们不建议在脚本中使用简写形式。另外,在讲述过程中,所有的"官方"简写方式都会在文章中列出。

  3.ip的错误信息

  由于以下原因,ip可能会操作失败:

  命令行语法错误:一个未知的关键词(an unknown keyword);错误的IP地址格式(incorrectly formated IP address)。在这种情况下,ip会打印出错误信息然后退出,在错误信息中会包含失败的原因。有时ip也会打印帮助信息。参数不能通过一致性校验。由于用户没有提供足够的信息,造成ip无法从参数中编译出内核请求。内核返回某些系统调用的错误。ip使用perror(3)输出错误信息,因此输出的错误信息包含一段注释以及系统调用号。内核返回RTNETLINK请求错误。这类错误信息以"RTNETLIK answers"开头。

  ip的所有操作都是原子操作。例如,如果ip执行失败,它不会系统的任何东西,ip link command例外,它会修改某些设备参数。

  我们无法列出所有的错误信息,尤其是语法错误。不过,错误信息的意思都非常明确。下面,我们列举一些经常出现的错误信息:

  内核不支持netlink(netlink用于在内核模块和用户之间传递信息),会出现以下错误信息:Cannot open netlink socket: Invalid value 内核不支持RTNETLINK,会出现以下错误信息:Cannot talk to rtnetlink: Connect refusedCannot send dump request: Connect refused 如果在编译内核时没有配置CONFIG_IP_MULTIPLE_TABLES选项。在使用ip规则时会出现和下面的信息类似的错误信息:kuznet@kaise $ ip rule listRTNETLINK error: Invalid argumentdump terminated

  4.ip link--配置网络设备

  对象 link由网络设备,对应的命令显示以及设备的状态变化组成。

  命令 set和show(或者list)

  4.1.ip link set--改变设备的属性

  缩写:set、s

  参数:

  dev NAME(default) 指定进行操作的网络设备

  up/down 起动/关闭设备。

  例如:ip link set dev eth0 up

  arp on/off 改变网络设备的NOARP选项。

  如果设备处于UP状态,不允许进行这个操作。不过,内核和ip都不会对在这种情况下的这个操作进行检查。在设备处于运行状态下改变这个选项会造成无法预料的后果。

  multicast on/off 改变网络设备的MULTICAST选项。

  dynamic on/off 改变网络设备的DYNAMIC选项。

  name NAME 把设备的名字改为NAME(例如:eth0)。如果设备处于运行状态或者已经配置了地址,建议不要进行这个操作。

  txqueuelen NUMBER或者txqlen NUMBER 改变设备传输队列的长度。

  例如:ip link set dev eth0 txqueuelen 100

  mtu NUMBER 改变网络设备MTU(最大传输单元)的值。

  例如:ip link set dev eth0 mtu 1500

  address LLADDRESS 修改网络设备的MAC地址。

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

  broadcat LLADDRESS或者brd LLADDRESS 修改数据链路层广播地址。

  注意:对于大多数的网络设备(例如:以太网),修改链路层广播地址会对网络造成破坏。因此,如果对此没有很深的理解,最好不要使用这个操作。

  peer LLADDRESS 当使用点对点连接时,使用这个操作可以修改对端的数据链路层地址。

  注意:ip不能修改PROMISC或者ALLMULTI选项。这两个选项已经比较陈旧,而且也不应该随便修改。

  注意:如果同时修改多个参数,任何一个修改失败,ip都会立即取消操作。这种情况可能使系统进入无法预料的状态。为了避免出现这种情况,尽量不要使用ip link set同时修改多个参数,例如:ip link set dev eth0 mtu 1500 txqueuelen 100。

  4.2.ip link show--显示设备属性

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

  参数

  dev NAME(default) NAME指定网络设备名称,例如:eth0。如果省略了这个参数,所有的设备属性就都会被列出。

  up 只显示处于活动状态网络接口的信息。

  输出格式

  kuznet@alisa:~ $ ip link ls eth03: eth0: mtu 1500 qdisc cbq qlen 100 link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff:kuznet@alisa:~ $ ip link ls sit05: sit0@NOME: mtu 1480 qdisc noqueue link/sit 0.0.0.0 brd 0.0.0.0kuznet@alisa:~ $ ip link ls dummy2: dummy: mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ffkuznet@alisa:~ $

  在显示的信息中,每个引号之前的数字是一个接口索引,用于识别网络接口。这个数字后面是网络接口的名字(例如:eth0、dummy等),它也和网络接口一一对应。不过,在某些情况下,例如:驱动模块被卸载,对应的接口名就会从列表中消失,而其它新创建的接口就会使用相同的名字。系统管理员可以ip link set name修改接口的名字。

  接口名可以是别的,或者??#199;@NONE。这意味着这个设备被绑定到其它的设备,例如数据包被发送到这个设备,由这个设备封装,并从master设备发出。如果设备名字是NONE

  

本文来自:http://www.linuxpk.com/40386.html

-->linux电子图书免费下载和技术讨论基地

·上一篇:ip命令手册(二)

·下一篇:Linux系统管理命令中文详解
 
     最新更新
·Linux指令篇:终端机管理--clear

·Linux基础系列教程

·将.c文件更名时使用的完美脚本

·详解Bash命令行处理

·RPM常用命令及RPM中文手册

·Linux的kill命令与信号控制

·Linux文件查找命令find,xargs详述

·Linux下的编辑器——vi大全

·常用命令之make常见规则解析

·另类技术:怎样显示一个字呢?

·软件安装之--RPM命令大全

·vi中将逗号和回车互换的技巧

·Linux指令篇:档案目录管理--rmdir

·Linux指令篇:档案目录管理--split

·Linux指令篇:档案目录管理--touch

·Linux指令篇:档案目录管理--rm

·Rpm命令手册

·Linux指令篇:日期时间排程--at

·Linux指令篇:日期时间排程--cal

·Linux指令篇:日期时间排程--crontab

·Linux指令篇:日期时间排程--date

·Linux指令篇:日期时间排程--sleep

·Linux指令篇:日期时间排程--time

·Linux指令篇:档案目录管理--mv

·Linux指令篇:档案目录管理--more

·Linux指令篇:档案目录管理--mkdir

·Linux指令篇:档案目录管理--cat

·Linux指令篇:档案目录管理--cd

·Linux指令篇:档案目录管理--chmod

·Linux指令篇:档案目录管理--chown


关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 网址大全 | 友情链接 | 免费注册

Copyright © 2004 - 2007 All Rights Reserved

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14102/viewspace-117270/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2002-06-18

  • 博文量
    240
  • 访问量
    129559