iproute2工具集使用总结

一. iproute2工具集介绍

        iproute2是一组集成了网络配置指令ip的开源软件包,ip指令功能齐全,可以配置和查看网络接口(link),网络接口的地址(address),ARP(neighbour),路由(route),路由策略数据库(rule),隧道(tunnel)等等。ip命令非常强大,用于网络开发的一把利器,是时候放弃ifconfig命令了。

二. ip命令格式介绍

1. ip命令的一般格式:

        ip  [OPTIONS]  OBJECT  [COMMAND  [ARGUMENTS] ]

OPTIONS

-V,-Version :打印iproute2工具集的版本号

-s,-stats,-statistics :输出更多的信息

-f,-family { inet,inet6,link } :强制使用哪个协议族

-4 : -family inet 的缩写

-6 : -family inet6 的缩写

-0 : -family link 的缩写

-o,-oneline : 以单行的形式输出查询结果,原来的换行符用 "\" 替代。

OBJECT

link : 物理或者逻辑网络接口

address :网络设备的协议(IPv4和IPv6)地址

neighbour : ARP条目相关

route : 路由表条目

rule : 路由策略数据库规则

tunnel : 给予IP的隧道

COMMAND

        add,delete,show(list)

三. ip命令详细介绍

1. ip link - 网络设备配置

* ip link set(改变网络设备属性)

缩写形式:set, s

参数:

dev NAME (default) :指定要操作的网络接口

up / down :改变接口的状态为UP或是DOWN

arp on / arp off :改变网络接口的NOARP标志,决定接口能否发arp包

multicast on / multicast off :改变网络接口MULTICAST标志

dynamic on / dynamic off :修改网络接口DYNAMIC标志

name NAME :修改网络接口名

txqueuelen NUMBER / txqlen NUMBER :修改网络接口的发送队列长度

mtu NUMBER :修改网络接口的MTU

address LLADDRESS :修改网络接口的MAC地址

broadcast LLADDRESS,brd LLADDRESS or peer LLADDRESS:修改广播地址

举例

        ip link set br0 up

        ip link set br0 name lan

        ip link set br0 mtu 1500

        ip link set br0 address 4E:0C:BC:44:4C:A2  

        

* ip link show (查看网络设备属性)

缩写形式:show,list,lst,sh,ls,l

参数:

dev NAME (default) :显示指定网络接口,省略NAME,则显示所有接口

up :显示所有在运行的网络接口

举例:

        ip link show dev br0

        ip link show br0

        ip link ls br0

        ip link l br0

2. ip address - 协议地址管理

缩写形式:address,addr,a

参数:add,delete,flush,show (list)

* ip address add (添加新的协议地址)

缩写形式:add,a

参数:

dev NAME :添加地址的接口

local ADDRESS (default) :接口的地址

peer ADDRESS :用于pointtopoint接口,设置对端接口地址

broadcast ADDRESS :设置接口的广播地址

举例:

        ip address add 192.168.100.5/24 dev lan

        ip addr add 192.168.100.10/24 dev lan

        ip a add 192.168.100.10/24 dev lan

* ip address delete(删除IP地址

缩写形式:delete,del,d

举例

        ip address del 192.168.100.5/24 dev br0

        ip addr del 192.168.100.5/24 dev br0

* ip address show(查看IP地址)

缩写形式:show,list,lst,sh,ls,l

参数:

dev NAME (default) :指定网络设备名称

scope SCOPE_VAL :列出指定scope的地址

to PREFIX :列出指定指定前缀的地址

举例

~ # ip addr show to 192.168.100.5
6: lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    inet 192.168.100.5/32 scope global lan
       valid_lft forever preferred_lft forever
    inet 192.168.100.5/24 scope global secondary lan
       valid_lft forever preferred_lft forever


* ip address flush(删除接口的IP地址)

缩写形式:flush,f

举例

        ip address flush dev br0 

        ip a flush dev br0

3. ip neighbour - arp表管理

缩写形式:neighbour,neighbor,neigh,n

参数:add,change,replace,delete,flush,show

* ip neighbour add(添加新的ARP条目)

* ip neighbour change(修改存在的条目)

* ip neighbour replace(添加新的或修改一个存在的条目)

缩写形式:add,a;change,chg;replace,repl

to ADDRESS (default) :指定ARP的IP地址,IPv4或IPv6地址

dev NAME :指定ARP表绑定的接口

lladdr LLADDRESS :指定ARP的MAC地址

nud NUD_STATE :ARP条目的状态,NUD是"Neighbour Unreachability Detection",状态有以下几个:

        - permanent :添加的ARP表条目永久有效,除非手动操作移除

        - noarp :此ARP条目是有效的,但是不会尝试去验证它。生存周期到了将会被移除

        - reachable :可达性超时时间之前,ARP条目都有效

        - stale :ARP条目有效,但是是可疑的。如果一个ARP条目本来就有效的,此选项不会改变条目的状态,地址也不会被改变

举例

        ip neighbour add 192.168.100.4 lladdr 42:a9:7f:86:22:5c dev lan

* ip neighbour delete(删除ARP条目)

缩写形式:delete,del,d

举例

        ip neigh del 192.168.100.5 dev br0

* ip neighbour show(显示ARP条目)

缩写形式:show,list,sh,ls

参数:

to ADDRESS (default) :显示以ADDRESS前缀的ARP表

dev NAME :只显示网络接口NAME的ARP表

举例

        ip neigh show

* ip neighbour flush(清空ARRP表)

缩写:flush,f

举例

        ip neighbour f dev br0

4. ip route - 路由表管理

缩写形式:route,ro,r

* ip route add(添加新的路由表)

* ip route change(修改路由)

* ip route replace(修改或添加路由(如果原不存在))

metric NUMBER or preference NUMBER:路由的preference值

table TABLEID :路由添加的路由表,可以是数字或字符串,字符串对应的数字参考/etc/iproute2/rt_tables

[root@192 ~]# cat /etc/iproute2/rt_tables 
255     local
254     main
253     default
       unspec
dev NAME :路由的网络接口

via ADDRESS :路由的下一跳地址

src ADDRESS :指定路由的原地址

举例

        ip route add 10.0.0/24 via 192.168.10.10

        ip route add default dev eth1 via 192.168.10.10

* ip route delete(删除路由)

缩写形式:delete,del,d

举例

        ip route del default

* ip route show(查看路由表)

缩写形式:show,list,sh,ls,l

举例

        ip route show 

        ip route default

        ip route show table 400

5. ip rule - 路由策略数据库管理

缩写形式:rule,ru

参数:add,show

* ip rule add(插入新的rule)

* ip rule delete(删除rule)

 缩写形式:add,a,delete,del,d

举例

[root@192 ~]# ip rule add from all table 400 fwmark 400 priority 400

[root@192 ~]# ip rule show
400:    from all fwmark 0x190 lookup 400 

6. ip tunnel - ip隧道配置

缩写:tunnel,tunl

* ip tunnel add(创建隧道)

缩写形式:add,a

参数:

name NAME (default) :选择隧道网络接口名

mode MODE :设置隧道模式,有ipip,sit,gre模式

remote ADDRESS :设置隧道对端的地址

local ADDRESS : 设置隧道本地地址

dev NAME :绑定隧道到一个网络接口,隧道的包将会通过此接口路由出去

举例

        ip tunl add cisco mode sit remote 10.0.0.10 local 10.0.0.1 ttl 32

* ip tunnel show(查看隧道属性)

缩写形式:show,list,sh,ls,l

举例

[root@192 ~]# ip tunl show
cisco: ipv6/ip remote 10.0.0.10 local 10.0.0.1 ttl 32 6rd-prefix 2002::/16

四. 总结

        ip命令非常强大,所以用法也会有些复杂,本文只是写了粗浅的使用方法,后面工作使用到了新的内容会继续补充。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值