Skip to content

第10章:网络配置与测试

10.1 查看网络信息

ip命令

  • 功能:查看和配置网络接口信息
  • 常用选项:
    • addr:查看网络接口地址
    • link:查看网络接口状态
    • route:查看路由表
  • 示例:
    bash
    $ ip addr  # 查看所有网络接口的IP地址
    $ ip link  # 查看网络接口状态
    $ ip route  # 查看路由表

ifconfig命令

  • 功能:查看和配置网络接口信息(较旧的命令)
  • 示例:
    bash
    $ ifconfig  # 查看所有网络接口信息
    $ ifconfig eth0  # 查看特定网络接口信息

hostname命令

  • 功能:查看或设置主机名
  • 示例:
    bash
    $ hostname  # 查看主机名
    $ sudo hostname new-hostname  # 设置主机名(临时)

/etc/hosts文件

  • 功能:配置本地主机名与IP地址的映射
  • 位置:/etc/hosts
  • 示例内容:
    127.0.0.1   localhost
    127.0.1.1   myhostname

10.2 测试网络连通性

ping命令

  • 功能:测试网络连通性
  • 常用选项:
    • -c:指定发送的数据包数量
    • -i:指定发送数据包的间隔时间
    • -s:指定数据包大小
  • 示例:
    bash
    $ ping google.com  # 测试与Google的连通性
    $ ping -c 4 192.168.1.1  # 发送4个数据包测试

traceroute命令

  • 功能:追踪数据包的路由路径
  • 示例:
    bash
    $ traceroute google.com  # 追踪到Google的路由路径

mtr命令

  • 功能:结合ping和traceroute的功能,提供更详细的网络质量信息
  • 示例:
    bash
    $ mtr google.com  # 查看网络质量

10.3 查看端口占用

netstat命令

  • 功能:查看网络连接、路由表、接口统计等
  • 常用选项:
    • -t:显示TCP连接
    • -u:显示UDP连接
    • -l:显示监听状态的端口
    • -n:以数字形式显示地址和端口
    • -p:显示进程信息
  • 示例:
    bash
    $ netstat -tlnp  # 查看所有监听的TCP端口
    $ netstat -ulnp  # 查看所有监听的UDP端口

ss命令

  • 功能:查看网络连接(netstat的替代品,更高效)
  • 常用选项:
    • -t:显示TCP连接
    • -u:显示UDP连接
    • -l:显示监听状态的端口
    • -n:以数字形式显示地址和端口
    • -p:显示进程信息
  • 示例:
    bash
    $ ss -tlnp  # 查看所有监听的TCP端口
    $ ss -ulnp  # 查看所有监听的UDP端口

lsof命令

  • 功能:查看文件打开情况,包括网络连接
  • 示例:
    bash
    $ lsof -i :80  # 查看80端口的使用情况
    $ lsof -i tcp  # 查看所有TCP连接

10.4 临时/永久配置IP地址

临时配置IP地址

使用ifconfig命令

  • 格式:sudo ifconfig 接口名 IP地址 netmask 子网掩码
  • 示例:
    bash
    $ sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0

使用ip命令

  • 格式:sudo ip addr add IP地址/子网掩码 dev 接口名
  • 示例:
    bash
    $ sudo ip addr add 192.168.1.100/24 dev eth0

永久配置IP地址

Ubuntu/Debian系统

  1. 编辑网络配置文件:

    bash
    $ sudo vim /etc/netplan/00-installer-config.yaml
  2. 示例配置:

    yaml
    network:
      ethernets:
        eth0:
          addresses:
          - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 8.8.4.4]
      version: 2
  3. 应用配置:

    bash
    $ sudo netplan apply

CentOS/RHEL系统

  1. 编辑网络配置文件:

    bash
    $ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
  2. 示例配置:

    TYPE=Ethernet
    BOOTPROTO=static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
  3. 重启网络服务:

    bash
    $ sudo systemctl restart network

10.5 远程连接故障排查

常见问题

  • 连接超时:网络不通或防火墙阻止
  • 拒绝连接:服务未运行或端口未开放
  • 权限被拒绝:用户名或密码错误
  • 主机不存在:DNS解析问题或IP地址错误

排查步骤

  1. 检查网络连接

    bash
    $ ping 目标IP地址
  2. 检查目标端口

    bash
    $ telnet 目标IP地址 端口号
    $ nc -zv 目标IP地址 端口号
  3. 检查本地网络配置

    bash
    $ ip addr
    $ ip route
  4. 检查防火墙

    • Ubuntu/Debian:
      bash
      $ sudo ufw status
    • CentOS/RHEL:
      bash
      $ sudo firewall-cmd --list-all
  5. 检查服务状态

    bash
    $ sudo systemctl status sshd
  6. 检查日志

    bash
    $ sudo tail -f /var/log/auth.log  # Ubuntu/Debian
    $ sudo tail -f /var/log/secure  # CentOS/RHEL

实战练习:网络配置与测试

  1. 查看网络接口信息:

    bash
    $ ip addr
    $ ifconfig
  2. 测试网络连通性:

    bash
    $ ping google.com
    $ ping -c 4 192.168.1.1
  3. 查看路由表:

    bash
    $ ip route
  4. 查看端口占用:

    bash
    $ netstat -tlnp
    $ ss -tlnp
  5. 测试远程连接:

    bash
    $ telnet localhost 22
    $ nc -zv localhost 22
  6. 临时配置IP地址:

    bash
    $ sudo ifconfig eth0 192.168.1.200 netmask 255.255.255.0

通过学习网络配置与测试,你将能够排查网络问题,确保系统的网络连接正常,这对于服务器管理和远程操作非常重要。

© 2026 编程马·菜鸟教程 版权所有