iproute是Linux下一个网络管理工具包合集,用于取代先前的如ifconfig,route,ifup,ifdown,netstat等历史网络管理工具。该工具包功能强大,它通过网络链路套接字接口与内核进行联系。iproute的用户界面比net-tools的用户界面要更直观。对网络资源比如链路、IP地址、路由和隧道等用“对象”抽象进行了恰当的定义,因此可以使用一致的语法来管理不同的对象。本文主要描述使用该工具包的ip命令来配置Linux网络。

一、iproute工具包集

查看iproute工具包集

# more /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) ###查看当前环境下已经安装的iproute包
# rpm -qa|grep iproute
iproute-3.10.0-54.el7.x86_64###查看iproute包生成的文件
# rpm -ql iproute###查看iproute包配置文件
# rpm -qc iproute###查看iproute包生成的二进制文件
# rpm -ql iproute|grep "bin"
/usr/sbin/arpd
/usr/sbin/bridge
/usr/sbin/cbq
/usr/sbin/ctstat
/usr/sbin/genl
/usr/sbin/ifcfg
/usr/sbin/ifstat
/usr/sbin/ip
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/routef
/usr/sbin/routel
/usr/sbin/rtacct
/usr/sbin/rtmon
/usr/sbin/rtpr
/usr/sbin/rtstat
/usr/sbin/ss
/usr/sbin/tc

iproute与net-tools命令比对图

二、ip命令帮助及模块功能

获取ip命令帮助

# ip help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |netns | l2tp | tcp_metrics | token }OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |-h[uman-readable] | -iec |-f[amily] { inet | inet6 | ipx | dnet | bridge | link } |-4 | -6 | -I | -D | -B | -0 |-l[oops] { maximum-addr-flush-attempts } |-o[neline] | -t[imestamp] | -b[atch] [filename] |-rc[vbuf] [size] | -n[etns] name | -a[ll] }###如果要获取某个子模块的帮助,如获取ip addr的具体用法,则
# ip addr help
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ][ CONFFLAG-LIST ]ip addr del IFADDR dev STRING [mngtmpaddr]ip addr {show|save|flush} [ dev STRING ] [ scope SCOPE-ID ][ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [up]ip addr {showdump|restore}
IFADDR := PREFIX | ADDR peer PREFIX[ broadcast ADDR ] [ anycast ADDR ][ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |tentative | deprecated | dadfailed | temporary |CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad | mngtmpaddr | noprefixroute ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS# man ip  //获取详细帮助

iproute各子模块功能

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

三、频繁使用的几个子模块常用方法

子模块用法

ip link ip link show 查看默认网络连接信息,不包括ip地址ip link set 接口 [up|down] [multicast on|off]:ip addr可以在一个接口配置多个地址而不使用接口别名:显示这些地址ip addr show    ip addr add dev 接口 ip地址/掩码 [ ladel 别名 ]ip addr add dev 接口 ip地址 [ ladel 别名 ]ip addr flush 接口 [to 网络地址]ip route            ip route add 目标 via 下一跳 src 源地址 [dev 设备]ip route del 目标ip route list                                                                        启用/禁用接口:ip link set 接口 up|downifconfig 接口 up|downifdown 接口,ifup 接口重置网络连接TUI或GUICentOS 6system-config-network-tui配置结束后将保存配置文件中setup --> Network ConfigurationCentOS 7nmtui                

四、使用示例

查看当前主机网络连接信息# ip link show1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether 00:0c:29:57:26:9d brd ff:ff:ff:ff:ff:ff3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff查看当前主机指定网络连接信息    # ip link show eno167777282: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether 00:0c:29:57:26:9d brd ff:ff:ff:ff:ff:ff        多播的启用与关闭# ip link set eno16777728 multicast off# ip link show eno16777728  //如下,没有出项MULTICAST2: eno16777728: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether 00:0c:29:57:26:9d brd ff:ff:ff:ff:ff:ff# ip link set eno16777728 multicast on    网卡的启用与关闭# ip link set eno33554960 down# ip link set eno33554960 up显示主机ip地址信息# ip addr show1: 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 lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:9d brd ff:ff:ff:ff:ff:ffinet 172.24.8.131/24 brd 172.24.8.255 scope global dynamic eno16777728valid_lft 1196sec preferred_lft 1196sec           ### Author : Leshamiinet6 fe80::20c:29ff:fe57:269d/64 scope link     ### Blog : http://blog.csdn.net/leshami valid_lft forever preferred_lft forever                ### QQ/Weixin : 6457463113: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ffinet 192.168.81.144/24 brd 192.168.81.255 scope global dynamic eno33554960valid_lft 1380sec preferred_lft 1380sec为指定网卡删除ip地址# ip addr del dev eno33554960 192.168.81.144/24# ip addr show eno33554960                    3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff为指定网卡添加ip地址# ip addr add dev eno33554960 192.168.81.189/24  # ip addr show eno33554960                    3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ffinet 192.168.81.189/24 scope global eno33554960valid_lft forever preferred_lft forever      为指定网卡添加多ip地址      # ip addr add dev eno33554960 192.168.81.150/24# ip addr show eno335549603: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ffinet 192.168.81.189/24 scope global eno33554960valid_lft forever preferred_lft foreverinet 192.168.81.150/24 scope global secondary eno33554960valid_lft forever preferred_lft forever为指定网卡添加多ip及使用别名# ip addr add dev eno33554960 192.168.81.199/24 label eno33554960:0# ip addr show label eno33554960:0inet 192.168.81.199/24 scope global secondary eno33554960:0valid_lft forever preferred_lft forever# ifconfig|grep eno33554960:0 -A2  eno33554960:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.81.199  netmask 255.255.255.0  broadcast 0.0.0.0ether 00:0c:29:57:26:a7  txqueuelen 1000  (Ethernet)              释放特定网卡ip地址# ip addr show eno33554960 3: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ffinet 192.168.81.144/24 scope global dynamic eno33554960valid_lft 1364sec preferred_lft 1364secinet 192.168.81.199/24 scope global secondary eno33554960:0valid_lft forever preferred_lft forever# ip addr flush eno33554960 //如果不指定特定网卡,则表示当前主机所有网卡ip地址被释放# ip addr show eno335549603: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ff使用ip route添加网络路由###当前本机IP地址为172.24.8.131###假定要到达目标地址为:192.168.10.0/24,下一跳为 172.24.8.2 则添加路由命令如下# route -n  //首先查看当前的路由Kernel IP routing tableDestination    Gateway        Genmask        Flags Metric Ref    Use Iface0.0.0.0        192.168.81.2    0.0.0.0        UG    100    0        0 eno33554960172.24.8.0      0.0.0.0        255.255.255.0  U    100    0        0 eno16777728192.168.81.0    0.0.0.0        255.255.255.0  U    100    0        0 eno33554960# ip route list //首先查看当前的路由default via 192.168.81.2 dev eno33554960  proto static  metric 100 172.24.8.0/24 dev eno16777728  proto kernel  scope link  src 172.24.8.131  metric 100 192.168.81.0/24 dev eno33554960  proto kernel  scope link  src 192.168.81.144  metric 100# ip route add 192.168.10.0/24 via 172.24.8.2 dev eno16777728# ip route list |grep 192.168.10192.168.10.0/24 via 172.24.8.2 dev eno16777728 使用ip route添加主机路由###假定要到达目标地址为:192.168.20.1,下一跳为: 172.24.8.254 # ip route add 192.168.20.1 via 172.24.8.254# ip route list |grep 192.168.20.1192.168.20.1 via 172.24.8.254 dev eno16777728删除之前添加的网络路由和主机路由# ip route del 192.168.10.0/24  ###对于网络路由应指定掩码# ip route del 192.168.20.1# ip route listdefault via 192.168.81.2 dev eno33554960  proto static  metric 100 172.24.8.0/24 dev eno16777728  proto kernel  scope link  src 172.24.8.131  metric 100 192.168.81.0/24 dev eno33554960  proto kernel  scope link  src 192.168.81.144  metric 100 删除缺省网关# ip route del default# ip route list|grep default添加缺省网关# ip route add default via 172.24.8.2 dev eno16777728# ip route list|grep defaultdefault via 172.24.8.2 dev eno16777728 配置特定网卡指定IP路由# ip addr add dev eno33554960 172.27.8.150/24  ###为eno33554960添加一个新ip# ip addr show eno335549603: eno33554960: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:57:26:a7 brd ff:ff:ff:ff:ff:ffinet 192.168.81.144/24 scope global dynamic eno33554960valid_lft 1246sec preferred_lft 1246secinet 172.27.8.150/24 scope global eno33554960valid_lft forever preferred_lft forever###配置到达网络192.168.10.0经由172.27.8.2路由并且从这个ip 172.27.8.150收发数据包# ip route add 192.168.10.0 via 172.27.8.2 src 172.27.8.150 # ip route list |grep 172.27.8.150172.27.8.0/24 dev eno33554960  proto kernel  scope link  src 172.27.8.150 192.168.10.0 via 172.27.8.2 dev eno33554960  src 172.27.8.150

基于iproute命令集配置Linux网络(ip命令)相关推荐

  1. 【Linux集群基础环境搭建】基于虚拟机的多节点Linux网络环境搭建(超详细)

    基于VMWare虚拟机的多节点Linux网络环境搭建 一.使用工具 二.方案设计 三.实现过程 1.安装VMWare虚拟机软件 2. 创建虚拟机节点controller并安装CentOS 3. 通过节 ...

  2. linux wpa_supplicant连接无线网络(转),如何使用wpa_supplicant从命令行配置Linux无线

    如何使用wpa_supplicant从命令行配置Linux无线 如何使用wpa_supplicant从命令行配置Linux无线 wpa_supplicant is used to connect wi ...

  3. 配置linux网络的坑之IPADDR 等出现Command not found

    本想使用ssh客户端工具上传一下jdk安装一下jdk的结果卡在这,记录下来. 先上错误截图 目录 下面开始配置linux的网络环境 一  设置VMware的虚拟地址  点击编辑----->选择虚 ...

  4. LINUX从零开始——ENGINEER(云计算应用管理)——Day4-1 [配置Linux网络 、源码编译安装、自定义Yum仓库、日志管理]

    一.环境准备 1.建议还原快照,开启CentOS7虚拟机,以root用户登录 课前回顾: 1.交换空间的作用? 缓解内存的压力 2.格式化交换文件系统的命令? mkswap 3.查看内存空间以及交换空 ...

  5. linux 下ip命令对比ifconfig命令

    原文:https://linux.cn/article-3144-1.html ------------------------------------------------------------ ...

  6. 网络安全nmap扫描端口命令详解linux网络探测

    简介: nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting).它是网络管理员必用的 ...

  7. Linux网络相关命令

    Linux网络相关命令 1 ping 2 netstat 3 tranceroute 4 ARP 5 tcpdump 1 ping 作用:检测当前主机与目标主机之间的连通性(不是100%准确,有的服务 ...

  8. Linux命令集(Linux文件管理命令--rm指令篇)

    Linux命令集(Linux文件管理命令--rm指令篇) Linux文件管理命令集(rm指令篇) 3. rm(remove) 1. 删除文件 2. 强制删除文件 3. 提示确认,删除前需逐一询问是否确 ...

  9. Linux命令集(Linux文件管理命令--rmdir指令篇)

    Linux命令集(Linux文件管理命令--rmdir指令篇) Linux文件管理命令集(rmdir指令篇) 5. rmdir(remove directory) 1. 删除空的目录 folder1 ...

最新文章

  1. PHP入门指导:如何学习PHP?
  2. 修改类的命名空间引发的发布问题
  3. Linux学习记录-----《快乐的Linux命令行》.
  4. Java API访问HDFS集群(HA)
  5. 工程师如何给女友买包?问问阿里“百事通”
  6. Android Studio使用心得
  7. Weblogic的classpath设置
  8. 操作系统实验_Chcore -- 上交IPADS操作系统银杏书配套Lab实验笔记 - Lab2内存管理(一)...
  9. 关于遥感图像的控制点片匹配算法的一点想法(二)
  10. putty登录到shell.sourceforge.net方法
  11. 谷歌浏览器官网默认只能下载在线安装包(只有几兆大小)若想下载完整的离线安装包,可以用以下官方链接
  12. Linux中存放用户密码信息的文件,存放密码过期修改等信息
  13. 几种不同格式的json数据及解析
  14. 2017年3月14日-----------乱码新手自学.net 之Authorize特性与Forms身份验证(登陆验证、授权小实例)...
  15. 清除浮动解决高度坍塌的5种方法 以及兼容IE
  16. 统信 Deepin为什么要摆脱Ubuntu和Debian?
  17. 数据分析报告怎么写(五)
  18. C/C++ Qt StatusBar 底部状态栏应用
  19. 简单描述模型的鲁棒性和泛化性的区别
  20. 今日感悟1111111

热门文章

  1. 22种设计模式——原型模型
  2. separator path php,php常量 DIRECTORY_SEPARATOR 和 PATH_SEPARATOR
  3. Python笔试练习题
  4. Mysql中的升序和降序以及一个字段升序和一个字段降序
  5. SQL语句执行顺序及建议
  6. 计算机漏洞英语怎么说,游戏漏洞英文怎么写
  7. VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本(无需卸载原先版本或原先版本卸载的按钮变成灰色)
  8. 阿里云-云存储OSS
  9. 串口配置c语言,C语言驱动之配置串口(基于S3C2440开发板)
  10. 从入门到精通:学习编程的必要步骤