您的位置:首页 > 运维架构 > Linux

MAN IP 学习及示例(centos7)

2016-04-19 22:11 471 查看

MAN IP 学习及示例(centos7)

NAME

ip - show / manipulate routing, devices, policy routing and tunnels

ip - 用于查看或配置路由,设备,策略路由及隧道

SYNOPSIS概要

ip  [ OPTIONS ]  OBJECT  { COMMAND | help }


以上是配置格式示例,下面有不同格式参数的说明

ip [ -force ] -batch filename


第二种配置格式,可批量执行命令参数

OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm | netns | l2tp | tcp_metrics }


OBJECT可选以上列表参数

OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -n[etns] name }


OPTIONS可选以上列表参数;

以下是OPTIONS说明:

OPTIONS

-V,-Version


查看IP功能版本,以下为执行示例

[root@localhost ~]# ip -V

ip utility, iproute2-ss130716


-b, -batch <FILENAME>


从提供的文件或标准输出中读取命令,默认,遇到错误将中断后续参数执行

[root@localhost ~]# cat zz.sh
addr
ip addr
link
[root@localhost ~]# ip -b zz.sh
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
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.5.27/24 brd 192.168.5.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe03:6d7b/64 scope link
valid_lft forever preferred_lft forever
Object "ip" is unknown, try "ip help".
Command failed zz.sh:2
[root@localhost ~]#


-force


在批处理模式下忽略报错,当某个命令报错依旧执行

[root@localhost ~]# ip -force -b zz.sh
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
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.5.27/24 brd 192.168.5.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe03:6d7b/64 scope link
valid_lft forever preferred_lft forever
Object "ip" is unknown, try "ip help".
Command failed zz.sh:2
1: 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:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
[root@localhost ~]#


-s, -stats, -statistics


输出更多信息,可通过重复添加多次参数输出更多信息

[root@localhost ~]# ip link
1: 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:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# ip -s link
1: 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:00
RX: bytes  packets  errors  dropped overrun mcast
896        8        0       0       0       0
TX: bytes  packets  errors  dropped carrier collsns
896        8        0       0       0       0
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
RX: bytes  packets  errors  dropped overrun mcast
216653921  2994721  0       80      0       36
TX: bytes  packets  errors  dropped carrier collsns
1044176    10330    0       0       0       0
[root@localhost ~]# ip -s -s link
1: 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:00
RX: bytes  packets  errors  dropped overrun mcast
896        8        0       0       0       0
RX errors: length   crc     frame   fifo    missed
0        0       0       0       0
TX: bytes  packets  errors  dropped carrier collsns
896        8        0       0       0       0
TX errors: aborted  fifo   window heartbeat
0        0       0       0
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
RX: bytes  packets  errors  dropped overrun mcast
216658861  2994787  0       80      0       36
RX errors: length   crc     frame   fifo    missed
0        0       0       0       0
TX: bytes  packets  errors  dropped carrier collsns
1046898    10347    0       0       0       0
TX errors: aborted  fifo   window heartbeat
0        0       0       0
[root@localhost ~]#


-d, -details


输出更多详细信息

[root@localhost ~]# ip link
1: 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:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# ip -d link
1: 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:00 promiscuity 0 addrgenmode eui64
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 00:0c:29:03:6d:7b brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode none


-l, -loops <COUNT>


指定命令参数的最大循环次数,默认是10,这个参数没找到合适表现的例子,后续补充

-f, -family <FAMILY>


指定使用的协议族。可以是inet,inet6,bridge,ipx,dnet或link;如果没有指定这个参数,ip将基于其他参数猜出所选择的协议族,如果不能基于其他参数猜出应该选择的协议族,ip采用默认协议族,通常是inet或所有。link是不涉及网络协议的协助族。

-4 是-family inet的简写

-6 是-family inet6的简写

-B 是-family bridge的简写

-D 是-family decnet的简写

-I 是-family ipx的简写

-0 是-family link的简写

[root@localhost ~]# ip -4 addr
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 192.168.5.27/24 brd 192.168.5.255 scope global ens160
valid_lft forever preferred_lft forever
[root@localhost ~]# ip -6 addr
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::20c:29ff:fe03:6d7b/64 scope link
valid_lft forever preferred_lft forever
[root@localhost ~]# ip -family inet addr
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 192.168.5.27/24 brd 192.168.5.255 scope global ens160
valid_lft forever preferred_lft forever
[root@localhost ~]# ip -family inet6 addr
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::20c:29ff:fe03:6d7b/64 scope link
valid_lft forever preferred_lft forever


-o, -oneline

以单行的方式输出记录,多行之间以‘/’分割。

[root@localhost ~]# ip -o addr
2: ens160    inet 192.168.5.27/24 brd 192.168.5.255 scope global ens160\       valid_lft forever preferred_lft forever
2: ens160    inet6 fe80::20c:29ff:fe03:6d7b/64 scope link \       valid_lft forever preferred_lft forever


-r, -resolve

采用域名解析将主机地址替换成域名地址

-n,-netns

将IP加入指定命名空间

ip netns exec NETNS ip [ OPTIONS ] OBJECT { COMMAND | help }


ip -n[etns] NETNS [ OPTIONS ] OBJECT { COMMAND | help }


ip netns代表一系列网络命令空间的命令,通过ip netns help可查看帮助信息

[root@localhost ~]# ip netns help
Usage: ip netns list
ip netns add NAME
ip netns set NAME NETNSID
ip [-all] netns delete [NAME]
ip netns identify [PID]
ip netns pids NAME
ip [-all] netns exec [NAME] cmd ...
ip netns monitor
ip netns list-id


ip netns add NAME

添加一个网络命名空间,应该会在/var/run/netns/下添加一个以该空间命名的文件,添加同名网络命名空间会有相关提示

ip netns list

查看当前系统所有命令空间名称

[root@localhost ~]# ip netns add t1
[root@localhost ~]# ip netns list
t1
[root@localhost ~]# ip netns add t2
[root@localhost ~]# ip netns list
t2
t1
[root@localhost ~]#
[root@localhost ~]# ip netns add t1
Cannot create namespace file "/var/run/netns/t1": File exists
[root@localhost ~]# ll /var/run/netns/
total 0
-r--r--r-- 1 root root 0 Apr 24 09:18 t1
-r--r--r-- 1 root root 0 Apr 24 09:18 t2


ip [-all] netns delete [NAME]

删除指定的网络命名空间,当添加一个-all参数,可以删除所有网络命令空间

[root@localhost ~]# ip netns list
t2
t1
[root@localhost ~]# ip netns delete t1
[root@localhost ~]# ip netns list
t2
[root@localhost ~]# ip -d netns delete
No netns name specified
[root@localhost ~]# ip -a netns delete
[root@localhost ~]# ip list
Object "list" is unknown, try "ip help".
[root@localhost ~]# ip netns list
[root@localhost ~]#


ip netns set NAME NETNSID

设置一个网络命令空间ID

ip netns list-id

查看命名空间ID

[root@localhost ~]# ip netns list
t2
t1
[root@localhost ~]# ip netns set t1 11
[root@localhost ~]# ip netns list
t2
t1 (id: 11)
[root@localhost ~]# ip netns list-id
nsid 11 (iproute2 netns name: t1)
[root@localhost ~]#


ip netns identify [PID]


ip netns pids NAME


ip [-all] netns exec [NAME] cmd ...


ip netns monitor


以上四句命令暂时没搞明白干嘛用的

以下有两个实验及介绍的链接,找机会要做一下试试看

/article/1394535.html

http://www.360doc.com/content/13/1010/14/8504707_320319174.shtml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: