加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 教程 > 正文

Linux 中如何简便使用 IP 命令

发布时间:2021-01-25 14:15:25 所属栏目:教程 来源:互联网
导读:输出接口信息的 字段详解 BROADCAST,MULTICAST,UP,LOWER_UP:BROADCAST表示支持广播,MULTICAST表示支持多播 UP网络接口处于开启状态 LOWER_UP表示网络电缆已插入并且已连上网络 mtu1500:最大传输的单位1500字节 qdiscpfifo_fast:数据包排队 stateUP:接口状态

输出接口信息的 字段详解


  1. <BROADCAST,MULTICAST,UP,LOWER_UP>: BROADCAST 表示支持广播, MULTICAST 表示支持多播 
  2.  
  3. UP 网络接口处于开启状态 
  4.  
  5. LOWER_UP 表示网络电缆已插入并且已连上网络 
  6.  
  7. mtu 1500: 最大传输的单位1500字节 
  8.  
  9. qdisc pfifo_fast: 数据包排队 
  10.  
  11. state UP: 接口状态已开启 
  12.  
  13. qlen 1000: 传输队列长度 
  14.  
  15. link/ether fa:16:3e:e0:4f:b8 Mac地址 
  16.  
  17. brd ff:ff:ff:ff:ff:ff 广播地址 
  18.  
  19. inet 192.168.0.9/24 : IPV4 
  20.  
  21. scope global: 全局有效 
  22.  
  23. dynamic eth0: 动态分配地址 
  24.  
  25. valid_lft 74409sec: IPV4有效期 
  26.  
  27. preferred_lft 74409sec: IPV4首选生存期 
  28.  
  29. inet6 fe80::f816:3eff:fee0:4fb8/64  IPV6 
  30.  
  31. scope link: 仅在此接口上生效 

除了输出所有的网络接口信息外,还可以按照以下方式个性化输出网络接口信息

  • 按照是否支持 IPV4 或 IPV6输出

命令 ip -4 a 会输出只支持IPV4的接口信息

同样,命令 ip -6 a 会输出只支持IPV6的接口信息

  • 按照接口名字输出

命令 ip a show eth0会输出 eth0接口的信息


  1. [root@ecs-centos-7 ~]# ip a show eth0 
  2. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 
  3.     link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff 
  4.     inet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0 
  5.        valid_lft 73494sec preferred_lft 73494sec 
  6.     inet6 fe80::f816:3eff:fee0:4fb8/64 scope link  
  7.        valid_lft forever preferred_lft forever 
  • 按照网络接口开启和关闭状态输出

命令 ip link ls up 会输出所有处于开启状态的网络接口信息

那么,ip link ls down就会输出所有处于关闭状态的网络接口信息

为网络接口 添加、移除 IP地址

  • 添加IP

为指定网络接口分配IP地址的命令格式: ip a add ip地址 dev 接口名字

比如:现在要为eth0 网络接口分配一个网络掩码为 20 的IP 192.168.1.10, 具体的输入请看下面的实例


  1. [root@ecs-centos-7 ~]# ip a add 192.168.1.10/20  dev eth0 
  2. [root@ecs-centos-7 ~]# ip a show eth0 
  3. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 
  4.     link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff 
  5.     inet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0 
  6.        valid_lft 71787sec preferred_lft 71787sec 
  7.     inet 192.168.1.10/20 scope global eth0 
  8.        valid_lft forever preferred_lft forever 
  9.     inet6 fe80::f816:3eff:fee0:4fb8/64 scope link  
  10.        valid_lft forever preferred_lft forever 

从上面例子的输出结果可以看出,网络接口eth0上多了一个192.168.1.10的 IP

命令 ip a add 192.168.1.10/20 dev eth0 执行成功的话,是没有任何输出,如果网络接口 eth0 不存在的话,会输出 Cannot find device "eth0" 的错误信息

其实,还可以通过执行 ping 192.168.1.10 命令来测试网络接口上IP是否分配成功,如果能 ping 通IP的话,表示分配成功,否则表示失败

说明:192.168.1.10/20 中 20 是 CIDR 表示法的网络掩码,想详细了解的可以自行查阅网络掩码的资料

修改网络接口传输队列长度

通过 p l set txqueuelen 长度 dev 接口名字 命令可以设置网络接口的传输队列长度


  1. [root@ecs-centos-7 ~]# ip l show eth0 
  2. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1200 
  3.     link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff 
  4.      
  5. [root@ecs-centos-7 ~]# ip l set txqueuelen 1000 dev eth0 
  6. [root@ecs-centos-7 ~]# ip l show eth0 
  7. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 
  8.     link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff 

上面的例子中,字符串 qlen 1200 表示传输队列长度是 1200

从例子中可以看出,修改传输队列长度之前,传输队列长度是 1200

执行 ip l set txqueuelen 1000 dev eth0 命令把传输队列长队修改为 1000, 然后再执行 ip l show eth0 命令查询 eth0网络接口的信息,查询结果中 default qlen 1000 说明修改成功

修改网络接口的MTU(最大传输单元)

通过 p l set mtu 长度 dev 接口名字 命令可以设置网络接口的最大传输单元


  1. [root@ecs-centos-7 ~]# ip l show eth0 
  2. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1600 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1200 
  3.     link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff 
  4.  
  5.  
  6. [root@ecs-centos-7 ~]# ip l set set mtu 1500 dev eth0 
  7. [root@ecs-centos-7 ~]# ip l show eth0 
  8. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1200 
  9.     link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff 

上面的例子中,字符串 mtu 1600 表示最大传输单元是 1600

从例子中可以看出,修改传输队列长度之前,最大传输单元是 1600

执行 ip l set set mtu 1500 dev eth0 命令把最大传输单元修改为 1500, 然后再执行 ip l show eth0 命令查询 eth0网络接口的信息,查询结果中 mtu 1500 说明修改成功

查看IP路由表

下面几条命令都可以查看 IP 路由表


  1. ip r 
  2. ip route 
  3. ip r list 
  4. ip route list 
  • 查看路由表

  1. [root@ecs-centos-7 ~]# ip r 
  2. default via 192.168.0.1 dev eth0 proto dhcp metric 100  
  3. 169.254.169.254 via 192.168.0.254 dev eth0 proto dhcp metric 100  
  4. 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.9 metric 100 
  • 查看指定IP以及网络掩码的路由表

  1. [root@ecs-centos-7 ~]# ip r list 192.168.0.0/24 
  2. 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.9 metric 100  

查看ARP缓存

ARP是 Address Resolution Protocol 的缩写, 全称是地址解析协议,它是用于实现从IP地址到Mac地址的映射,也就是询问目标IP的Mac地址

在本地存储了一份IP对应Mac地址的映射表,这张表叫做 ARP缓存表,可以使用 ip n 命令查看缓存表
  
 

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读