
这是一个极其强大的命令,前面所有的网络信息显示和管理的命令,都可以由ip命令来替代完成。它是一个严格模式化的命令。
先简单说明下ip命令的基础和获取帮助的方法。
[root@xuexi ~]# ip -hUsage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filenamewhere 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] }可见命令非常复杂,有很多options,还有很多object,每个Object又对应不同的命令。但其实能用到的就几个object:addr/route/neigh/link。
使用ip object help可以获取到该object的语法帮助。例如:
[root@xuexi ~]# ip addr help在ip命令行下,任何object都可以写其全名,也可以写其缩写名,例如address这个object,可以简写为addr,也可以简写为一个字母a。
[root@xuexi ~]# ip a help # 等价于ip address help和ip addr help尽管还有一个a开头的object为addrlabel。这时因为ip会从上述语法给出的object顺序从前向后匹配,例如”ip m”将匹配到”ip maddr”,如果想匹配别的,如addrlabel,则写长一点即可”ip addrl”。
对于CentOS 6,man ip时会输出整个ip的帮助文档,包括每个object的命令和说明。在CentOS 7中,则要对每个object独立进行man,例如addr这个object。
[root@xuexi ~]# man ip-address以下是所有Object的man列表。
[root@xuexi ~]# rpm -ql iproute | grep "man8/ip-"/usr/share/man/man8/ip-address.8.gz/usr/share/man/man8/ip-addrlabel.8.gz/usr/share/man/man8/ip-l2tp.8.gz/usr/share/man/man8/ip-link.8.gz/usr/share/man/man8/ip-maddress.8.gz/usr/share/man/man8/ip-monitor.8.gz/usr/share/man/man8/ip-mroute.8.gz/usr/share/man/man8/ip-neighbour.8.gz/usr/share/man/man8/ip-netconf.8.gz/usr/share/man/man8/ip-netns.8.gz/usr/share/man/man8/ip-ntable.8.gz/usr/share/man/man8/ip-route.8.gz/usr/share/man/man8/ip-rule.8.gz/usr/share/man/man8/ip-tcp_metrics.8.gz/usr/share/man/man8/ip-token.8.gz/usr/share/man/man8/ip-tunnel.8.gz/usr/share/man/man8/ip-xfrm.8.gzip addr用于管理网络设备上的ip地址,也可以查看ip地址的属性信息。在老版本的Linux中,一块网卡上设置多个IP,这些IP称为别名IP,但是从CentOS 6开始,这些IP称为secondary IP或slave IP,因为这些IP自身也可以附带属性。
(1).ip addr add/del
ip address { add | del } IFADDR dev STRINGIFADDR := PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label STRING ]以add为例:dev NAME:指定要设置IP地址的网卡local ADDRESS (default):接口的IP地址。IP地址的格式依赖于是ipv4还是ipv6。对于ipv4而言,给定地址,可能还需要给定cidr的掩码位长度broadcast ADDRESS:接口的广播地址label NAME:为该接口的IP地址设置label名,label名称必须以网络接口名开头后接冒号,如eth0:Xdel和add的参数相同,且dev是必须要给定的,其余的参数可选,因为del的时候是通配del,如果删除时有多个满足条件的条目,则删除第一个条目。例如:
[root@xuexi ~]# ip addr add 192.168.100.45 dev eth0[root@xuexi ~]# ip addr add 192.168.100.35/24 dev eth1此方式添加的地址不会在ifconfg命令中显示,ifconfg能捕捉到的是别名,所以可以为地址加上label,以让secondary被ifconfig查看到。例如:
[root@xuexi ~]# ip addr add 192.168.100.45 dev eth0 label eth0:0要删除ip,则简单的多,但必须指定dev,且最好也指定cidr的掩码长度。
[root@xuexi ~]# ip addr del 192.168.100.45 dev eth0[root@xuexi ~]# ip addr del 192.168.100.35/24 dev eth1原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。