Ubuntu 24.04 LTS 解决网络连接问题

1. 问题描述

  • 现象ens33 网络接口无法获取 IPv4 地址,导致网络不可用。
  • 初步排查
    • 运行 ip a,发现 ens33 接口没有分配 IPv4 地址。
    • 运行 ping www.baidu.com,提示"网络不可达"。
    • 查看 NetworkManager 日志,发现 DHCP 请求失败。

2. 详细排查与修复过程

步骤 1:检查网络接口状态
  • 命令
bash 复制代码
 ip a
  • 部分输出
bash 复制代码
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
link/ether 00:0c:29:75:7b:81 brd ff:ff:ff:ff:ff:ff 
altname enp2s1 
inet6 fe80::f06a:5b51:ac6a:a797/64 scope link noprefixroute 
valid_lft forever preferred_lft forever 
  • 分析
    • ens33 接口已启用(UP 状态),但没有分配 IPv4 地址(没有 inet 行)。

步骤 2:检查网络配置文件
  • 命令

    bash 复制代码
    sudo cat /etc/netplan/*.yaml
  • 输出

    yaml 复制代码
    network:
      version: 2
      ethernets:
        NM-1636652f-5720-414e-9282-xxxxxxxxcf99:
          renderer: NetworkManager
          match:
            name: "ens33"
          dhcp4: true
          dhcp6: true
          wakeonlan: true
          networkmanager:
            uuid: "1636652f-5720-414e-9282-xxxxxxxxf99"
            name: "配置 1"
            passthrough:
              ethernet._: ""
              ipv6.addr-gen-mode: "default"
              ipv6.ip6-privacy: "-1"
              proxy._: ""
  • 分析

    • 配置文件中启用了 dhcp4,但 DHCP 未分配 IP 地址。

步骤 3:检查虚拟机网络设置
  • 发现
    • 虚拟机的 vmnet8 网络设置如下:
      • 子网 IP:192.168.213.0
      • 网关:192.168.213.2
      • 子网掩码:255.255.255.0

步骤 4:手动配置静态 IP
  • 命令

    bash 复制代码
    sudo nano /etc/netplan/*.yaml
  • 修改后的配置文件

    yaml 复制代码
    network:
      version: 2
      ethernets:
        NM-1636652f-5720-414e-9282-xxxxxxxxcf99:
          renderer: NetworkManager
          match:
            name: "ens33"
          addresses:
            - 192.168.213.100/24
          routes:
            - to: 0.0.0.0/0
              via: 192.168.213.2
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
          wakeonlan: true
          networkmanager:
            uuid: "1636652f-5720-414e-9282-xxxxxxxxcf99"
            name: "配置 1"
            passthrough:
              ethernet._: ""
              ipv6.addr-gen-mode: "default"
              ipv6.ip6-privacy: "-1"
              proxy._: ""
  • 应用配置

    bash 复制代码
    sudo netplan apply

步骤 5:验证网络配置
  • 命令

    bash 复制代码
    ip a
  • 输出

    复制代码
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0c:29:75:7b:81 brd ff:ff:ff:ff:ff:ff
        inet 192.168.213.100/24 brd 192.168.213.255 scope global noprefixroute ens33
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe75:7b81/64 scope link
           valid_lft forever preferred_lft forever
  • 分析

    • ens33 接口已成功分配静态 IP 地址 192.168.213.100/24

步骤 6:测试网络连接
  • 测试网关

    bash 复制代码
    ping 192.168.213.2
  • 输出

    复制代码
    PING 192.168.213.2 (192.168.213.2) 56(84) bytes of data.
    64 bytes from 192.168.213.2: icmp_seq=1 ttl=64 time=0.123 ms
    64 bytes from 192.168.213.2: icmp_seq=2 ttl=64 time=0.098 ms
  • 测试外部网络

    bash 复制代码
    ping 8.8.8.8
  • 输出

    复制代码
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=10.2 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=9.8 ms
  • 分析

    • 网络连接正常。

步骤 7:重启系统并验证
  • 重启系统

    bash 复制代码
    sudo reboot
  • 验证网络

    • 重启后,运行 ping www.baidu.com,确认网络连接正常。

关键点总结

  • DHCP 失败:由于 DHCP 无法分配 IP 地址,手动配置静态 IP 是最有效的解决方案。
  • NetworkManager :确保 NetworkManager 服务正常运行。
  • 备份配置文件:在修改网络配置前,备份原有配置文件。
相关推荐
?!7149 分钟前
多线程和并发之线程
linux·c语言·c++
sha102413 分钟前
GitLab CI流水线权限隔离
linux·ci/cd·gitlab
世事如云有卷舒14 分钟前
Linux驱动学习笔记(十)
linux·笔记·学习
huazeci35 分钟前
PHP生成pdf方法
开发语言·pdf·php
新时代牛马1 小时前
linux使用服务添加一个开机启动脚本
linux·运维·服务器
aitav01 小时前
⚡ Linux 系统安装与配置 Vim 编辑器(包括 Vim 插件管理器)
linux·编辑器·vim
小阳睡不醒1 小时前
小白成长之路-计算机网络(二)
linux·计算机网络
病树前头2 小时前
服务器tty2终端如何关机
linux·运维·服务器
m0_519523102 小时前
Linux——数据链路层
linux·服务器·网络
hgdlip2 小时前
不同电脑同一个网络ip地址一样吗
服务器·网络·tcp/ip·电脑