浅谈IProute2套件里的IP命令

浅谈IProute2套件里的IP命令


  Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2 套件里提供了许多增强功能的命令,ip命令即是其中之一。
在这里插入图片描述
上图就是二者的区别,ifconfig即将被抛弃


IP命令
  语法:ip [ OPTIONS ] OBJECT { COMMAND | help }
     ip [ -force ] -batch filename

  • 主要参数

    • OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、短两种形式。如link、addr、route、rule、tunnel 。

    • object是要管理者获取信息的对象。如网络接口类型eth0。

    • 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标出。

功能图
在这里插入图片描述

IP一些常见用法

  • ip addr { add | del } IFADDR dev STRING
    [label LABEL]:添加地址时指明网卡别名
[ scope { global | link | host } ]:指明作用域
global: 全局可用
link: 仅链接可用
host: 本机可用
[broadcast ADDRESS]:指明广播地址
  • 添加一个IP地址
ip addr add 1.1.1.1/8 eth0  dev label eth0:1
ip a
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:70:cf:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.39.13/24 brd 192.168.39.255 scope global noprefixroute dynamic eth0
       valid_lft 1604sec preferred_lft 1604sec
    inet 1.1.1.1/8 scope global eth0:1
       valid_lft forever preferred_lft forever
  • 删除一个IP地址
ip addr del 1.1.1.1/8  dev eth0
  • 关闭网卡
ip link set dev lo down          #关闭lo回环网卡,仅是做测试用
ip a
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 
  • 启动网卡
ip link set dev lo up

  启动网卡 关闭网卡太鸡儿复杂 不如ifconfig简洁

  • 查看、添加、修改、删除路由
ip route                  #查看route条目
default via 192.168.39.1 dev eth0 proto dhcp metric 100 
192.168.39.0/24 dev eth0 proto kernel scope link src 192.168.39.13 metric 100 
ip route add 192.168.39.0/24 via 192.168.39.100  #增加路由
ip route del 192.168.39.0/24 via 192.168.39.100  #删除路由
ip route add default via 192.168.39.120          #增加默认网关
ip route del default via 192.168.39.120          #删除默认网关 
ip route flush dev eth0                          #清空路由表

把路由表清空后带来一个问题,机器不能访问了,什么路径都没有了,所以来手动重建路由表

ip route add default via 192.168.39.1       
ip route add 192.168.39.0/24 via 192.168.39.1
  • 显示网络统计数据

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

ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    81034      1138     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    81034      1138     0       0       0       0       
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:78:fe:6d brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    79631      1162     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    31731      296      0       0       0       0    

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

ip -s -s link ls docker0

ip -s link ls docker0

  • 查看ARP信息

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

    ip neighbour

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

  • 停止网络接口eth0
    ip link set eth0 down

  • 启动网络接口eth0
    ip link set eth0 up

  • 修改设置传输队列的长度

    ip link set dev eth0 txqueuelen 100

    ip link set dev eth0 txqlen 100

  • 修改网络设置MTU(最大传输单元)的值

    ip link set dev eth0 mtu 1500

  • 修改网卡的MAC地址
    ip link set dev eth0 address 00:01:4f:00:15:f1


完 毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值