Linux命令 ifconfig ethtool ip iperf3 网络查看常用命令 查看是否丢包 网络带宽测试工具

您所在的位置:网站首页 Linux查看网络接口状态命令 Linux命令 ifconfig ethtool ip iperf3 网络查看常用命令 查看是否丢包 网络带宽测试工具

Linux命令 ifconfig ethtool ip iperf3 网络查看常用命令 查看是否丢包 网络带宽测试工具

2023-09-03 16:47| 来源: 网络整理| 查看: 265

1.ifconfig

  ifconfig是最常用的配置和查看网络接口信息的命令,可以用来临时性配置网卡的 IP地址、掩码、广播地址、网关等。

(1)常用参数以及含义 -a 显示全部的接口信息 -s 显示接口的摘要信息 -v 若接口有错误信息则为显示对应错误信息 up 启动指定网卡 down 关闭指定网卡,若要永久关闭一个网卡,还须从核心路由表中将该接口的路由信息全部删除 arp 设置指定网卡支持arp协议 -arp 设置指定网卡不支持arp协议 add 为指定网卡添加IPv6地址 del 删除指定网卡的Ipv6地址 mtu 设置网卡的最大传输单元 netmask 设置指定网卡的子网掩码 broadcast 为指定网卡设定广播地址 multicast 设置指定网卡组播标志 txqueuelen 为指定网卡设定传输缓冲区的长度 broadcast 为指定网卡设定广播地址 tunnel 建立IPv4与IPv6之间的隧道通信地址 pointopoint 与指定地址的网络设备建立直接连线,此模式具有保密功能 dstaddr 设定一个远端地址,建立点对点通信 Hw 设置指定网卡的mac地址 promisc 设置指定网卡为混杂模式,该模式下接收所有流经该设备的数据包 [ip地址] 设置指定设备的ip地址 irq 设置指定设备的irq地址 metric 指定在计算数据包的转送次数时,所要加的数目

# 不包括down状态的网卡

ifconfig # 图中的信息 ens1fo表示第一块网卡,UP表示该网卡开启,BROADCAST表示该网卡支持广播,RUNNING表示该网卡处于连接状态,MULTICAST表示该网卡支持组播; mtu 1500表示该网卡最大的单元传输是1500字节;inet后表示的是该网卡连接的IPv4地址,netmask是该地址的子网掩码,broadcast是该IP的广播地址;ether表示该网卡的mac地址,txqueuelen 1000表示该网卡的传输缓冲区长度为1000字节; RX packets 表示该网卡自激活以来接收的所有数据包的大小,RX errors表示该网卡接收的数据包中发生错误的数据包的情况;对应的TX packets和TX errors表示该网卡发送数据包的情况。

(2)常用命令

# 查看所有网卡的信息(包括down状态的网卡)

ifconfig -a

# 查看指定网卡的信息 enp4s0是网卡名字 可以通过ethtool命令查看

ifconfig enp4s0

# 启动和关闭eth1网卡

ifconfig enp4s0 up ifconfig enp4s0 down

# 配置IP地址,子网掩码和广播地址

ifconfig enp4s0 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255

# 修改最大传输单元

ifconfig enp4s0 mtu 1600

# 同一网卡配置不同的虚拟IP

ifconfig enp4s0 :0 192.168.1.10 up # 这里enp4s0 :0 表示基于enp4s0 网卡新建虚拟IP (3)配置网络方式

Ifconfig命令是临时性地去修改网络配置,若需在服务器重启之后保留这些配置,有以下3种方法:

通过各个发行和版本专用的工具来修改IP地址直接修改网络接口的配置文件(路径是:/etc/sysconfig/network-scripts/,找到对应网口的配置文件,没有文件可以手动创建配置参数)修改特定的文件,加入ifconfig 指令来指定网卡的IP地址,比如在redhat或Fedora中,把ifconfig 的语名写入/etc/rc.d/rc.local中

 

2.ethtool

  使用ethtool命令来查看配置网卡信息

(1)安装ethtool yum -y install ethtool net-tools (2)常用参数 -k 查询网卡的Offload信息 -K 修改网卡的Offload信息 -c 查询网卡聚合信息 -C 修改网卡聚合信息 -l 查看网卡队列数 -L 设置网卡队列数 -g 查看网卡的rx和tx -G 修改网卡rx和tx (3)常用命令

# 其中N是对应网卡的编号,如eth0、eth1等等 以下测试所使用的编号统一为enp4s0

ethtool enp4s0

# 查看网卡是否起来,需要看Link detected是否为Yes

ethtool -i enp4s0

# 查看网卡队列数量,根据实际网卡队列数据量来设置队列

cat /proc/interrupts | grep enp4s0 或 ethtool -l enp4s0

打印的信息如下:

Channel parameters for enp4s0: Pre-set maximums: RX:        0 TX:        0 Other:        0 Combined:    16 Current hardware settings: RX:        0 TX:        0 Other:        0 Combined:    16 Combined=16代表当前网卡会使用16个进程来处理数据

# 修改网卡队列

ethtool -L enp4s0 combined 24

# 查看网卡的ring buffer

ethtool -g enp4s0 # ring buffer 值越大丢包的可能越小,但数据延迟会增加

# 修改网卡 rx 和 tx的buffer size

ethtool -G enp4s0 rx 4096 tx 4096

# 开启LRO(Large Receive Offload)

ethtool -K enp4s0 lro on #  在结果中:[fixed]这个代表这个参数是固定的不能修改

# 查看Offload信息

ethtool -k enp4s0

注意:由于重启之后修改会失效,您可以在 rc.local 中设置为开机自动运行修改命令,参考如下

chmod -x /etc/rc.d/rc.local vi /etc/rc.d/rc.local # 添加内容如下 ethtool -G eth0 rx 18000 tx 2500

 

(4)查看是否丢包

在生产实践中,因 Ring Buffer 写满导致丢包的情况很多。

ethtool -S enp4s0 | grep -iE "error|drop"

发送队列和接收队列 drop 的数据包数量显示在这里。并且所有 queue_drops 加起来等于 rx_fifo_errors。所以总体上能通过 rx_fifo_errors 看到 Ring Buffer 上是否有丢包。如果有的话一方面是看是否需要调整一下每个队列数据的分配,或者是否要加大 Ring Buffer 的大小。

 

3.ip命令

  ip是网络配置工具,用来显示或操作路由、网络设备、策略路由和隧道,它能够替代一些传统的网络管理工具,例如ifconfig、route等。用ip配置的设备信息,大部分会在设备重启后还原,如果想永久保留配置,请尽量进入配置文件修改

(1)命令格式 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] } (2)常用参数

对象:

link 网络设备 address 设备上的协议(IP或IPv6)地址 addrlabel 协议地址选择的标签配置 neighbour ARP或NDISC缓存条目 route 路由表条目 rule 路由策略数据库中的规则 maddress 组播地址 mroute 组播路由缓存条目 tunnel IP隧道 xfrm IPSec协议框架

--所有对象的名称可以用完整或缩写形式书写,例如address可以缩写成addr或只是a

选项:

-V,-Version 显示指令版本信息 -s,-stats,statistics 输出详细信息 -h,-human,-human-readable 输出人类可读的统计信息和后缀 -iec 以IEC标准单位打印人类可读速率(例如1K=1024) -f,-family 指定要使用的协议族。协议族标识可以是inet、inet6、ipx、dnet或link之一。 -4 -family inet的快捷方式 -6 -family inet6的快捷方式 -0 -family link的快捷方式 -o,-oneline 将每条记录输出到一行,用’\’字符替换换行符。 -r,-resolve 使用系统名称解析程序来打印DNS名称而不是主机地址。 (3)常用命令 ip a

 

4.iperf3

  iperf3是一个网络性能测试工具,用于主动测量IP网络上可达到的最大带宽的工具。它支持调整与时序,协议和缓冲区有关的各种参数。对于每个测试,它都会报告测得的吞吐量/比特率,损耗和其他参数。

github地址:https://github.com/esnet/iperf

可以直接查看git上面的说明使用

(1)安装 yum -y install iperf3 (2)常用参数 iperf3的参数需要区分服务端和客户端 服务端: -s 表示服务器端 -p 定义端口号 -i 设置每次报告之间的时间间隔,单位为秒 客户端: -c     表示服务器的IP地址; -p     表示服务器的端口号; -t     参数可以指定传输测试的持续时间,Iperf在指定的时间内,重复的发送指定长度的数据包,默认是10秒钟. -i     设置每次报告之间的时间间隔,单位为秒,如果设置为非零值,就会按照此时间间隔输出测试报告,默认值为零; -w     设置套接字缓冲区为指定大小,对于TCP方式,此设置为TCP窗口大小,对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值. --logfile     参数可以将输出的测试结果储存至文件中. -J     来输出JSON格式测试结果. -R     反向传输,缺省iperf3使用上传模式:Client负责发送数据,Server负责接收;如果需要测试下载速度,则在Client侧使用-R参数即可 (3)常用命令

启动服务端:

iperf3 -s

-----------------------------------------------------------

Server listening on 5201

-----------------------------------------------------------

启动客户端:

iperf3 -c 90.90.62.52

 

[ 4] local 90.90.42.152 port 44092 connected to 90.90.62.52 port 5201

[ ID] Interval Transfer Bandwidth Retr Cwnd

[ 4] 0.00-1.00 sec 114 MBytes 956 Mbits/sec 0 362 KBytes

[ 4] 1.00-2.00 sec 113 MBytes 945 Mbits/sec 0 362 KBytes

[ 4] 2.00-3.00 sec 112 MBytes 938 Mbits/sec 0 362 KBytes

[ 4] 3.00-4.00 sec 113 MBytes 945 Mbits/sec 0 362 KBytes

[ 4] 4.00-5.00 sec 112 MBytes 938 Mbits/sec 0 362 KBytes

[ 4] 5.00-6.00 sec 113 MBytes 945 Mbits/sec 0 362 KBytes

[ 4] 6.00-7.00 sec 112 MBytes 939 Mbits/sec 0 380 KBytes

[ 4] 7.00-8.00 sec 113 MBytes 945 Mbits/sec 0 380 KBytes

[ 4] 8.00-9.00 sec 112 MBytes 939 Mbits/sec 0 380 KBytes

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3