自定义DNS功能适用于加速站点访问等场景,本文介绍如何在函数计算控制台为函数配置自定义DNS。
背景信息
resolv.conf文件为系统配置文件,您配置自定义DNS解析属性后,原有resolv.conf将被覆盖。关于resolv.conf文件的规范,您可以在Linux系统执行man 5 resolver
查看,如果提示没有man page,请先根据您使用的发行版本进行安装。更多信息,请参见Linux manual page。
使用限制
自定义DNS功能仅支持函数计算官方提供的Runtime和Custom Runtime。
前提条件
配置DNS
如需使用函数计算默认的DNS服务器,请在Name Servers中添加默认IP地址100.100.2.136和100.100.2.138。
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。
在函数配置页面,选择配置页签。
在左侧导航栏,选择DNS页签,单击编辑,在编辑DNS信息的面板中,按需配置以下参数,然后单击确定。
参数
说明
示例值
Name Servers
DNS服务器的IP地址。支持添加多个DNS服务器的IP地址。
223.5.5.5
223.6.6.6
搜索域
DNS搜索域。支持添加多个搜索域。当访问的域名不能被DNS解析时,搜索域将被追加到无法被解析的域名后重新解析。
example.com
DNS 选项
resolv.conf文件中的配置项。每一项对应一个键值对,格式为key:value,其中键为必填。
attempts:1
验证配置的DNS解析属性是否生效。
在函数详情页面,单击代码页签。
在代码编辑器中编写代码,单击部署代码,然后单击测试函数。
代码示例(Python 3)如下:
# -*- coding: utf-8 -*- import logging import subprocess def handler(event, context): logger = logging.getLogger() f = open('/etc/resolv.conf') logger.info("".join(f.readlines())) f.close() output = subprocess.check_output(["ping", "-c", "1", "www.aliyun.com"]) return output
在代码页签,查看执行结果。在返回结果区域,查看resolv.conf生成的对应的内容,在日志输出区域,查看返回的域名的IP地址。