alidns_record
梅林路由器-阿里云ddns-ipv6脚本(含socat转发)
梅林路由器-阿⾥云ddns-ipv6脚本(含socat转发)#!/bin/sh# Author: tyaskyak="eeeeeqqerewrwerewe"sk="wwwwwwqqewrewrer2432r3qr43qq"host="cx"domain=""runnum=10 # 最多尝试更新次数rungap=60 # 尝试间隔秒数type=AAAA # 解析记录类型downvalue="" # 解析值,留空则动态获取# 根据type选择获取ip的函数if [ "$type" = "AAAA" ];thenget_downvalue() {ip -6 addr|grep '64 scope global'|head -1|awk -F/ '{print $1}'|awk '{print $NF}'#ifconfig -a|grep inet6|grep 64|grep -v fe | awk '{print $3}' |cut -d "/" -f1}elseget_downvalue() {ip -4 addr|grep global\ ppp|head -1|awk -F/ '{print $1}'|awk '{print $2}'}fi# 第⼆个参数指定额外不编码的字符urlencode() {local string="${1}"local strlen=${#string}local encoded=""local pos c ofor pos in $(awk "BEGIN { for ( i=0; i<$strlen; i++ ) { print i; } }")doc=${string:$pos:1}case $c in[-_.~a-zA-Z0-9$2] ) o="${c}" ;;* ) o=`printf '%%%02X' "'$c"`esacencoded="$encoded$o"doneecho "${encoded}"}send_request() {timestamp=`date -u +"%Y-%m-%dT%H:%M:%SZ"`nonce=`openssl rand -base64 8 | md5sum | cut -c1-8`args="AccessKeyId=$ak&Format=json&SignatureMethod=HMAC-SHA1&SignatureNonce=$nonce&SignatureVersion=1.0&Timestamp=$timestamp&Version=2015-01-09&$1" args=`echo $args | sed 's/\&/\n/g' | LC_ALL=c sort | xargs | sed 's/ /\&/g'`CanonicalizedQueryString=$(urlencode $args "=&")StringToSign="GET&%2F&$(urlencode $CanonicalizedQueryString)"Signature=$(urlencode $(echo -n "$StringToSign" | openssl dgst -sha1 -hmac "$sk&" -binary | openssl base64))echo $(curl -k -s "https:///?$args&Signature=$Signature")echo $args}getValueFromJson() {local json="$1"local key="$2"echo $json | sed 's/":/:/g;s/"//g;s/,/\n/g' | grep $key | awk -F: '{ print $2 }'}DescribeSubDomainRecords() {send_request "Action=DescribeSubDomainRecords&SubDomain=$host.$domain"}UpdateDomainRecord() {local recordid=$(getValueFromJson `DescribeSubDomainRecords` "RecordId")send_request "Action=UpdateDomainRecord&RR=$host&RecordId=$recordid&Type=$type&Value=$downvalue"}AddDomainRecord() {send_request "Action=AddDomainRecord&DomainName=$domain&RR=$host&Type=$type&Value=$downvalue"}DeleteSubDomainRecords() {send_request "Action=DeleteSubDomainRecords&DomainName=$domain&RR=$host"}start_update(){while [ $runnum -gt 0 ]dorunnum=$(expr $runnum - 1)datetime=$(date +%Y-%m-%d\ %T)echo 当前时间:$datetimerslt=`DescribeSubDomainRecords | grep TotalCount`if [ -z "$rslt" ];thenecho "未获取到阿⾥云查询结果"sleep $rungapcontinuefiupvalue=$(getValueFromJson "$rslt" "Value")echo 域名指向:$upvaluedownvalue=${downvalue:=`get_downvalue`}if [ -z "$downvalue" ]; thenecho "未获取到本机地址"sleep $rungapcontinuefiecho 本机地址:$downvalueif [ "$upvalue" = "$downvalue" ]; thenecho "处理结果:已正确解析,⽆需更新。
域名系统中的A记录如何设置与管理(六)
域名系统中的A记录如何设置与管理域名系统(Domain Name System,简称DNS)是互联网中进行域名解析的重要组成部分。
通过DNS,我们可以将主机名转化为相应的IP地址,从而实现了互联网的可访问性。
在域名系统中,A记录是非常关键的一部分,决定了域名如何被解析与管理。
1. 什么是A记录?A记录是一种DNS记录类型,用于将域名解析为相应的IP地址。
通过配置A记录,我们可以将域名映射到特定的服务器或主机上,使其在互联网上可被访问。
每个A记录都对应着一个具体的IP地址。
2. 如何设置A记录?设置A记录需要通过域名注册商或DNS管理平台进行操作。
以下是一般的设置步骤:a. 登录域名注册商或DNS管理平台的控制面板。
b. 找到域名解析部分或DNS设置选项。
c. 在A记录管理页中,点击添加新纪录或创建新A记录。
d. 输入要设置的域名、TTL(生存时间)和IP地址。
e. 点击保存或提交,完成A记录的设置。
3. 如何管理A记录?管理A记录是确保域名正确解析的重要任务。
以下是一些建议:a. 定期检查A记录是否正确配置。
如果IP地址发生变化或需要将域名指向不同的服务器,及时更新A记录。
b. 避免使用过长的TTL。
较短的TTL带来了更快的记录更新速度,但也增加了服务器负担。
根据需求,选择适当的TTL值。
c. 使用多个A记录以实现负载均衡。
通过为同一个域名设置多个A记录,可以将访问请求分散到不同的服务器上,提高可用性和性能。
d. 配置合适的反向DNS。
反向DNS记录将IP地址解析为域名,在电子邮件服务器和网络安全中尤为重要。
联系网络服务提供商或系统管理员了解如何设置反向DNS。
4. 常见问题与解决方案在设置与管理A记录时,可能会遇到一些常见的问题。
以下是一些常见问题及解决方案:a. 解析延迟:如果域名解析时间过长,首先检查域名注册商或DNS管理平台的设置是否正确。
此外,可以减少TTL值来缩短解析时间。
b. 解析错误:如果域名无法解析到正确的IP地址,请检查A记录的配置是否有误。
通过阿里云实现动态域名解析DDNS
通过阿⾥云实现动态域名解析DDNS前⾔该脚本的代码⼤部分是参考⾃阿⾥云的官⽅帮助⽂档。
1, 脚本语⾔使⽤的是python, 我个⼈只是了解python,没有太深⼊的知识功底2, 脚本代码我会尽量详细地添加注释说明,有问题欢迎留⾔交流,但回复可能不会那么及时。
前置条件1、域名是在阿⾥云购买的(我的域名本⾝就是阿⾥云买的,其他的域名我没有测试过)2、地址必须是公⽹地址,不然加了解析也没有⽤(这个不⽤多加解释了)安装阿⾥云SDK需要安装三个SDK库,⼀个是阿⾥云核⼼SDK库,⼀个是阿⾥云域名SDK库,⼀个是DNS库阿⾥云核⼼SDK库:pip install aliyun-python-sdk-core阿⾥云域名SDK库:pip install aliyun-python-sdk-domain阿⾥云DNSSDK库:pip install aliyun-python-sdk-alidns说明:1, ⽬前官⽅⽂档上说的是需要安装前两个SDK库,但我实测确定还需要第三个库!2, 如果你使⽤的是ubuntu系统,并且同时有python2/python3和pip2/pip3,安装时前⾯的命令请写清楚版本,特别是pip。
我的系统pip默认是2.x,使⽤pip install xxx 命令安装的库⽆效,使⽤ pip3 install xxx 才成功(如果知道如何随意切换python和pip版本,请留⾔告知,感谢)。
脚本的具体功能1, 获取外⽹ip地址2,获取域名解析记录3,新增域名解析记录3,更新域名解析记录4,删除域名解析记录(并不建议将该功能添加在实际脚本中)5,批量操作,如果记录不存在则添加记录,存在则更新记录脚本代码#!/usr/bin/env python#coding=utf-8# 加载核⼼SDKfrom aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerException# 加载获取、新增、更新、删除接⼝from aliyunsdkalidns.request.v20150109 import DescribeSubDomainRecordsRequest, AddDomainRecordRequest, UpdateDomainRecordRequest, DeleteDomainRecordRequest# 加载内置模块import json,urllib# AccessKey 和 Secret 建议使⽤ RAM ⼦账户的 KEY 和 SECRET 增加安全性ID = 'xxxxxxx'SECRET = 'xxxxxx'# 地区节点可选地区取决于你的阿⾥云帐号等级,普通⽤户只有四个,分别是杭州、上海、深圳、河北,具体参考官⽹APIregionId = 'cn-hangzhou'# 配置认证信息client = AcsClient(ID, SECRET, regionId)# 设置主域名DomainName = ''# ⼦域名列表列表参数可根据实际需求增加或减少值SubDomainList = ['a', 'b', 'c']# 获取外⽹IP 三个地址返回的ip地址格式各不相同,3322 的是最纯净的格式,备选1为 json格式备选2 为curl⽅式获取两个备选地址都需要对获取值作进⼀步处理才能使⽤def getIp():# 备选地址: 1, /cityjson?ie=utf-8 2,curl -L tool.lu/ipwith urllib.request.urlopen('/dyndns/getip') as response:html = response.read()ip = str(html, encoding='utf-8').replace("\n", "")return ip# 查询记录def getDomainInfo(SubDomain):request = DescribeSubDomainRecordsRequest.DescribeSubDomainRecordsRequest()request.set_accept_format('json')# 设置要查询的记录类型为 A记录官⽹⽀持A / CNAME / MX / AAAA / TXT / NS / SRV / CAA / URL隐性(显性)转发如果有需要可将该值配置为参数传⼊request.set_Type("A")# 指定查记的域名格式为 ''request.set_SubDomain(SubDomain)response = client.do_action_with_exception(request)response = str(response, encoding='utf-8')# 将获取到的记录转换成json对象并返回return json.loads(response)# 新增记录 (默认都设置为A记录,通过配置set_Type可设置为其他记录)def addDomainRecord(client,value,rr,domainname):request = AddDomainRecordRequest.AddDomainRecordRequest()request.set_accept_format('json')# request.set_Priority('1') # MX 记录时的必选参数request.set_TTL('600') # 可选值的范围取决于你的阿⾥云账户等级,免费版为 600 - 86400 单位为秒request.set_Value(value) # 新增的 ip 地址request.set_Type('A') # 记录类型request.set_RR(rr) # ⼦域名名称request.set_DomainName(domainname) #主域名# 获取记录信息,返回信息中包含 TotalCount 字段,表⽰获取到的记录条数 0 表⽰没有记录,其他数字为多少表⽰有多少条相同记录,正常有记录的值应该为1,如果值⼤于1则应该检查是不是重复添加了相同的记录 response = client.do_action_with_exception(request)response = str(response, encoding='utf-8')relsult = json.loads(response)return relsult# 更新记录def updateDomainRecord(client,value,rr,record_id):request = UpdateDomainRecordRequest.UpdateDomainRecordRequest()request.set_accept_format('json')# request.set_Priority('1')request.set_TTL('600')request.set_Value(value) # 新的ip地址request.set_Type('A')request.set_RR(rr)request.set_RecordId(record_id) # 更新记录需要指定 record_id ,该字段为记录的唯⼀标识,可以在获取⽅法的返回信息中得到该字段的值response = client.do_action_with_exception(request)response = str(response, encoding='utf-8')return response# 删除记录def delDomainRecord(client,subdomain):info = getDomainInfo(subdomain)if info['TotalCount'] == 0:print('没有相关的记录信息,删除失败!')elif info["TotalCount"] == 1:print('准备删除记录')request = DeleteDomainRecordRequest.DeleteDomainRecordRequest()request.set_accept_format('json')record_id = info["DomainRecords"]["Record"][0]["RecordId"]request.set_RecordId(record_id) # 删除记录需要指定 record_id ,该字段为记录的唯⼀标识,可以在获取⽅法的返回信息中得到该字段的值result = client.do_action_with_exception(request)print('删除成功,返回信息:')print(result)else:# 正常不应该有多条相同的记录,如果存在这种情况,应该⼿动去⽹站检查核实是否有操作失误print("存在多个相同⼦域名解析记录值,请核查后再操作!")# 有记录则更新,没有记录则新增def setDomainRecord(client,value,rr,domainname):info = getDomainInfo(rr + '.' + domainname)if info['TotalCount'] == 0:print('准备添加新记录')add_result = addDomainRecord(client,value,rr,domainname)print(add_result)elif info["TotalCount"] == 1:print('准备更新已有记录')record_id = info["DomainRecords"]["Record"][0]["RecordId"]cur_ip = getIp()old_ip = info["DomainRecords"]["Record"][0]["Value"]if cur_ip == old_ip:print ("新ip与原ip相同,⽆法更新!")else:update_result = updateDomainRecord(client,value,rr,record_id)print('更新成功,返回信息:')print(update_result)else:# 正常不应该有多条相同的记录,如果存在这种情况,应该⼿动去⽹站检查核实是否有操作失误print("存在多个相同⼦域名解析记录值,请核查删除后再操作!")IP = getIp()# 循环⼦域名列表进⾏批量操作for x in SubDomainList:setDomainRecord(client,IP,x,DomainName)# 删除记录测试# delDomainRecord(client,'')# 新增或更新记录测试# setDomainRecord(client,'192.168.3.222','a',DomainName)# 获取记录测试# print (getDomainInfo(DomainName, 'y'))# 批量获取记录测试# for x in SubDomainList:# print (getDomainInfo(DomainName, x))# 获取外⽹ip地址测试# print ('(' + getIp() + ')')可以将以上脚本保存为⽂件之后,通过定时任务,来实现定期⾃动更新ip地址,具体如何添加定时任务,系统不同,可能⽅法也不尽相同,这⾥就不多说明了。
利用阿里云的API实现动态域名解析
利用阿里云的API实现动态域名解析首先在实现动态域名解析之前要具备两个条件:第一、你必须有公网 IP,就是你的路由器拨号获取到的 IP 必须是公网 IP (可以参考 ip138 获取到的 IP)。
长城宽带没有公公网 IP 所以就不用往下看了,用内网穿透的工具吧,那天在家搭服务器时发现联通给的也是内网IP,果断投诉他们,让他们换成公网的 IP。
第二、你必须有阿里云的域名,API 是阿里云提供的,阿里云提供域名解析,所以没有域名就没法解析了。
进入正题,先说一下原理:一个 windows 服务,定时获取公网 IP ,然后调用 API 接口设置解析。
首先从阿里云上把 SDK 下载下来,源码需要自己编译,这里我们只用到了 core 和 alidns 两个项目,一个是核心组件,一个是 dns 接口组件。
其实我只用到了 3 个接口:•DescribeDomainRecords 获取域名的解析列表•AddDomainRecord 添加一条新的解析记录•UpdateDomainRecord 修改一条解析记录获取域名的解析列表CGlobalConfig.AccessKey 是获取配置文件里配置的阿里云的AccessKey,这个需要去阿里云申请(不花钱)。
CGlobalConfig.AccessKeySecret 是获取配置文件里配置的阿里云的 AccessKeySecret,这个跟 AccessKey 是一对。
domain 变量是域名1.IClientProfile clientProfile = DefaultProfile.GetProfile("cn-hangzhou", CGlobalConfig.AccessKey, CGlobalConfig.AccessKeySecret);2.DefaultAcsClient client = new DefaultAcsClient(clientProfile);3.DescribeDomainRecordsRequest request = new DescribeDomainRecordsRequest();4.request.DomainName = domain;5.DescribeDomainRecordsResponse response = client.GetAcsResponse(request);6.List<DescribeDomainRecordsResponse.Record> list = response.DomainRecords;获取到的 list 就是这个域名的解析记录。
域名系统中的A记录如何设置与管理(八)
域名系统中的A记录如何设置与管理一、什么是域名系统(DNS)域名系统(Domain Name System,简称DNS)是一个用于将域名和IP地址相互映射的分布式数据库。
它是互联网上的一本电话簿,通过域名可以找到对应的IP地址。
在互联网中,人们更容易记住和输入域名,而不是一串复杂的数字IP地址。
二、A记录的作用和概念在域名系统中,A记录是一种最基本的记录类型之一,用于将域名指向一个IPv4地址。
A记录的作用是将域名和IP地址相互联系,并使网站能够通过域名访问。
当用户在浏览器中输入一个域名时,DNS系统会查找该域名的A记录,返回对应的IP地址,然后浏览器根据IP 地址向服务器发送请求。
三、如何设置A记录1. 登录域名注册商的管理界面要设置A记录,首先需要登录域名注册商提供的管理界面。
常见的域名注册商有Godaddy、万网等,不同注册商的管理界面可能略有差异。
2. 找到DNS设置在管理界面中找到“DNS设置”或类似的选项,进入DNS设置页面。
3. 添加A记录在DNS设置页面中,添加一个新的A记录。
通常,需要填写以下信息:主机记录(Host),记录值(Points to)和TTL(生存时间)。
- 主机记录是你要设置A记录的域名前缀,例如,如果你要将- 记录值是该域名对应的IPv4地址,可以是一个具体的地址,例如“”,或者是一个指向另一个域名的CNAME记录。
- TTL是A记录的生存时间,表示DNS服务器将记录保存在缓存中的时间,一般设置为较短的时间,例如5分钟或1小时。
4. 保存设置完成A记录的设置后,记得保存设置并等待生效。
通常,DNS的设置变更需要一定时间才能在全球范围内生效,这个时间被称为DNS传播时间。
四、A记录的管理1. 根据需要修改A记录在客户端或服务器IP地址发生变化时,需要相应地修改A记录。
例如,服务器搬迁或更换虚拟主机提供商时,都需要更新A记录以确保域名的正常解析。
2. 连接其他DNS记录类型A记录只能指向IPv4地址,如果要将域名与IPv6地址关联,可以使用AAAA记录。
域名系统中的A记录如何设置与管理(四)
域名系统中的A记录如何设置与管理在互联网世界中,域名扮演了至关重要的角色,成为了我们访问网站和使用各种在线服务的“门牌号”。
而域名系统(Domain Name System,DNS)则是负责将域名翻译为IP地址的机制。
其中,A记录是域名系统中最基础、最常见的一种记录类型,它负责将域名解析为具体的IP地址。
本文将讨论A记录的设置与管理,帮助您更好地理解和应用这个重要的域名系统组成部分。
一、A记录的概述A记录全称为“Address Record”,其作用是将域名(例如)与相应的IPv4地址(例如)进行映射。
当用户输入域名进行访问时,操作系统会首先向DNS服务器查询A记录,获得目标网站的IP地址,然后才能建立与该IP地址的连接。
二、A记录的设置1. 选择DNS服务提供商在设置A记录之前,您需要选择一个可靠且可信赖的DNS服务提供商。
常见的DNS服务提供商包括亚马逊Route 53、Cloudflare、GoDaddy等。
根据自身需求和预算选择适合您的DNS服务提供商。
2. 登录DNS管理界面在选择好DNS服务提供商后,您需要登录其提供的DNS管理界面。
一般而言,您需要提供注册时所用的用户名和密码进行登录。
3. 定位到域名管理页面登录成功后,找到您所管理的域名列表,并点击相应的域名,进入域名管理页面。
4. 添加A记录在域名管理页面中,一般会有“DNS设置”、“DNS记录”或类似的选项。
点击进入DNS记录设置页面。
5. 创建A记录在DNS记录设置页面,您可以看到已经存在的记录类型,如A记录、CNAME记录等。
点击“添加记录”或类似的按钮,选择A记录。
6. 填写A记录信息添加A记录后,您需要填写相关信息,包括主机名(一般为 To Live)”的缩写,指定DNS记录在DNS服务器上的缓存时间)和IP地址。
7. 保存设置完成填写后,点击“保存”或“确认”按钮,将新的A记录保存到DNS服务器上。
三、A记录的管理1. 更新A记录当您的服务器IP地址发生变化时,您需要及时更新A记录,确保域名可以正确地解析到最新的IP地址。
域名系统中的CNAME记录如何配置与使用(三)
域名系统中的CNAME记录如何配置与使用随着互联网的快速发展,域名系统(Domain Name System,DNS)成为了实现网页访问以及网络通信的重要基础设施。
CNAME记录(Canonical Name Record)是DNS中的一种记录类型,它允许将一个域名指向另一个域名。
本文将介绍CNAME记录的配置与使用。
一、CNAME记录的作用CNAME记录的作用是允许将一个域名指向另一个域名,从而简化网站管理和域名迁移的过程。
通过配置CNAME记录,我们可以将一个域名(通常是子域名)指向一个主域名,实现相应域名下的网站或应用的访问。
CNAME记录可以在DNS服务器上进行配置,它是实现域名解析的关键之一。
二、配置CNAME记录的步骤1. 登录域名注册商或DNS服务提供商的控制面板;2. 找到域名解析的页面,通常会有一个叫做“解析设置”、“DNS管理”或“域名解析”的选项;3. 在解析设置页面中,找到CNAME记录的添加功能,一般是一个“添加记录”、“新建解析”或“添加新条目”的按钮;4. 在添加CNAME记录的对话框中,填写相应的信息,包括主机记录、记录类型和指向地址;5. 主机记录指的是要设置CNAME记录的子域名或主机名,例如,如果想设置“6. 记录类型选择CNAME;7. 指向地址是要将主机记录指向的目标域名或IP地址,通常是主域名,例如,“”;8. 点击“保存”或“确认”按钮,完成CNAME记录的配置。
三、CNAME记录的使用案例1. 网站重定向:当我们需要将一个域名指向另一个域名时,可以使用CNAME记录实现网站重定向。
例如,我们可以将子域名“2. CDN加速:CDN(Content Delivery Network)可以提高网站的访问速度和性能。
通过配置CNAME记录,将原有域名指向CDN提供的域名,就可以实现CDN加速;3. 邮件服务:某些企业或组织可能使用不同的域名提供邮件服务。
通过设置CNAME记录,将邮箱域名指向邮件服务商提供的域名,可以方便地实现邮件的接收与发送。
get-dnsserverresourcerecord 参数 -回复
get-dnsserverresourcerecord 参数-回复getdnsserverresourcerecord 参数详解在计算机网络中,域名系统(DNS)是一个重要的组成部分。
它作为一个分布式的命名系统,将域名映射到相应的IP地址,使得网络通讯能够正常地进行。
在DNS中,DNS服务器资源记录(DNS Server Resource Record)是其中的一个关键概念。
在本文中,我们将详细讨论getdnsserverresourcerecord参数,向读者介绍它的定义、作用、使用方法和示例。
首先,我们来了解一下getdnsserverresourcerecord参数的定义。
这是一个在计算机网络中用来获取DNS服务器资源记录的命令或函数。
它通常用于通过DNS服务器查询特定域名的资源记录,并返回相关的信息。
接下来,我们来探讨一下getdnsserverresourcerecord参数的作用。
它的主要作用是帮助用户获取特定域名的DNS服务器资源记录。
当用户需要查询某个域名的IP地址、别名、邮箱等信息时,可以使用该参数来实现。
那么,如何使用getdnsserverresourcerecord参数呢?在使用该参数前,我们需要明确一些前提条件。
首先,我们需要明确要查询的域名。
其次,我们需要知道要使用的DNS服务器的IP地址。
一旦满足了这些前提条件,我们可以按照以下步骤来使用该参数:1. 创建一个能够与DNS服务器通信的连接。
可以使用网络编程语言中的相关库或者专用的网络工具来实现。
这个连接将用于向DNS服务器发送查询请求,并接收返回的响应信息。
2. 构建一个查询请求报文。
在报文中,需要包含要查询的域名和DNS服务器的IP地址。
3. 发送查询请求报文到DNS服务器。
这可以通过网络连接来实现。
一旦请求发送成功,我们就可以等待DNS服务器的响应。
4. 接收DNS服务器的响应报文。
一旦服务器返回了响应报文,我们可以按照协议规定的格式来解析报文内容。
alidns_record
记录类型支持A、MX、CNAME、NS、TXT、AAAA、SRV 、显性URL、隐形URL9种记录类型,文字必须保持一致。
主机记录主机记录(RR)值合法字符包含a-z、A-Z、0-9、'-' 、'_' 、'.'、'*'、'@'、'中文汉字'。
解析线路支持默认、移动、联通、电信、教育、海外,谷歌、百度、必应,且不同版本对应更多的线路细分,共计支持200+以上的解析线路,文字必须保持一致;对于显性URL和隐形URL,线路必须为默认。
CNAME pili-publish默认CNAME pili-live-rtmp默认CNAME pili-live-hls默认CNAME pili-media默认CNAME pili-live-hdl默认CNAME pili-live-snapshot默认A*默认A@默认MX@默认MX@默认记录值A记录的记录值为IPv4形式;NS、MX、CNAME记录的记录值为域名形式;TXT记录的记录值为字符串形式(如字母、数字等);AAAA记录的记录值为IPv6形式;SRV记录的记录值服务的名字.协议的类型(例如:_example-server._tcp);显性URL和隐形URL为网址格式(如:http(s)://);MX优先级对于MX记录类型,必须为1-10的数字,否则为空TTL秒数--600 --600 --600 --600 --600 --600 115.28.173.7--600 115.28.173.7--600 .5600 .10600。
域名系统中的NS记录如何配置与管理(一)
域名系统中的NS记录如何配置与管理概述:域名系统(Domain Name System,缩写为DNS)是互联网上对IP 地址和域名进行转换的一套分布式命名系统。
在域名系统中,NS记录(Name Server Record)是用于指定域名的DNS服务器的记录。
正确的配置和管理NS记录对于确保域名的顺利解析和网站的正常访问至关重要。
本文将分为三个部分论述NS记录的配置和管理。
I. NS记录的基本概念NS记录是域名系统中非常重要的一种记录,它告诉世界上的DNS 服务器应该把域名解析的请求转发到哪个DNS服务器上。
每个域名至少需要两个NS记录,通常是一个主NS记录和一个备用NS记录。
当用户输入一个域名时,用户的计算机会首先向本地DNS服务器发出解析请求,如果本地DNS服务器没有缓存该域名的解析结果,它会向根域名服务器发出请求。
通过NS记录,根域名服务器将解析请求转发给负责该域名的顶级域名服务器,然后顶级域名服务器再根据NS记录将解析请求转发给更具体的域名服务器,直到找到负责该域名的DNS服务器并获取对应的IP地址。
II. NS记录的配置正确配置NS记录是保证域名系统正常运行的关键。
在进行NS记录配置之前,首先需要购买一个域名并申请DNS托管服务。
然后,根据提供商的要求,登录管理控制台,在DNS设置页面选择NS记录配置项。
一般来说,用户需要填写DNS服务器的主机名、主机IP地址和优先级。
主机名即为该DNS服务器的名称,例如;主机IP地址是服务器的具体IP地址,例如;而优先级则是为了应对备用DNS服务器的设置,数字越小表示优先级越高。
用户可以按照提供商的指引,在相应的输入框中填入正确的信息并保存更改。
一旦配置完成,DNS服务器将会发送配置通知给更高级别的域名服务器,使其生效。
III. NS记录的管理1. 添加或修改NS记录在某些情况下,用户可能需要添加或修改NS记录。
例如,用户可能在更换托管服务商时需要更改主NS记录。
阿里云DDNS
阿⾥云DDNS pip install aliyun-python-sdk-corepip install aliyun-python-sdk-alidns#!/usr/bin/env python# coding= utf-8import osimport jsonfrom urllib2 import urlopenfrom aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom aliyunsdkalidns.request.v20150109 import DescribeDomainRecordsRequestfrom aliyunsdkalidns.request.v20150109 import UpdateDomainRecordRequestclass DnsHandler:# 从阿⾥云开发者后台获取Access_Key_Id和Access_Key_Secretaccess_key_id = "1"access_key_secret = "2"# 填⼊⾃⼰的域名domain_name = "3.4"# 填⼊⼆级域名的RR值rr_keyword = "ddns"# 解析记录类型,⼀般为A记录record_type = "A"# ⽤于储存解析记录的⽂件名file_name = ".ip_addr"client = Nonerecord = Nonecurrent_ip = ''# 初始化,获取client实例def __init__(self):self.client = AcsClient(self.access_key_id,self.access_key_secret,#self.region_id)self.record = self.get_record()self.current_ip = self.get_current_ip()# 如果公⽹IP发⽣变化,则⾃动修改阿⾥云解析记录def reset(self):if self.current_ip <> self.get_record_value():print self.update_record(self.current_ip)self.get_record()# 获取阿⾥云域名解析完整记录,并使⽤⽂件缓存def get_record(self):if os.path.isfile(self.file_name) :file_handler = open(self.file_name, 'r')r = file_handler.read()file_handler.close()else :request = DescribeDomainRecordsRequest.DescribeDomainRecordsRequest()request.set_PageSize(10)request.set_action_name("DescribeDomainRecords")request.set_DomainName(self.domain_name)request.set_RRKeyWord(self.rr_keyword)request.set_TypeKeyWord(self.record_type)r = self.client.do_action_with_exception(request)file_handler = open(self.file_name, 'w')file_handler.write(r)file_handler.close()return json.loads(r)# 获取阿⾥云域名解析记录IDdef get_record_id(self) :return self.record["DomainRecords"]["Record"][0]["RecordId"]# 获取当前域名解析记录def get_record_value(self) :return self.record["DomainRecords"]["Record"][0]["Value"]# 修改阿⾥云解析记录def update_record(self, value):request = UpdateDomainRecordRequest.UpdateDomainRecordRequest() request.set_action_name("UpdateDomainRecord")request.set_RecordId(self.get_record_id())request.set_Type(self.record_type)request.set_RR(self.rr_keyword)request.set_Value(value)return self.client.do_action_with_exception(request)# 获取当前公⽹IPdef get_current_ip(self):return json.load(urlopen(''))['ip']# 实例化类并启动更新程序dns = DnsHandler()dns.reset()。
syslog格式说明
syslog格式说明1 告警⽇志1.1.1 字段说明字段名称字段含义access_time告警时间alarm_sip受害ipattack_org攻击组织attack_sip攻击ipattack_type攻击类型file_md5⽂件md5file_name⽂件名hazard_level威胁级别host域名host_md5域名md5ioc iocnid nidrule_key规则类型serial_num联动设备序列号skyeye_type原始⽇志类型type告警⼆级分类super_type告警⼀级分类type_chain告警⼦类标签编码host_state攻击结果confidence确信度vuln_type威胁名称attack_chain攻击链标签⼆级编号super_attack_chain攻击链标签⼀级编号is_web_attack是否web攻击1.1.2 字典类型字段说明hazard_level威胁级别:1、2、3低危4、5中危6、7⾼危8、9、10危急1.1.3 范例发送syslog的格式为: (facility = local3,⽇志级别为:warning)发送时间客户端IP ⽇志类型⽇志2018-04-23 15:16:37|!172.17.20.159|!alarm|!{"attack_type": "", "first_access_time": "2018-04-18T11:05:07.000+0800", "ioc": "3306", "access_time": "2018-04-18T11:05:07.000+0800", "alarm_sip": "63.3.5.7", "nid": "17298326168730075144", "attack_sip": "11.1.1.18", "hazard_level": 7, "super_type": "攻击利⽤", "type": "⾃定义情报告警", "sip_ioc_dip": "31d51ab43633a6d4f5ef926a856dddd8"}1.2 系统⽇志1.2.1 字段说明字段名称字段含义name警告内容value当前值1.2.2 范例发送syslog的格式为: (facility = local3,⽇志级别为:info)发送时间客户端IP ⽇志类型⽇志2018-05-14 15:10:52|!10.91.4.13|!log|![{"name": "空闲CPU百分⽐太低", "value": 19.7}, {"name": "15分钟平均CPU负载太⾼", "value": 35.1}]1.3 原始告警1.3.1 字段说明告警字段⼀:webids-webattack_dolog ⽹页漏洞利⽤字段名称字段含义attack_type攻击类型attack_type_all攻击类型(全)referer HTTP-来源file_name⽂件名agent代理victim受害者sport源端⼝rsp_status相应状态sip源IPseverity危害级别rsp_body_len相应体长度serial_num采集设备序列号rsp_content_type响应内容类型parameter HTTP请求参数method攻击⽅法req_body请求体req_header请求头rule_name规则名称host域名cookie cookiewrite_date写⼊时间attacker攻击者victim_type受攻击者类型attack_flag攻击标识uri URIrsp_content_length响应内容长度rule_version规则版本rsp_body响应体rsp_header响应头dport⽬的端⼝dolog_count告警次数dip⽬的IPrule_id规则IDconfidence确信度detail_info告警详细信息solution解决⽅案vuln_desc攻击描述vuln_harm攻击危害vuln_name威胁名称vuln_type威胁类型webrules_tag web攻击类规则标签public_date发布时间code_language使⽤语⾔site_app建站appkill_chain攻击链kill_chain_all攻击链(全)instranet_rule_all内部⽹络规则attack_result攻击结果xff xff代理告警字段⼆:webids-webshell_dolog webshell上传字段名称字段含义attack_type攻击类型attack_type_all攻击类型(全)attack_flag攻击标识sip源IPwrite_date写⼊时间victim受害者file_dir⽂件⽬录url URLvictim_type受攻击者类型file_md5附件MD5serial_num采集设备序列号attacker攻击者host域名file⽂件dport⽬的端⼝sport源端⼝dip⽬的IPrule_ip规则IDseverity危害级别confidence确信度detail_info告警详细信息attack_desc攻击描述attack_harm攻击危害rule_name规则名称kill_chain攻击链kill_chain_all攻击链(全)attack_result攻击结果xff xff代理告警字段三:webids_ids_dolog ⽹络攻击字段名称字段含义attack_type攻击类型attack_type_all攻击类型(全)dip⽬的IPpacket_data载荷内容victim受害者sport源端⼝affected_system影响的系统sip源IPseverity危害级别detail_info告警详细信息attacker攻击者packet_size载荷⼤⼩info_id漏洞编号description⽹络攻击描述sig_id特征编号rule_name规则名称write_date写⼊时间protocol_id⽹络攻击协议attack_method攻击⽅法attcak_flag攻击标志rule_id规则IDserial_num采集设备序列号appid应⽤IDdport⽬的端⼝vuln_type威胁类型victim_type受攻击者类型bulletin解决⽅案confidence确信度webrules_tag web攻击类规则标签ids_rule_version IDS规则版本号cnnvd_id CNNVD编号kill_chain攻击链kill_chain_all攻击链(全)instranet_rule_all内部⽹络规则attack_result攻击结果xff xff代理告警字段四:webids_ioc_dolog 威胁情报字段名称字段含义access_time⽇志产⽣时间tid恶意家族IDtype恶意事件类型rule_desc规则详情offence_type关注类型offence_value关注内容sip源IPdip⽬的IPserverity危害级别serial_num采集设备序列号rule_state规则状态ioc_type规则类型ioc_value规则内容nid IOCw唯⼀编号etime结束时间malicious_type威胁类型kill_chain攻击链kill_chain_all攻击链(全)xml_confidence确信度malicious_family恶意家族campaign攻击时间/团伙targeted定向攻击tag恶意家族标签paltform影响平台current_status当前状态packed_data载荷内容ioc_source威胁情报源sport源端⼝dport⽬的端⼝proto协议dns_type DNS类型filename⽂件名称file_md5⽂件MD5desc描述file_direction⽂件传输⽅向host域名uri URLdns_arecord DNS记录tproto传输层协议file_content⽂件内容attack_ip攻击IPvictim_ip受害IPattack_type攻击类型attack_type_all攻击类型(全)xff xff代理1.3.2 字典类型字段说明hazard_rating威胁级别:1、2、3低危4、5中危6、7⾼危8、9、10危急host_state告警结果:0企图1攻击成功2失陷1.3.3 范例webids-ioc_dolog范例发送syslog的格式为: (facility = local3,⽇志级别为:warning)发送时间客户端IP ⽇志类型⽇志2019-08-15 17:50:47|!10.91.4.198|!webids-ioc_dolog|!{"rule_desc": "APT17 APT组织活动事件", "campaign": "APT17", "@timestamp": "2019-08-15T17:00:07.946+0800", "packet_data": "AJALLmC1AFBWogIqCABFAABAh5tAAEARxOUKBQAd3wUFBaEjADUALHr7l9Q BAAABAAAAAAAAA2FsaQpibGFua2NoYWlyA2NvbQAAAQAB", "dns_arecord": "", "tproto": "udp", "host_reraw": "com.blankchair.ali", "sport": 41251, "host_raw": "", "attack_ip": "", "ioc_type": "host", "etime": "2017-03-08 13:33:11", "attack_type": "APT事件", "sip": "10.5.0.29","severity": 9, "proto": "dns", "kill_chain_all": "命令控制:0x03000000|命令控制服务器连接:0x030a0000", "filename": "", "serial_num": "QbJK/cNEg", "dns_type": 0, "rule_state": "green", "tid": 1, "attack_type_all": "APT事件:10000000|APT事件:10010000", "type": "KNOWN APT", "uri_md5": "d41d8cd98f00b204e9800998ecf8427e", "targeted": true, "access_time": 1565859693000, "nid": "1161928703861588190","file_md5": "", "kill_chain": "c2", "offence_value": "10.5.0.29", "host": "", "victim_ip":"10.5.0.29", "malicious_family": "Unknown", "geo_dip": {"subdivision": "Zhejiang Sheng", "country_code2": "CN", "longitude": "120.1614", "latitude": "30.2936", "continent_code": "AS", "city_name": "Hangzhou"}, "desc": "APT 17活动详情\n\nAPT 17是在2015年8⽉被FireEye公开揭露出来的⼀个 APT组织,最早的活动可以追溯到2013年。
域名系统中的A记录如何设置与管理(十)
域名系统中的A记录如何设置与管理在互联网世界中,域名系统(Domain Name System)是一个至关重要的基础设施,它充当着将人类可理解的域名转换为IP地址的关键中介。
其中,A记录(Address Record)在域名系统中扮演着关键的角色,它定义了域名和IP地址之间的关联。
在本文中,我们将探讨A记录的设置和管理,帮助读者更好地理解和应用这一功能。
1. 了解A记录的作用A记录用于将域名解析为与之相关联的IP地址。
当用户在浏览器中键入一个域名时,计算机首先需要查询本地的DNS缓存,如果没有找到对应的IP地址,则会向全球的DNS系统发送查询请求。
DNS服务器根据A记录将域名解析为对应的IP地址,以便用户能够访问到目标网站。
2. 登录域名注册商的管理界面在设置和管理A记录之前,您需要登录域名注册商的管理界面。
大多数域名注册商提供了在线管理工具,您可以通过提供的用户名和密码登录到管理界面。
在管理界面中,您可以找到域名配置的相关设置选项。
3. 找到DNS管理选项在管理界面中,寻找与DNS相关的选项。
不同的域名注册商界面可能会有所不同,但一般会提供一种名为“DNS管理”或“域名服务器设置”的选项。
点击进入该选项,即可找到A记录的相关配置。
4. 添加或编辑A记录在DNS管理选项下,您将看到当前域名的相关记录列表。
在列表中,找到A记录的配置选项。
通常,域名注册商会提供一种添加或编辑A记录的功能,使您能够设置或更改域名与IP地址的关联。
5. 输入或编辑A记录的信息点击添加或编辑A记录的选项后,进入设置界面。
在设置界面中,您需要提供域名和与之关联的IP地址。
在输入框中,输入您想要关联的域名和对应的IP地址。
一般情况下,不同的DNS管理界面可能还会提供一些其他选项,例如记录类型(通常为A记录),TTL(Time To Live)和优先级等。
6. 保存设置并等待生效在输入或编辑A记录的信息后,点击保存或应用设置的按钮。
如何在域名系统中设置TLSA记录以提高安全性(八)
如何在域名系统中设置TLSA记录以提高安全性介绍域名系统(DNS)是互联网中的一项基础设施,它将域名映射到与之对应的IP地址。
然而,传统的DNS存在一些安全隐患,可能会导致域名欺骗、中间人攻击等问题。
为了提高DNS的安全性,引入了TLSA记录。
本文将介绍如何在域名系统中设置TLSA记录以提高安全性。
什么是TLSA记录TLSA记录是一种基于传输层安全协议(TLS)的DNS记录类型。
它可以验证一个服务器的TLS证书或公钥哈希值,从而确保用户连接的是正确的服务器,防止中间人攻击。
TLSA记录的设置需要与DNSSEC结合使用,以保证记录的完整性和真实性。
如何设置TLSA记录1. 了解传输层安全协议(TLS)以及相关证书的工作原理。
TLS是一种协议,用于保护数据在网络上的安全传输。
了解TLS的工作原理可以更好地理解TLSA记录的设置过程。
2. 选择合适的TLSA记录类型。
TLSA记录有三种类型:0、1和2。
类型0用于验证服务器的完整证书,类型1用于验证服务器的公钥哈希值,类型2则同时验证服务器的证书和公钥哈希值。
根据实际需求选择合适的类型。
3. 生成TLSA记录的值。
TLSA记录的值由四个字段组成:选择器、匹配类型、证书或公钥哈希值的哈希算法以及证书或公钥哈希值。
选择器指示TLSA记录中使用的证书或公钥的哪个部分,可以取值0或1。
匹配类型定义了TLSA记录中提供的证书或公钥与服务器实际的证书或公钥之间的匹配方式。
证书或公钥哈希值的哈希算法可以是SHA-256、SHA-512等。
生成TLSA记录的值需要使用相应的工具来计算哈希值。
4. 在DNS服务器上设置TLSA记录。
登录到DNS服务器的管理界面,找到要设置TLSA记录的域名。
根据TLSA记录的类型、值和其他相关信息,设置TLSA记录。
确保在设置TLSA记录时先启用DNSSEC,以保证记录的验证和完整性。
TLSA记录的优势和前景设置TLSA记录可以提高域名系统的安全性。
域名系统中的CNAME记录如何配置与使用(七)
域名系统中的CNAME记录如何配置与使用引言:域名系统(Domain Name System,简称DNS)是互联网的基础设施之一,它将网站的域名映射为对应的IP地址。
其中,CNAME 记录是DNS中的一种重要记录类型,它实现了域名的别名转发和负载均衡等功能。
本文将介绍CNAME记录的配置与使用方法。
一、CNAME记录的概述CNAME记录(Canonical Name Record)是DNS中的一种资源记录类型,用于为一个域名设置别名。
它将一个域名指向另一个域名,实现了域名的转发和重定向。
CNAME记录可以有效地管理和维护域名的运营和访问。
二、CNAME记录的配置步骤1. 登录域名管理控制台:首先,我们需要登录域名管理控制台,找到目标域名所在的管理页面。
不同的域名注册商可能有不同的界面和操作方式,但一般都提供了域名解析功能。
2. 找到DNS解析设置选项:在域名管理控制台中,找到DNS解析设置选项,一般位于域名管理菜单或高级设置菜单中。
点击该选项,即可进入CNAME记录的配置页面。
3. 添加新的CNAME记录:在CNAME记录配置页面,一般会显示当前已经配置的DNS记录。
找到可添加新记录的位置,点击"添加"或"+新建记录"按钮。
填写以下信息:- 主机记录(Alias/Name):填写需要配置CNAME的子域名或主机名,例如"- 记录类型(Record Type):选择CNAME记录类型。
- 记录值(Points To/Target):填写目标域名,即要将主机记录指向的域名。
- TTL(Time To Live):设置DNS缓存的过期时间,一般可以选择默认或自定义配置。
4. 保存配置并生效:配置完成后,点击"保存"或"确认"按钮,将CNAME记录保存到DNS服务器上。
保存成功后,通常需要等待一段时间,DNS服务器会将配置更新下发到全球各地的DNS解析服务器上,才能生效。
阿里DNS(ALIDNS)怎么设置?
日前,阿里正式发布其公共DNS—AliDNS。
此前出现过由于DNS故障而导致淘宝用户无法正常浏览和下单的情况,因此AliDNS主要针对淘宝用户推出,同时也满足用户玩游戏刷微博等上网需求。
阿里巴巴公共DNS服务采用Anycast技术,全球统一服务 ip:223.5.5.5、223.6.6.6,全国多数据中心冗余,同时具备独立的防攻击体系。
目前,阿里公共DNS平台启用域名正式上线公测。
DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
DNS 协议运行在UDP协议之上,使用端口号53。
在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
Windows 8打开Windows 8系统控制面板,点击右上角的以图标方式显示,点击网络和共享中心选项。
点击网络和共享中心左侧的更改适配器设置链接,如下图:选中正在联网的网络连接,我这里是,鼠标右键菜单里选择属性在网络连接属性窗口中选中Internet 协议版本 4 (TCP/IPv4),然后点击属性。
选择使用指定的DNS,在DNS服务器地址中输入223.5.5.5 和 223.6.6.6,输入后确定退出即设置完成。
Windows 7通过单击「开始」按钮「开始」按钮的图片,然后单击控制面板,打开网络连接。
在搜索框中,键入适配器,然后在网络和共享中心下,单击查看网络连接右键单击要更改的连接,然后单击属性。
需要管理员权限如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认单击联网选项卡。
在此连接使用下列项目下,单击Internet 协议版本 4 (TCP/IPv4)或Internet 协议版本 6 (TCP/IPv6),然后单击属性单击使用下面的 DNS 服务器地址,然后在首选 DNS 服务器和备用 DNS 服务器框中,键入主 DNS 服务器和辅助 DNS 服务器的地址Windows VISTA点击开始按钮,然后选择控制面板点击查看网络状态和任务。
使用阿里云dnssdk解决电信公网ip自动变化问题;自己动手实现ddns
使⽤阿⾥云dnssdk解决电信公⽹ip⾃动变化问题;⾃⼰动⼿实现ddns⾸先说下情况,我的树莓派通过电信光猫dmz主机设置全端⼝映射得到了公⽹ip,ssh等连接都很迅速,ping值为60ms。
上海电信200M宽带,上传25mbps。
由于是动态公⽹ip,电信隔⼏天就换ip,这个差不多⼗天,不⼀定。
我写了简单的脚本,⽤计划任务每分钟访问我的vultr 服务器上的nginx服务(curl命令),nginx可以记录来访的ip,我就知道该树莓派的动态ip了。
所以有时候访问不了了,ip变化了,我就看⼀下nginx⽇志后去阿⾥云⼿动修改dns解析。
以上的操作还是略⿇烦的,后来百度下,得知阿⾥云dns有sdk,直接⽤脚本就能修改dns解析记录了。
该⽅法⽐我原来⼿动的省事很多,⽽且能根据计划每分钟检查,所以可以说就算电信ip⼀天变⼀次也感觉不到。
#!/usr/bin/env python# -*- coding: UTF-8 -*-import jsonimport osimport reimport sysfrom datetime import datetimefrom aliyunsdkalidns.request.v20150109 import UpdateDomainRecordRequest, DescribeDomainRecordsRequest, \DescribeDomainRecordInfoRequestfrom aliyunsdkcore import client#请填写你的Access Key IDaccess_key_id = "LTAIdR"#请填写你的Access Key Secretaccess_key_secret = "lv535M"#如果选择yes,则运⾏程序后仅现实域名信息,并不会更新记录,⽤于获取解析记录ID。
#如果选择no,则运⾏程序后不显⽰域名信息,仅更新记录#i_dont_know_record_id = 'yes'i_dont_know_record_id = 'no'#请填写解析记录IDrc_record_id = '3995858176'#请填写你的⼀级域名rc_domain = ''#请填写你的解析记录,对应的主机记录rc_rr = 'server'#请填写你的记录类型,DDNS请填写A,表⽰A记录rc_type = 'A'#请填写解析有效⽣存时间TTL,单位:秒#rc_ttl = '1'rc_ttl = '600'#请填写返还内容格式,json,xmlrc_format = 'json'def my_ip():get_ip_method = os.popen('curl -s ')get_ip_responses = get_ip_method.readlines()[0]get_ip_pattern = pile(r'\d+\.\d+\.\d+\.\d+')get_ip_value = get_ip_pattern.findall(get_ip_responses)[0]return get_ip_valuedef check_records(dns_domain):clt = client.AcsClient(access_key_id, access_key_secret, 'cn-hangzhou')request = DescribeDomainRecordsRequest.DescribeDomainRecordsRequest()request.set_DomainName(dns_domain)request.set_accept_format(rc_format)#result = clt.do_action(request)result = clt.do_action_with_exception(request)return resultdef old_ip():clt = client.AcsClient(access_key_id, access_key_secret, 'cn-hangzhou')request = DescribeDomainRecordInfoRequest.DescribeDomainRecordInfoRequest()request.set_RecordId(rc_record_id)request.set_accept_format(rc_format)#result = clt.do_action(request)result = clt.do_action_with_exception(request)result = json.JSONDecoder().decode(result)result = result['Value']return resultdef update_dns(dns_rr, dns_type, dns_value, dns_record_id, dns_ttl, dns_format):clt = client.AcsClient(access_key_id, access_key_secret, 'cn-hangzhou')request = UpdateDomainRecordRequest.UpdateDomainRecordRequest()request.set_RR(dns_rr)request.set_Type(dns_type)request.set_Value(dns_value)request.set_RecordId(dns_record_id)request.set_TTL(dns_ttl)request.set_accept_format(dns_format)#result = clt.do_action(request)result = clt.do_action_with_exception(request)return resultdef write_to_file():time_now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')#current_script_path = sys.path[7]current_script_path = sys.path[0]print current_script_pathlog_file = current_script_path + '/' + 'aliyun_ddns_log.txt'write = open(log_file, 'a')write.write(time_now + ' ' + str(rc_value_old) + '--->' + str(rc_value) + '\n')write.close()returnif i_dont_know_record_id == 'yes':pass#print check_records(rc_domain)elif i_dont_know_record_id == 'no':rc_value = my_ip()rc_value_old = old_ip()if rc_value_old == rc_value:pass#print 'The specified value of parameter Value is the same as old'else:#print update_dns(rc_rr, rc_type, rc_value, rc_record_id, rc_ttl, rc_format)update_dns(rc_rr, rc_type, rc_value, rc_record_id, rc_ttl, rc_format)write_to_file()这⾥rc_domain = ''是⼀级域名,rc_rr = 'server'是对应的⼆级域名,如我这⾥⼆者组合就是。
域名系统中的A记录如何设置与管理(九)
域名系统是互联网中的基础架构,它将人类可读的域名转换为机器可识别的IP地址,从而实现全球范围内的网站访问。
在域名系统中,A记录是一种重要的记录类型,用于将域名与具体的IP地址进行映射。
本文将讨论A记录的设置和管理方法,并探讨一些常见问题和最佳实践。
1. 什么是A记录?A记录(Address record)是一种在域名系统中用于指定域名与IP地址之间映射关系的记录类型。
每个A记录包含一个主机名和相应的IPv4地址。
通过查询A记录,DNS服务器可以将域名解析为相应的IP地址,并将用户的请求定向到正确的服务器。
2. 设置A记录的步骤在设置A记录之前,首先需要购买一个域名并选择一个合适的DNS服务提供商。
以下是设置A记录的一般步骤:登录到DNS服务提供商的控制台或管理面板。
找到域名管理界面,通常称为"域名管理"、"DNS管理"或类似的名称。
在域名管理界面中,找到并选择要管理的域名。
找到记录管理选项,一般会列出各种记录类型,包括A记录。
点击添加新记录或类似的按钮。
在记录编辑界面中填写相关信息,包括主机名(通常为"@"或"点击保存或提交更改。
3. A记录的管理注意事项在设置和管理A记录时,有一些重要的注意事项需要记住:TTL(Time to Live):TTL是A记录的生存时间,表示DNS服务器缓存A记录的时间长度。
较小的TTL值可以确保更快的DNS更新,但也增加了DNS服务器的负载。
通常,建议设置适当的TTL值,以平衡性能和可靠性。
多个A记录:可以为一个域名设置多个A记录,以实现负载均衡和故障转移。
这样,当一个服务器不可用时,DNS服务器可以将流量转发到其他可用的服务器。
检查解析:在设置A记录后,建议进行解析检查,确保域名能够正确解析到目标IP地址。
可以使用在线工具或命令行工具进行解析检查,并检查返回的IP地址是否与预期一致。
4. 常见问题和最佳实践在管理A记录时,可能会遇到一些常见的问题。
如何在域名系统中设置TLSA记录以提高安全性(五)
如何在域名系统中设置TLSA记录以提高安全性随着互联网的快速发展,网络安全问题日益凸显。
域名系统(DNS)作为互联网的基础设施之一,扮演着将域名解析为IP地址的重要角色。
然而,DNS协议存在许多安全漏洞,使得域名系统成为攻击者攻击的目标。
为了提高域名系统的安全性,使用TLSA记录是一种非常有效的方法。
TLSA(Transport Layer Security Authentication)是一种基于传输层安全协议的认证记录。
通过在域名系统中设置TLSA记录,可以将加密通信与特定的域名绑定,有效防止中间人攻击和DNS欺骗等安全问题。
要在域名系统中设置TLSA记录,首先需要生成TLSA记录的内容。
TLSA记录通常包含以下四个方面的信息:证书使用的哈希算法、证书的选择器类型、证书的匹配类型以及TLSA记录的数据。
1. 证书使用的哈希算法:这个字段指定了TLS证书使用的哈希算法,常见的有SHA-256、SHA-512等。
2. 证书的选择器类型:该字段指定了选择TLS证书的方式,可以是完整的证书(0)、公钥(1)或者指纹(2)。
3. 证书的匹配类型:该字段指定了证书匹配方式,可以是完全匹配(0)、SHA-256哈希匹配(1)、SHA-512哈希匹配(2)。
4. TLSA记录的数据:该字段包含实际的TLS证书或公钥信息,根据选择器类型的不同而有所区别。
生成TLSA记录的内容后,接下来就是将其添加到域名系统中。
这里需要注意的是,TLSA记录需要添加到相应域名的DNS区域文件中,并且需要将其配置为可信任的DNS服务器。
设置TLSA记录对于提高域名系统的安全性有很多好处。
首先,TLSA记录可以在客户端与服务器之间建立加密通信,确保数据传输的机密性和完整性。
其次,通过使用TLSA记录,可以有效防止中间人攻击,即使攻击者能够获取到证书或公钥的副本,但无法伪造有效的TLSA记录。
最后,TLSA记录还可以减少DNS欺骗的风险,保护用户的隐私和安全。
域名系统中的CNAME记录如何设置与管理(三)
域名系统中的CNAME记录如何设置与管理1. 什么是域名系统域名系统(Domain Name System,DNS)是互联网中用于将域名转换为IP地址的系统。
它充当了一个类似于电话簿的角色,帮助我们将易于记忆的域名与相应的数字地址关联起来。
通过DNS,我们可以在浏览器中输入域名,然后系统会自动将其解析为服务器的IP地址,从而让我们能够访问网站、发送电子邮件等。
2. CNAME记录的作用CNAME记录(Canonical Name record)是DNS中的一种记录类型,它允许我们将一个域名指向另一个域名,实现域名的别名映射。
通过设置CNAME记录,我们可以为网站的子域名、电子邮件服务器、云存储等提供更灵活的指向。
当我们需要修改目标IP地址时,只需更改CNAME记录指向的域名,而无需修改所有使用该域名的相关记录。
3. 设置CNAME记录的步骤a. 登录域名注册商的管理控制面板。
根据所使用的注册商不同,控制面板的界面和操作可能有所差异,但一般可以在域名管理或DNS设置等相关选项中找到CNAME记录设置。
b. 在CNAME记录设置页面,添加一个新的CNAME记录。
需要填写两个参数:主机名和目标域名。
主机名是要设置的子域名(例如c. 保存设置并等待DNS服务器的更新。
请注意,DNS服务器的更新时间可能需要一段时间,通常是几分钟到几个小时的范围。
4. CNAME记录设置的注意事项a. 主机名必须是有效的子域名,不能是整个域名或其他无效字符。
b. 目标域名必须是有效的域名,无法将主机名指向一个无效的域名。
一般而言,目标域名应该已经存在并具有有效的A记录。
c. 针对同一个主机名,只能设置一个CNAME记录。
如果需要指向多个域名,可以考虑使用多个别名来实现,或者使用其他记录类型如A记录。
d. 定期检查和更新CNAME记录。
当目标域名发生变化时,需要相应地更改CNAME记录,以确保域名解析可以正常工作。
5. CNAME记录的管理工具除了通过域名注册商的管理控制面板设置CNAME记录外,还有一些管理工具可以帮助更方便地管理CNAME记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
记录类型
支持A、MX、CNAME、NS、TXT、AAAA、SRV 、显性URL、隐形URL9种记录类型,文字必须保持一致。
主机记录
主机记录(RR)值合法字符
包含a-z、A-Z、0-9、'-' 、
'_' 、'.'、'*'、'@'、'中文汉字
'。
解析线路
支持默认、移动、联通
、电信、教育、海外,
谷歌、百度、必应,且
不同版本对应更多的线
路细分,共计支持
200+以上的解析线
路,文字必须保持一
致;对于显性URL和隐
形URL,线路必须为默
认。
CNAME pili-publish默认CNAME pili-live-rtmp默认CNAME pili-live-hls默认CNAME pili-media默认CNAME pili-live-hdl默认CNAME pili-live-snapshot默认A*默认A@默认MX@默认MX@默认
记录值
A记录的记录值为IPv4形式;
NS、MX、CNAME记录的记录值为域名形式;
TXT记录的记录值为字符串形式(如字母、数字等);AAAA记录的记录值为IPv6形式;
SRV记录的记录值服务的名字.协议的类型(例如:
_example-server._tcp);
显性URL和隐形URL为网址格式(如:
http(s)://);MX优先级
对于MX记录类型,必须为1-
10的数字,否
则为空
TTL
秒数
--600 --600 --600 --600 --600 --600 115.28.173.7--600 115.28.173.7--600 .5600 .10600。