• IP命令的用法详解


    IP命令的用法详解

    原创 2017-06-29 10:02:34 0932
    摘自:http://www.php.cn/linux-371363.html

    ip命令是Linux下较新的功能强大的网络配置工具。

    1 功能

    ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道。

    2用法

    Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }

    ip [ -force ] -batch filename

    -force:不要终止批处理模式中的错误

    -b:-batch filenam,从提供的文件或标准输入中读取命令并调用它们,第一次失败将导致IP终止

    3参数与选项

    OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |

    tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |

    netns | l2tp | tcp_metrics | token }

    OPTIONS := { -V[ersion] | -h[uman-readable] | -s[tatistics] | -d[etails] |

    -r[esolve] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link }

    | -4 | -6 | -I | -D | -B | -0 | -l[oops] { maximum-addr-flush-

    attempts } | -o[neline] | -rc[vbuf] [size] | -t[imestamp] |

    -ts[hort] | -n[etns] name | -a[ll] }

    (1)OPTIONS

    是一些修改ip行为或者改变其输出的选项,所有的选项都是以-字符开头,分为长、短两种形式:

    -V :-Version打印ip的版本并退出

    -h: 人类可读输出

    -s: -stats –statistics,输出更多的信息,如果这个选项出现两次或以上,输出的信息将更为详尽

    d:输出更多的细节信息

    -l:指定"IP地址刷新"逻辑将尝试的最大循环数,默认为10

    -f :-family  指定要使用的协议族,协议可以是一个inetinet6bridge, ipx, dnet or link

    -4: 是 -family inet的简写

    -6 :是 -family inet6的简写

    -0 :是 -family link 的简写

    -I: 是-family ipx的简写

    -o:-oneline 单行输出,""字符替换换行符

    -n-netns交换机的IP到指定的网络空间netns

    -r:-resolve 使用系统名称解析来打印DNS名称而不是主机地址

    -t:使用监视器选项时显示当前时间

    -a-all对所有对象执行指定的命令,这取决于命令是否支持这个选项

    -rc-rcvbuf (size) 设置Netlink套接字接收缓冲区的大小设置,默认为1MB

    (2)OBJECT

    是你要管理或者获取信息的对象

    OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |

    tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |

    netns | l2tp | tcp_metrics | token }

    具体表示的含义:

    link 网络设备

    address 一个设备的协议(IP或者IPV6)地址

    neighbour ARP或者NDISC缓冲区条目

    route 路由表条目

    rule 路由策略数据库中的规则

    maddress 多播地址

    mroute 多播路由缓冲区条目

    monitor 监控网络消息

    mrule 组播路由策略数据库中的规则

    tunnel IP上的通道

    l2tp 隧道以太网(L2TPV3)

    注意:所有的对象名都可以简写,例如:address可以简写为addr,甚至是a。

    4 修改IP地址

    (1)增加IP地址

    格式: ip addr add ADDRESS/MASK dev DEVICE

    root@centos7 ~]# ip addr add 192.1.1.1/24 dev ens33

    (2)删除IP地址

    [root@centos7 ~]# ip addr del 192.1.1.1/24 dev ens34

    5 查看网络信息

    [root@centos7 ~]# ip address show

    [……]

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff

    inet 192.168.29.3/24 brd 192.168.29.255 scope global ens33

    valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe3a:82/64 scope link

    valid_lft forever preferred_lft forever

    3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:3a:00:8c brd ff:ff:ff:ff:ff:ff

    inet 192.1.1.1/24 scope global ens34

    valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe3a:8c/64 scope link tentative

    valid_lft forever preferred_lft forever

    6 路由表的添加与删除

    (1)添加路由表

    格式:ip rouite add TARGET via GW

    TARGET为目标网络或主机,GW为网关或吓一跳。

    [root@centos7 ~]# ip route add 172.16.0.0/16 via 192.168.29.1

    (2)删除路由表

    [root@centos7 ~]# ip route del 172.16.0.0/16

    (3) 显示路由表

    格式:ip route show|list

    [root@centos7 ~]# ip route list

    default via 192.168.29.1 dev ens33 proto static metric 100

    172.16.0.0/16 via 192.168.29.1 dev ens33

    192.168.29.0/24 dev ens33 proto kernel scope link src 192.168.29.3 metric 100

    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

    [root@centos7 ~]# ip route show

    default via 192.168.29.1 dev ens33 proto static metric 100

    172.16.0.0/16 via 192.168.29.1 dev ens33

    192.168.29.0/24 dev ens33 proto kernel scope link src 192.168.29.3 metric 100

    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1

    (4)清空路由表

    格式:ip route flush [dev IFACE] [via PREFIX]

    [root@centos7 ~]# ip route flush dev ens33

    (5)添加网关

    格式:ip route add default via GW dev IFACE

    [root@centos7 ~]# ip route add default via 192.168.29.1

    7 实例

    (1)显示网络设备的运行状态

    [root@centos7 ~]# ip link list

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000

    link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff

    (2)显示邻居表

    [root@centos7 ~]# ip neigh list

    192.168.29.1 dev ens33 lladdr 00:50:56:c0:00:01 REACHABLE

    (3)查看网卡信息

    [root@centos7 ~]# ip -s link list ens33

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000

    link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff

    RX: bytes packets errors dropped overrun mcast

    704554 4943 0 0 0 0

    TX: bytes packets errors dropped carrier collsns

    470814 3110 0 0 0 0

    (4)改变最大传输队列长度

    [root@centos7 ~]# ip link set dev ens33 txqueuelen 1500

    (5)设置MTU

    [root@centos7 ~]# ip link set ens33 mtu 1400

    显示以上设置是否生效

    [root@centos7 ~]# ip link show ens33

    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP mode DEFAULT qlen 1500

    link/ether 00:0c:29:3a:00:82 brd ff:ff:ff:ff:ff:ff

    可以看到mtu 和 qlen都已经生效

    (6)关闭网络设备

    [root@centos7 ~]# ip link set ens38 down

    [root@centos7 ~]# ip link show ens38

    4: ens38: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000

    link/ether 00:0c:29:3a:00:96 brd ff:ff:ff:ff:ff:ff

    [root@centos7 ~]#

    (7)开启网络设备

    [root@centos7 ~]# ip link set ens38 up

    [root@centos7 ~]# ip link show ens38

    4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000

    link/ether 00:0c:29:3a:00:96 brd ff:ff:ff:ff:ff:ff

    以上就是IP命令的用法详解的详细内容,更多请关注php中文网其它相关文章!

  • 相关阅读:
    DataGrid
    TreeGrid
    获取选中内容
    requirejs——config
    C# 字符串与字节数组相互转换
    并发编程
    关于 warning CS0659:“***”重写Object.Equals(object o)但不重写Object.GetHashCode()
    使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)
    TortoiseSVN/Git覆盖图标失效的解决方案
    C#Question:“XXX”的重载均与“System.Threading.WaitCallback”不匹配。
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/9578234.html
Copyright © 2020-2023  润新知