服务器测评网
我们一直在努力

Linux命令行网络排查,这些命令你真的用对了吗?

Linux命令行网络管理:从基础到实践

Linux命令行提供了强大的网络管理工具,无论是简单的网络状态查询,还是复杂的网络配置,都可以通过命令高效完成,本文将系统介绍Linux命令行下的网络操作,包括网络配置、监控、诊断及安全相关命令,帮助读者掌握这一核心技能。

Linux命令行网络排查,这些命令你真的用对了吗?

网络信息查询与配置

  1. 查看网络接口信息
    ip命令是现代Linux系统中替代ifconfig的首选工具,使用ip addr showip a可查看所有网络接口的详细信息,包括IP地址、子网掩码、MAC地址等。

    ip a show eth0  

    若需快速查看接口状态,ip link命令可显示接口的启用/禁用状态及MAC地址。

  2. 配置静态IP地址
    在Debian/Ubuntu系统中,可通过/etc/netplan/目录下的配置文件设置静态IP。

    network:  
      version: 2  
      ethernets:  
        eth0:  
          dhcp4: no  
          addresses: [192.168.1.100/24]  
          gateway4: 192.168.1.1  
          nameservers:  
            addresses: [8.8.8.8, 1.1.1.1]  

    配置完成后运行netplan apply生效,在RHEL/CentOS系统中,则需修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,设置BOOTPROTO=static并指定IP、网关等参数。

  3. 动态IP配置(DHCP)
    使用dhclient命令可手动触发DHCP客户端获取IP地址:

    dhclient eth0  

    若需释放当前IP,则执行dhclient -r eth0

网络连通性与性能测试

  1. ping测试
    ping命令是最基础的网络连通性测试工具,通过发送ICMP报文检测目标主机是否可达:

    ping -c 4 8.8.8.8  # 发送4个包后退出  

    使用ping -i 0.5可调整发包间隔,-s参数可修改数据包大小。

    Linux命令行网络排查,这些命令你真的用对了吗?

  2. traceroute与mtr
    traceroute命令可显示数据包到目标主机的路径及每一跳的延迟:

    traceroute -n example.com  # -n避免DNS解析  

    mtr工具结合了pingtraceroute的优势,提供实时网络质量监控:

    mtr example.com  
  3. 网络带宽测试
    iperf3是专业的网络性能测试工具,需在服务器端和客户端分别运行:

    • 服务器端:iperf3 -s
    • 客户端:iperf3 -c server_ip -t 10(测试10秒带宽)

网络服务与端口管理

  1. 端口监听状态查询
    ss命令(替代netstat)可查看端口监听状态:

    ss -tulnp  # 显示所有监听的TCP/UDP端口及进程ID  

    -t为TCP,-u为UDP,-l仅显示监听端口,-n避免DNS解析,-p显示进程ID。

  2. 防火墙配置

    • iptables(传统工具):
      iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许80端口访问  
      iptables -L -n  # 查看规则链  
    • firewalld(RHEL/CentOS默认):
      firewall-cmd --add-service=http --permanent  # 永久允许HTTP服务  
      firewall-cmd --reload  # 重新加载配置  
  3. 网络服务管理
    使用systemctl控制网络相关服务:

    systemctl status NetworkManager  # 查看网络管理器状态  
    systemctl restart networking    # 重启网络服务  

高级网络诊断与安全

  1. 抓包分析
    tcpdump是强大的网络抓包工具,可捕获并分析数据包:

    Linux命令行网络排查,这些命令你真的用对了吗?

    tcpdump -i eth0 -w capture.pcap  # 保存到文件  
    tcpdump -i eth0 'tcp port 80'    # 过滤HTTP流量  

    使用Wireshark打开.pcap文件可进行图形化分析。

  2. 路由表管理
    ip route命令用于查看和修改路由表:

    ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0  # 添加静态路由  
    ip route del 192.168.2.0/24                          # 删除路由  
  3. SSH安全配置
    通过/etc/ssh/sshd_config可限制SSH访问:

    PermitRootLogin no      # 禁止root登录  
    PasswordAuthentication no  # 仅允许密钥认证  

    修改后需重启SSH服务:systemctl restart sshd

自动化与脚本实践

  1. 批量网络检查
    通过Shell脚本可自动化网络巡检:

    #!/bin/bash  
    hosts=("192.168.1.1" "8.8.8.8")  
    for host in "${hosts[@]}"; do  
        if ping -c 1 -W 1 "$host" &>/dev/null; then  
            echo "$host is reachable"  
        else  
            echo "$host is unreachable"  
        fi  
    done  
  2. 定时任务
    使用cron设置定时网络任务:

    crontab -e  
    */5 * * * * /path/to/network_check.sh  # 每5分钟执行一次  

Linux命令行网络管理是系统运维的核心技能之一,从基础的ipping到高级的tcpdumpiptables,这些工具不仅功能强大,还能通过脚本实现自动化运维,熟练掌握这些命令,不仅能提升工作效率,更能快速定位和解决网络问题,保障系统稳定运行,在实际应用中,建议结合具体场景灵活组合使用,并注重日志记录与安全防护,构建高效、可靠的网络管理流程。

赞(0)
未经允许不得转载:好主机测评网 » Linux命令行网络排查,这些命令你真的用对了吗?