菜鸟科技网

Unix网卡命令有哪些常用操作?

在Unix-like系统中,网卡管理是系统管理员日常运维的重要工作之一,掌握相关的命令能够有效监控、配置和排查网络问题,以下将详细介绍常用的Unix网卡命令,涵盖状态查看、配置管理、流量统计、故障排查等多个维度,并结合实际场景说明其使用方法。

Unix网卡命令有哪些常用操作?-图1
(图片来源网络,侵删)

网卡状态查看命令

  1. ifconfig
    ifconfig是传统的网络接口配置工具,可用于查看和配置网卡的IP地址、子网掩码、MAC地址等信息,在较新的Linux发行版中,ifconfig已被ip命令取代,但在部分Unix系统(如FreeBSD、Solaris)中仍广泛使用。

    • 查看所有网卡状态ifconfig -a
      显示系统中所有网络接口(包括已禁用的)的详细信息,如接口类型(如eth0、lo)、IPv4地址、MAC地址、MTU值等。
    • 查看指定网卡ifconfig eth0
      仅显示eth0接口的配置,包括IP地址、广播地址、子网掩码等。
    • 启用/禁用网卡ifconfig eth0 upifconfig eth0 down
      用于临时激活或关闭网卡,操作后立即生效,但重启系统后会恢复原配置。
  2. ip命令
    ip命令是Linux系统中ifconfig的替代品,功能更强大,支持IPv4和IPv6,可查看和路由表、ARP表等。

    • 查看所有接口ip addr show
      输出信息包括接口的IP地址、MAC地址、状态(UP/DOWN)、MTU等,比ifconfig更详细。
    • 查看接口统计信息ip -s link show eth0
      显示eth0的接收(RX)和发送(TX)数据包数量、错误数、丢包数等统计信息,便于分析网络性能。
    • 临时修改IP地址ip addr add 192.168.1.100/24 dev eth0
      为eth0添加一个IPv4地址,添加后需执行ip link set eth0 up激活接口。

网络配置管理命令

  1. nmcli
    nmcli是NetworkManager的命令行工具,适用于动态网络管理,尤其在桌面版Linux和云环境中常用。

    • 查看连接状态nmcli connection show
      列出所有网络连接的名称、类型、状态(如活跃/未激活)。
    • 修改静态IP
      nmcli connection modify "eth0" ipv4.addresses 192.168.1.100/24  
      nmcli connection modify "eth0" ipv4.method manual  
      nmcli connection up "eth0"  

      通过修改连接配置并重新激活,实现IP地址的持久化配置。

      Unix网卡命令有哪些常用操作?-图2
      (图片来源网络,侵删)
    • 配置DHCPnmcli connection modify "eth0" ipv4.method auto
  2. netstat
    netstat用于查看网络连接、路由表、接口统计等信息,在排查端口占用和服务连接问题时常用。

    • 查看活跃连接netstat -tuln
      显示所有TCP(-t)、UDP(-u)监听(-l)端口,并以数字形式(-n)展示地址和端口号,避免DNS解析延迟。
    • 查看进程对应的连接netstat -tulnp
      加上-p参数可显示占用端口的进程ID(PID)和名称,便于定位问题进程。
  3. ss命令
    ss是netstat的替代工具,速度更快,支持显示更多TCP状态信息。

    • 查看所有TCP连接ss -t
      • -a:显示所有连接(包括监听和非监听);
      • -n:以数字形式显示地址和端口;
      • -p:显示进程信息。

网络流量与性能监控命令

  1. iftop
    iftop以实时流量图的形式显示网络接口的带宽使用情况,按源和目标IP排序,适用于监控异常流量。

    • 安装与使用
      在Debian/Ubuntu中安装:apt install iftop
      运行:iftop -i eth0
      界面中会显示实时上传(↑)和下载(↓)流量,以及每个IP的连接数和带宽占比。
  2. nload
    nload以双柱状图形式显示总带宽和单个连接的实时流量,界面简洁直观。

    Unix网卡命令有哪些常用操作?-图3
    (图片来源网络,侵删)
    • 使用方法nload -i eth0
      左侧柱状图表示入站流量,右侧表示出站流量,底部显示平均和峰值速率。
  3. tcpdump
    tcpdump是强大的网络抓包工具,用于分析底层网络数据包,适用于协议分析和故障排查。

    • 抓取eth0的所有流量tcpdump -i eth0
    • 抓取特定IP的流量tcpdump -i eth0 host 192.168.1.100
    • 抓取HTTP流量tcpdump -i eth0 port 80
      抓取的数据包可保存到文件(-w选项)并使用Wireshark分析。

路由与DNS配置命令

  1. route命令
    route用于查看和操作IP路由表,在较旧系统中仍常用,但新版本推荐使用ip route

    • 查看路由表route -n
    • 添加静态路由route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
  2. nslookup
    nslookup用于查询DNS记录,可测试域名解析是否正常。

    • 查询A记录nslookup www.example.com
    • 指定DNS服务器nslookup www.example.com 8.8.8.8

常见问题排查流程

  1. 无法连接网络

    • 检查网卡状态:ip link show,确认接口是否为UP状态。
    • 检查IP配置:ip addr show,确认IP、子网掩码是否正确。
    • 检查网关:ip route show,确认默认路由是否存在。
    • 检查DNS:ping 8.8.8.8测试外网连通性,再用nslookup测试域名解析。
  2. 网络卡顿或丢包

    • 查看网卡错误包:ip -s link show eth0,检查RX/TX错误数和丢包数。
    • 使用iftopnload监控流量,确认是否存在带宽瓶颈。
    • 抓包分析:tcpdump -i eth0 -c 100抓取100个数据包,检查异常包。

相关问答FAQs

Q1: ifconfig和ip命令的主要区别是什么?
A1: ifconfig是传统工具,功能单一,仅支持IPv4/IPv6地址和MAC地址的简单配置,且在Linux新版本中已被弃用,ip命令功能更全面,支持路由管理、隧道配置、ARP表操作等,且性能更优,是现代Linux系统推荐的网络管理工具。

Q2: 如何在Unix系统中永久修改网卡的IP地址?
A2: 永久修改IP地址的方法因系统而异:

  • 在使用NetworkManager的系统(如Ubuntu)中,可通过nmcli connection modify命令修改配置,并激活连接;
  • 在使用传统ifcfg配置的系统(如CentOS 7)中,需编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改IPADDR、NETMASK、GATEWAY等参数后重启网络服务(systemctl restart network);
  • 在FreeBSD中,需编辑/etc/rc.conf文件中的ifconfig_eth0配置。
分享:
扫描分享到社交APP
上一篇
下一篇