云服务器 ECS Ubuntu 系统修改 DNS 配置文件 i 属性报错:Operation not supported while reading flags

云服务器 ECS Ubuntu 系统修改 DNS 配置文件 i 属性报错:Operation not supported while reading flags

展开
收起
行者武松 2018-01-10 14:23:34 5470 分享
分享
版权
举报
阿里云 AI 助理回答

在阿里云的ECS实例中,如果您使用的是Ubuntu系统,并且在尝试修改DNS配置文件(通常是/etc/resolv.conf)时遇到“Operation not supported while reading flags”的错误,这通常是因为从Ubuntu 16.04版本开始,系统开始使用systemd-resolved服务来管理DNS解析,而直接编辑/etc/resolv.conf文件不再被推荐。

/etc/resolv.conf文件可能是一个符号链接,指向/run/resolvconf/resolv.conf或由systemd-resolved动态生成,因此直接修改可能会遇到权限或系统策略限制。

要修改DNS设置,您应该按照以下步骤操作:

  1. 使用resolvectl命令:对于使用systemd-resolved的服务,您可以使用resolvectl命令来配置DNS服务器。例如,要添加一个DNS服务器,您可以执行:

    sudo resolvectl dns eth0 your_dns_server_ip
    

    这里eth0是网络接口名称,your_dns_server_ip是要设置的DNS服务器IP地址。如果不确定网络接口名称,可以使用ip addrifconfig命令查看。

  2. 编辑/etc/systemd/resolved.conf:您也可以通过编辑/etc/systemd/resolved.conf文件来永久更改DNS设置。首先,备份原文件,然后编辑它:

    sudo cp /etc/systemd/resolved.conf /etc/systemd/resolved.conf.backup
    sudo nano /etc/systemd/resolved.conf
    

    在此文件中,取消注释或添加以下行以配置DNS服务器:

    [Resolve]
    DNS=your_dns_server_ip
    

    修改后,重启systemd-resolved服务使更改生效:

    sudo systemctl restart systemd-resolved
    
  3. 检查并验证:修改完成后,可以通过resolvectl status命令检查DNS配置是否已正确应用。

请记得,直接编辑/etc/resolv.conf虽然可能看起来立竿见影,但因为系统会自动覆盖这个文件,所以这不是一个持久的解决方案。遵循上述步骤可以确保您的DNS设置在系统重启后仍然有效。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

阿里云云解析DNS产品相关资讯

还有其他疑问?
咨询AI助理
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等