DEV Community

howtouselinux
howtouselinux

Posted on

Troubleshoot Linux network issue

Linux 系统查看网络的常用命令

  1. ifconfig命令
    查看和配置网络状态

  2. 关闭和启动网卡

ifdown 网卡设备名 # 禁用该网卡设备
ifup 网卡设备名 # 启用该网卡设备

  1. 查询网络状态 netstat 选项

选项:
  -t:列出TCP协议端口
  -u:列出UDP协议端口
  -n:不使用域名与服务名,而使用IP地址和端口号
  -l :仅列出在监听状态网络服务(只有TCP有监听状态)
  -a:列出所有网络连接
  -r :列出路由列表,功能和route命令一致

  1. 查看DNS nslookup 地址 或者dig命令 dig hostname mx dig hostname cname dig hostname +short dig 是一个非常强大的命令,可以@server 来获得某个dns server上面的dns record。 查看本机DNS服务器

了解更多Linux网络命令可以查看这个帖子。

网络测试命令

  1. ping 选项 ip或域名
    ping是利用icmp协议来获得对端机器的状态,通常是echo request 和echo reply来查看。更多icmp协议的信息可以查看这个帖子。
    查看网络是否通畅
    选项:
      -c:次数,指定ping包的次数

  2. telnet [域名或ip] [端口]
    远程管理与端口探测命令,由于协议不加密,很少使用,大多用于探测对方某个端口是否开启。
    我们也可以用python来判断远程网络端口的情况。 可以查看这个帖子。

Linux网络性能差

网络性能差是一个不容易分析的问题, 我们大概可以从以下几个方面来分析。

  1. 物理层 查看网络端口网络丢包情况,物理链路的情况。在os上面都有相应的指标来衡量。
  2. 数据链路层 链路的的mtu的配置,数据包分组,重新组装的测试等等。
  3. tcp 的数据重传 这些在netstat -s的输出中都有记录。
  4. 应用层 这个帖子详细的介绍了如何分析Linux 网络性能差的问题。

上面所有的这些网络指标都可以通过Linux的图形化的监控来获得, 这样就可以拿到实时的数据,帮助我们来分析对应的问题。我们使用的是开源的软件,性能也非常强大。

一些网络方面的配置也会对性能有很大的影响,例如tcp window scaling会对网络的带宽有很大的提升

Top comments (0)