博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 解析 ip 的各种命令
阅读量:813 次
发布时间:2019-03-24

本文共 5495 字,大约阅读时间需要 18 分钟。

IP命令完全可以取代ifconfig命令 甚至更强

ip常用命令格式如下:

ip [ OPTIONS ] OBJECT {
COMMAND | help }
对象OBJECT={
link | addr | addrlabel | route | rule | neigh | ntable | tunnel | maddr | mroute | mrule | monitor | xfrm | token }选项OPTIONS={
-V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -f[amily] {
inet | inet6 | ipx | dnet | link } | -o[neline] | -t[imestamp] | -b[atch] [filename] | -rc[vbuf] [size] }

常用对象的取值含义如下:

  • link:网络设备
  • address:设备上的协议(IP或IPv6)地址
  • addrlabel:协议地址选择的标签配置
  • route:路由表条目
  • rule:路由策略数据库中的规则

常用选项的取值含义如下:

  • -V,-Version:显示指令版本信息
  • -s,-stats,statistics:输出详细信息
  • -h,-human,-human-readable:输出人类可读的统计信息和后缀
  • -o,-oneline:将每条记录输出到一行,用‘\’字符替换换行符

1.检查网卡信息

  • 命令:ip addr show
    说明:显示网卡及配置的地址信息
    输出:
1: lo: 
mtu 65536 qdisc noqueue state UNKNOWN qlen 1 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 forever2: eth0:
mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1e:4f:c8:43:fc brd ff:ff:ff:ff:ff:ff inet 192.168.0.24/24 brd 192.168.0.255 scope global eth0 valid_lft forever preferred_lft forever

输出内容详解:

首先这个系统有两个接口:lo和eth0,lo是环回接口,而我们重点关注的则是eth0这个普通网络接口;下面在看看每个子项的含义:

:BROADCAST表示该接口支持广播;MULTICAST表示该接口支持多播;UP表示该网络接口已启用;LOWER_UP表示网络电缆已插入,设备已连接至网络mtu 1500:最大传输单位(数据包大小)为1,500字节qdisc pfifo_fast:用于数据包排队state UP:网络接口已启用qlen 1000:传输队列长度link/ether 00:1e:4f:c8:43:fc:接口的MAC(硬件)地址brd ff:ff:ff:ff:ff:ff:广播地址inet 192.168.0.24/24:IPv4地址brd 192.168.0.255:广播地址scope global:全局有效dynamic enp0s25:地址是动态分配的valid_lft forever:IPv4地址的有效使用期限preferred_lft forever:IPv4地址的首选生存期inet6 fe80::2c8e:1de0:a862:14fd/64:IPv6地址scope link:仅在此设备上有效valid_lft forever:IPv6地址的有效使用期限preferred_lft forever:IPv6地址的首选生存期

1.1 IP管理

命令:ip addr add 192.168.0.123/24 dev eth0

说明:设置IP
命令:ip add del 192.168.0.123/24 dev eth0
说明:删除配置的IP

1.2禁启用网卡

命令:ip link set eth0 up

说明:启用被禁用的网卡

命令:ip link set eth0 down

说明:禁用网卡

1.3 路由配置

命令:ip route show

说明:查看路由信息
输出:

default via 172.17.175.253 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 172.17.160.0/20 dev eth0 proto kernel scope link src 172.17.169.20

输出内容详解:

  • 输出内容第一条是默认的路由,我们可以根据我们的需要改动它
  • metric 1002:跳跃计数,确定网关的优先级,默认20,数值越小优先级越高
  • proto kernel:该路由的协议,主要有redirect,kernel,boot,static,ra等,其中kernel指的是直接由核心判断自动设定
命令:ip route get 119.75.216.20说明:通过IP地址查询路由包从哪条路由来命令:ip route add default via 192.168.0.150/24说明:所有的网络数据包都通过192.168.0.150来转发,而不是以前的默认路由命令:ip route add 172.16.32.32 via 192.168.0.150/24 dev enp0s3说明:修改特定网卡的默认路由命令:ip route del 172.17.160.0/20说明:删除路由命令:ip route flush cache说明:刷新路由表

2.在Linux上 ip a

在这里插入图片描述

这个系统上的多个接口 - 环回(lo)和网络(eth0 1 2 3)——显示了很多统计数据。 lo 接口显然是环回地址loolback。 我们可以在列表中看到环回 IPv4 地址(127.0.0.1)和环回 IPv6(::1)。

ip 信息的其余部分的翻译:

mtu 1500                                    最大传输单位(数据包大小)为1,500字节qdisc pfifo_fast                            用于数据包排队state UP                                    网络接口已启用group default                               接口组qlen 1000                                   传输队列长度link/ether 00:1e:4f:c8:43:fc                接口的 MAC(硬件)地址brd ff:ff:ff:ff:ff:ff                       广播地址inet 192.168.1.10/24                        IPv4 地址brd 192.168.0.255                           广播地址scope global                                全局有效dynamic enp0s25                             地址是动态分配的valid_lft 80866sec                          IPv4 地址的有效使用期限preferred_lft 80866sec                      IPv4 地址的首选生存期inet6 fe80::2c8e:1de0:a862:14fd/64          IPv6 地址scope link                                  仅在此设备上有效valid_lft forever                           IPv6 地址的有效使用期限preferred_lft forever                       IPv6 地址的首选生存期

3. ifconfig 相关 - 显示网络统计数据

  • 命令:ip -s link
    说明:显示所有网络接口的统计数据
  • 命令:ip -s -s link ls eth0 &&&& ip -s link show eth0

说明:获取一个特定网络接口的信息;在网络接口名字后面添加选项ls即可。使用多个选项-s会输出指定接口详细的信息;特别是在排除网络连接故障时,这会非常有用。

ifconfig 命令提供的一些信息未包含在 ip a 命令的输出中 —— 例如传输数据包的统计信息。 如果您想查看发送和接收的数据包数量以及冲突数量的列表,可以使用以下 ip 命令:在这里插入图片描述

1: lo: 
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 RX: bytes packets errors dropped overrun mcast 361849729592 174114258 0 0 0 0 TX: bytes packets errors dropped carrier collsns 361849729592 174114258 0 0 0 0 2: eth0:
mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:16:3e:08:08:55 brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 32345193376 115901261 0 0 0 0 TX: bytes packets errors dropped carrier collsns 139742200499 114451909 0 0 0 0

输出重点内容详解:

RX:表示接收TX:表示发送bytes:接收/发送的字节数packets:接收/发送的包数errors:接收/发送的带有错误的包总数dropped:由于处理资源不足导致接收/发送的丢弃的包数overrun:因接收溢出(环形缓冲区)导致丢失的包;通常如果接口溢出,则表示内核中存在严重问题,或者说服务器上该网络设备的处理设备太慢mcast:接收到的多播包数carrier:因数据链路错误导致发送失败的包数collsns:因在网络上发送冲突而导致的失败数

拓展:修改网卡信息

修改配置文件 /etc/sysconfig/network-scripts/ 目录下的网卡同名文件

在这里插入图片描述

DEVICE=eth0 #指出设备名称NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启ONBOOT=yes #设置为yes,开机自动启用网络连接IPADDR=192.168.21.129 #IP地址BOOTPROTO=none #设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务NETMASK=255.255.255.0 #子网掩码DNS1=8.8.8.8 #第一个dns服务器TYPE=Ethernet #网络类型为:EthernetGATEWAY=192.168.21.2 #设置网关DNS2=8.8.4.4 #第二个dns服务器IPV6INIT=no #禁止IPV6USERCTL=no #是否允许非root用户控制该设备,设置为no,只能用root用户更改HWADDR=00:0C:29:2C:E1:0F #网卡的Mac地址PREFIX=24NAME=”System eth0″ #定义设备名称

实例:

TYPE=Ethernet

DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.9.129
NETMASK=255.255.255.0
GATEWAY=192.168.21.2
DNS1=8.8.8.8
DNS2=114.114.114.114

转载地址:http://cozuk.baihongyu.com/

你可能感兴趣的文章