如何在阿里云国际版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
相关文章
|
8月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
12月前
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
1174 76
|
9月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
10月前
|
网络协议
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
626 24
|
12月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
4876 0
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
274 0
|
网络协议 Linux
Linux学习笔记 26(DNS服务器配置)
1、 安装DNS 2、 查看DNS服务器软件包的安装情况 3、 修改主配置文件 4、 复制模板文件 5、 配置正向解析区域数据文件 6、 配置反向解析区域数据文件 7、 启动DNS服务器 8、 同步与配置文件 9、 验证DNS服务器 1、 安装DNS 2、 查看DNS服务器软件包的安装情况 3、 修改主配置文件 4、 复制模板文件 5、 配置正向解析区域数据文件 6、 配置反向解析区域数据文件 7、 启动DNS服务器 8、 同步与配置文件 9、 验证DNS服务器 7、 启动DNS服务器 8、 同步
Linux学习笔记 26(DNS服务器配置)

热门文章

最新文章