如何在阿里云国际版Linux云服务器中自定义配置DNS

简介: 如何在阿里云国际版Linux云服务器中自定义配置DNS

本文可能由社区贡献或涉及第三方产品信息,建议您访问社区或第三方产品的官方网站获取帮助与支持。第三方产品不在阿里云售后支持范围。本文仅供参考,阿里云不做任何暗示或其他形式的承诺。下面来和87cloud一起了解如何在阿里云国际版Linux云服务器中自定义配置DNS:


概述

创建ECS时,DNS服务器采用默认配置,不需要额外配置。若您的DNS服务器无法满足业务需求,可参考本文在云服务器ECS或弹性裸金属服务器中自定义配置DNS。

详细信息

阿里云提醒您:


  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

Linux系统存在不同的发行版本,不同发行版本中自定义配置DNS的方法不同,请根据现场环境匹配下列发行版本的操作命令。DNS配置完成之后请参见文件锁定方式,避免因为重启系统配置还原。

  • Alibaba Cloud Linux 2
  • Ubuntu
  • CentOS
  • Debian
  • SUSE Linux
  • OPENSUSE

Alibaba Cloud Linux 2

在Alibaba Cloud Linux 2实例中自定义配置DNS的方法,请参见如何在Alibaba Cloud Linux 2实例中通过“/etc/resolv.conf”文件自定义配置DNS。


Ubuntu 18/20

目前常见的发行版大多使用的是NetworkManager服务进行网络管理,但是从Ubuntu 18系统开始网络服务类型为systemd-networkd,以下是在Ubuntu 18、Ubuntu 20系统中自定义配置DNS的操作步骤:

说明:以下操作涉及配置文件内容的修改,修改文件之前,请先进行备份。

  1. 执行以下命令,编辑/etc/cloud/cloud.cfg配置文件。

vim /etc/cloud/cloud.cfg

i键切换至编辑模式,在# Example datasource config内容上增加以下配置,关闭cloud-init中的自动配置网络的参数,避免网卡配置文件内容被覆盖。

network:

 config: disabled

系统显示类似如下。

2.修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

2.执行以下命令,编辑/etc/netplan/50-cloud-init.yaml配置文件。

vim /etc/netplan/50-cloud-init.yaml

按i键切换至编辑模式,在文件底部添加以下配置,自定义配置DNS信息。

nameservers:
    addresses:[$DNS1, $DNS2]

2.修改之后的内容如下所示。

network:
    version: 2
    ethernets:
        eth0:
            dhcp4: true
            match:
                macaddress: 00:16:3e:13:42:71
            set-name: eth0
            nameservers:
                addresses: [$DNS1, $DNS2]

说明:

  1. eth0:配置的网卡名称,本文以eth0网卡为例,现场以实际环境为准。
  2. dhcp4:ECS实例的网络配置默认为DHCP模式。
  3. match:配置的MAC地址,本文以00:16:3e:13:42:71为例,现场以实际环境为准。
  4. nameservers:自定义配置的DNS信息,请按照实际情况填写您自定义的DNS IP地址。

3.修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

3.执行以下命令,应用网卡配置。

netplan apply

4.执行以下命令,建立/run/systemd/resolve/resolv.conf文件的软连接,避免因为/etc/resolv.conf配置文件内容更新而导致配置还原。

sudo ln -snf /run/systemd/resolve/resolv.conf /etc/resolv.conf


CentOS 6/7/8

CentOS系统中,网络配置和DNS配置被两个不同的服务进行管理,分别维护比较麻烦。

  • 网络服务
  • CentOS 6和CentOS 7系统中的网络服务为Network。
  • CentOS 8中的网络服务为NetworkManager.service。
  • DNS服务

截止到CentOS 8系统,目前均使用systemd-resolved作为管理DNS的服务。

为了便于维护,您可以参考下列步骤,统一通过网络服务来管理网络和DNS配置,即DNS也配置在网卡配置文件中。


说明:以下操作涉及配置文件内容的修改,修改文件之前,请先进行备份。

请参见Ubuntu 18/20,关闭cloud-init中的自动配置网络的参数,避免网卡配置文件内容被覆盖。

执行以下命令,编辑/etc/sysconfig/network-scripts/ifcfg-eth0配置文件。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

i键切换至编辑模式,在文件底部添加以下配置,添加以下自定义DNS配置。

PEERDNS=no
DNS1=[$DNS1]
DNS2=[$DNS1]
修改之后的内容如下所示。
BOOTPROTO=dhcp
DEVICE=eth0
ONBOOT=yes
STARTMODE=auto
TYPE=Ethernet
USERCTL=no
PEERDNS=no
DNS1=[$DNS1]
DNS2=[$DNS1]

说明:

  • PEERDNS=no:表示不使用DHCP提供的DNS。
  • DNS1、DNS2:自定义配置的DNS信息,请按照实际情况填写您自定义的DNS IP地址

修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

由于CentOS 6、CentOS 7、CentOS 8系统中重启网络服务的操作命令不同,请根据现场情况,选择以下对应的步骤,重启网络服务。

  1. CentOS 6:service network restart。
  2. CentOS 7:systemctl restart network。
  3. CentOS 8:


1.重新加载所有网卡配置nmcli c reload。

2.激活网卡nmcli d connect eth0。

Debian 9/Debian 10/Ubuntu 16

Debian9、Debian 10和Ubuntu 16系统使用的网络服务相同为networking,以下是在Debian 9、Debian 10和Ubuntu 16系统中自定义配置DNS的操作步骤:

说明:以下操作涉及配置文件内容的修改,修改文件之前,请先进行备份。


执行以下命令,编辑/etc/network/interfaces网卡配置文件。

vim /etc/network/interfaces

按i键切换至编辑模式,在文件底部添加以下配置,自定义配置DNS信息。

dns-nameservers [$DNS1 $DNS2]

修改之后的内容如下所示。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
dns-nameservers [$DNS1 $DNS2]

说明:

  1. auto eth0:配置的网卡名称,本文以eth0网卡为例,现场以实际环境为准。
  2. iface eth0 inet dhcp:ECS实例的网络配置默认为DHCP模式。
  3. dns-nameservers:为自定义配置的DNS信息。
  1. 修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。
  1. 然后执行以下命令,重启网络服务。

systemctl restart networking.service

SUSE Linux 12/SUSE Linux 15/OPENSUSE 15

目前常见的发行版大多使用的是NetworkManager服务进行网络管理,但是从SUSE Linux 12开始,SUSE Linux使用了Wicked网络管理工具进行网络管理。以下是在SUSE Linux 12、SUSE Linux 15、OPENSUSE 15系统中自定义配置DNS的操作步骤:执行以下命令,编辑/etc/resolv.conf配置文件。

vim /etc/resolv.conf
  1. i键切换至编辑模式,将nameserver参数的值修改为您自定义的DNS IP地址。
nameserver [$DNS1]
nameserver [$DNS2]
说明:两个 nameserver参数的值都要修改为您自定义的DNS IP地址。

2.修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

执行以下命令,编辑/etc/sysconfig/network/config配置文件。

vim /etc/sysconfig/network/config

1.按i键切换至编辑模式,将NETCONFIG_MODULES_ORDER参数的值删除,保留双引号符号(""),如下所示。

NETCONFIG_MODULES_ORDER=""

2.修改完成后,按下Esc键后,输入:wq并回车以保存并关闭配置文件。

3.执行以下命令,重启网络服务。

service network restart

文件锁定方式

配置完成DNS后,可通过重启服务器的方式检测是否配置成功。由于部分镜像上安装了高版本的cloud-init,重启服务器cloud-init会自动重置网络配置,您可以参考以下方式锁定配置文件,避免因为重启系统而导致配置文件内容重置:

说明:如果想了解关于cloud-init的更多信息,请参见cloud-init的官方文档

  • 锁定配置文件:
    /etc/resolv.conf文件为例,执行以下命令,将该文件锁定。

chattr +i /etc/resolv.conf

解锁配置文件:

  • 如果您需要再次对锁定文件进行修改,则执行以下命令,解锁文件。

chattr -i /etc/resolv.conf

  • 执行以下命令,确认域名可以正常解析。

nslookup [$Domain]

说明:[$Domain]为您需要测试的域名。

适用于

  • 云服务器ECS
相关文章
|
25天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
17天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
4天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
1天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
263 12
|
19天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
21天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2582 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
3天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
171 2
|
1天前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
101 65
|
21天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1578 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
5天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
263 2