解决QEMU虚拟机中的网络问题:从DHCP到Systemd-Networkd的迁移

最近在使用基于QEMU的虚拟机进行开发时,我遇到了一个令人困扰的网络问题。虚拟机可以ping通外部IP(例如1.1.1.1),但是当我尝试使用APT获取更新时却失败了,提示是DNS解析问题。经过一番搜索和尝试,我找到了一个有效的解决方案,现在我想分享给遇到类似问题的朋友们。

问题的根源在于最新的Debian Bookworm版本默认使用的systemd-resolved作为解析器,而这与之前的dhclient存在不兼容问题。解决方案涉及到放弃dhclient,改用systemd-networkd和systemd-resolved来管理网络。

解决步骤

  1. 创建网络配置文件

    首先,我们需要创建一个新的网络配置文件,指导systemd-networkd如何管理网络接口。打开终端,执行以下命令创建并编辑/etc/systemd/network/10-en.network文件:

    sudo nano /etc/systemd/network/10-en.network
    

    在文件中填入以下内容:

    [Match]
    Name=en*
    
    [Network]
    DHCP=ipv4
    

    这告诉systemd-networkd对所有以en开头的网络接口使用IPv4 DHCP。

  2. 备份并移除旧的网络配置

    为了避免配置冲突,我们需要备份并移除现有的/etc/network/interfaces文件。执行以下命令:

    sudo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值