当前位置: 首页 > news >正文

VirtualBox + CentOS:启用 DHCP 获取 IPv4 地址


标题:
VirtualBox + CentOS:启用 DHCP 获取 IPv4 地址

日期:
2025-07-18


一、问题现象

最小化安装的 CentOS 7 虚拟机里敲:

ip addr

输出只有 lo127.0.0.1 以及 enp0s3 的 IPv6 链路本地地址,没有 IPv4,于是就有了本文。


二、先别急着 dhclient,三步排除“配置错误”

经验:90 % 的“没 IP”都不是 DHCP 服务器的问题,而是下面三件事之一。

✅ Step 1:虚拟机网卡真的“插上线”了吗?

VirtualBox / VMware / Hyper-V 通用 checklist:

  • 右侧小电视图标 → “连接”必须打勾
  • 网络模式:
    • 想直接上网 → 选 NAT
    • 想跟宿主机同网段 → 选 桥接
  • 改完必须 重启虚拟机 才能生效

✅ Step 2:CentOS 配置里把 DHCP 关掉了?

打开网卡配置文件:

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

确保下面两行存在且没有被注释:

BOOTPROTO=dhcp
ONBOOT=yes

如果刚刚改过,保存后:

sudo systemctl restart network

✅ Step 3:接口本身是不是 DOWN?

ip link

如果看到 state DOWN,手动拉起:

sudo ip link set enp0s3 up

此时再 ip addr,大概率已经有 inet …/24 了;如果仍旧没有,再继续往下看。


三、确认 DHCP 服务器是否真的给了地址

到这里,99 % 的“低级错误”已经排除,我们才需要“抓包”一样地去跟 DHCP 握手。

手动触发一次 DHCP 过程

sudo dhclient -v enp0s3

观察输出:

  • 看到 DHCPACK from 192.168.x.1 就 OK
  • 若长时间卡在 DHCPDISCOVER 无回应,说明:
可能原因排查方法
虚拟机网络模式选成“仅主机”回到 Step 1 改桥接/NAT
宿主机防火墙/公司网络屏蔽 DHCP换网络或手动设静态 IP
DHCP 地址池耗尽让网管查服务器

四、一条命令自检脚本

把下面脚本保存成 netcheck.sh,一键输出所有关键信息:

#!/usr/bin/env bash
set -e
echo "=== Link status ==="
ip -br link
echo -e "\n=== Address status ==="
ip -br addr
echo -e "\n=== Route status ==="
ip route || true
echo -e "\n=== DHCP retry ==="
sudo dhclient -v $(ip -o link | awk -F': ' '$2!="lo"{print $2}' | head -n1)

五、总结金句

“ip addr 没 IP地址”问题 ,
先看 虚拟机网卡插没插线,再看 配置文件写没写对
最后才让 DHCP 跑起来


六、参考资料

  • Red Hat 官方文档:Configuring IP Networking
  • man page:man ip, man dhclient

如果这篇文章帮到了你,欢迎点赞、转发、留言讨论!

http://www.dtcms.com/a/285715.html

相关文章:

  • 数据结构:顺序表和链表
  • 【PTA数据结构 | C语言版】斜堆的合并操作
  • Expression.Block详解
  • 微信小程序商品结算功能
  • gitlab-ce本地化部署
  • 一文讲清楚React的render优化,包括shouldComponentUpdate、PureComponent和memo
  • 在 React 中根据数值动态设置 SVG 线条粗细
  • Linux | Bash 子字符串提取
  • Java 8 Stream 流操作大全:从入门到实战全覆盖(附案例)
  • 【软件系统架构】系列七:系统性能——计算机性能深入解析
  • 【机器人】HOV-SG 开放词汇 | 分层3D场景图 | 语言引导机器人导航
  • DNN平台因恶意交互导致NTLM哈希泄露漏洞(CVE-2025-52488)
  • ​​Docker 速通教程
  • 用Python实现神经网络(四)
  • 【大模型:知识图谱】--6.Neo4j DeskTop安装+使用
  • 数字化转型:概念性名词浅谈(第三十讲)
  • JAVA面试宝典 -《Elasticsearch 深度调优实战》
  • OpenAI发布通用智能体ChatGPT Agent:实现自主思考、联网与工具调用,智能体赛道大变天!
  • Java 大视界 -- Java 大数据在智能医疗电子健康档案数据挖掘与健康服务创新中的应用(350)
  • QCustomPlot 使用教程
  • 【Linux】基本指令(入门篇)(上)
  • SOES:软实现EtherCAT从站协议栈项目介绍及从站开发案例
  • 【Python】SQLAlchemy实现upsert
  • 【Linux网络编程】应用层协议 - HTTP
  • uniapp 动态控制横屏(APP 端)
  • Bitbucket平台的HTTP Access Tokens操作手册
  • 开发避坑短篇(2):uni-app微信小程序开发‘createIndependentPlugin‘模块缺失问题分析与解决方案
  • 创蓝闪验SDK适配uniappx版本UTS插件集成文档
  • Redis缓存双写的学习(五)
  • Python暑期学习笔记5