dns

单台DNS服务器搭建(BIND)

巧了我就是萌 提交于 2020-01-16 19:51:26
一、理论层面 1. DNS的出现及演化   网络出现的早期是使用IP地址通讯的,那是就几台主机通讯。但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件)。这个文件中记录着主机名称和IP地址的对应表,这样只要输入主机名称,系统就会加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了。 但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts文件,以供下载使用。互联网规模进一步扩大,这种方式也不堪重负,而且把所有地址解析记录形成的文件都同步到所有的客户机似乎也不是一个好办法。这时DNS系统出现了,随着解析规模的继续扩大,DNS系统也在不断的烟花,直到现今的多层架构体系。 2.DNS概述入门 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户方便的访问互联网,而不用去记住能够被机器读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析),DNS协议运行在UDP协议之上,使用端口号53 DNS的分布式数据库是以域名为索引的,每个域名实际上就是一颗很大的逆向数中路径,这棵逆向树成为域名空间(domain

Creating an A-Record with Plesk API

自作多情 提交于 2020-01-16 18:46:35
问题 I modified the example PHP script for the Plesk API enough that I think it SHOULD be working to create an A-Record DNS, however whenever I run the script it simply times out after about 2-3 minutes. The Parallels Development forums seem to be a ghost town, so I am hoping maybe someone here might be able to spot the issue. <?php /** Reports error during API RPC request */ class ApiRequestException extends Exception {} function DNSCreateRequest() { $xmldoc = new DomDocument('1.0', 'UTF-8');

负载均衡基本原理与lvs

心已入冬 提交于 2020-01-16 08:54:57
前言:   之前在山西的项目上使用的是lvs下的NAT模式,但另外两个模式并没有涉及,今天系统的整理下关于负载均衡的相关理论与lvs各模式的相关优点与不足,知其然与所以然,而后能针对性的应用: 基本介绍 1.1 负载均衡的由来 在业务初期,我们一般会先使用单台服务器对外提供服务。随着业务流量越来越大,单台服务器无论如何优化,无论采用多好的硬件,总会有性能天花板,当单服务器的性能无法满足业务需求时,就需要把多台服务器组成集群系统提高整体的处理性能。不过我们要使用统一的入口方式对外提供服务,所以需要一个流量调度器通过均衡的算法,将用户大量的请求均衡地分发到后端集群不同的服务器上。这就是我们后边要说的 负载均衡。 1.2 负载均衡的优点 提高了服务的整体性能 提高了服务的扩展性 提高了服务的高可用性 1.3 负载均衡的类型 广义上的负载均衡器大概可以分为 3 类,包括:DNS 方式实现负载均衡、硬件负载均衡、软件负载均衡。 1.3.1 DNS负载均衡 DNS 实现负载均衡是最基础简单的方式。一个域名通过 DNS 解析到多个 IP,每个 IP 对应不同的服务器实例,这样就完成了流量的调度,虽然没有使用常规的负载均衡器,但也的确完成了简单负载均衡的功能。 通过 DNS 实现负载均衡的方式的优点: 实现简单,成本低,无需自己开发或维护负载均衡设备, 通过 DNS 实现负载均衡的方式的缺点:

网络协议 18 - CDN:家门口的小卖铺

旧巷老猫 提交于 2020-01-16 04:36:01
【前五篇】系列文章传送门: 网络协议 13 - HTTPS 协议:加密路上无尽头 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HTTPDNS:私人定制的 DNS 服务     到现在为止,我们基本上已经了解了网络协议中的大部分常用协议,对于整个 HTTP 请求流程也较为熟悉了。从无到有后,我们就要考虑如何优化“有”这个过程,也就是我们常见的 请求优化 。而现在的技术栈中,CDN 是最常用的一种方式。     在了解 CDN 前,我们可以先了解下现代社会的物流配置。     例如我们去电商网站下单买东西,这个东西一定要从电商总部的中心仓库送过来吗?在电商刚兴起的时候,所有的配送都是从中心仓库发货,所以买家可能要很久才能收到货。但是后来电商网站的物流系统学聪明了,他们在全国各地建立了很多仓库,而不是只有总部的中心仓库才可以发货。     电商网站根据统计大概知道,北京、上海、广州、深圳、杭州等地,每天能够卖出去多少书籍、纸巾、包、电器等存放期较长的商品,就将这些商品分布存放在各地仓库中,客户一下单,就从临近的仓库发货,大大减少了运输时间,提高了用户体验。     同样的,互联网也借鉴了 “就近配送” 这个思路。 CDN 就近配送     全球有那么多的数据中心

DNS(bind)服务器安装和配置

谁都会走 提交于 2020-01-16 03:13:36
一、前言 DNS 域名系统 (英文: D omain N ame S ystem,缩写: DNS )是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53(TCP 53端口用于dns服务器自己同步数据,UDP 53端口用于查询解析)。是一个域名服务,应用层协议。 DNS查询原理及名词解释: dns查询:迭代查询、递归查询 如下图,从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间的交互查询就是迭代查询。 总结: 1.递归查询: 一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机; 2.迭代查询(反复查询): 一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求; 所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询)” 也就是递归就是交给下一个服务器解决(下一个就相当于客户了,所以他也可以选择去递归,或者迭代)(迭代就是返回给当前的,当前自己再去处理) 递归即递给服务器,所有操作都有服务器来完成

SSL in Heroku with a custom domain

ⅰ亾dé卋堺 提交于 2020-01-16 03:11:12
问题 I'm using PointHQ as a DNS and hosting my domain on Heroku. On default, it looks like Heroku supports https (eg. https://yodel-site.herokuapp.com), but not when you go to my site with https://yodel.co - although it works with just http://. What do I need to do in order for SSL (https) to work on my custom domain in Heroku? Is it something to configure in my DNS (PointHQ), or do I need to pay heroku for the addon? Here's what my Heroku custom domains section looks like: 回答1: You will have to

DNS配置参数和概念

微笑、不失礼 提交于 2020-01-15 18:06:22
DNS服务器的配置参数和概念   IP地址是在网络上分配给每台计算机或网络设备的32位数字标识。在Internet上,每台计算机或网络设备的IP地址是全世界唯一的。IP地址的格式 是 xxx.xxx.xxx.xxx,其中xxx是 0 到 255 之间的任意整数。例如,科迈网站主机的IP地址是 210.22.12.54。 什么是固定IP地址?   固定IP地址是长期分配给一台计算机或网络设备使用的IP地址。一般来说,采用专线上网的计算机才拥有固定的Internet IP地址。 什么是动态IP地址?   通过Modem、ISDN、ADSL、有线宽频、小区宽频等方式上网的计算机,每次上网所分配到的IP地址都不相同,这就是动态IP地址。因为IP地址资源很宝贵,大部分用户都是通过动态IP地址上网的。 什么是内网、什么是公网、什么是NAT?   公网、内网是两种Internet的接入方式。 内网接入方式:上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种形式: 10.x.x.x 172.16.x.x至172.31.x.x 192.168.x.x 内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet。内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。 公网接入方式

Definitive guide for setting up a Google App Engine app, with domain and sub domain mapping

落爺英雄遲暮 提交于 2020-01-15 15:26:32
问题 I have been used the Google App Engine for multiple hobby projects and I have even published a few of them and setup associated domains with moderate success. Of the few, one of those apps even uses sub-domain mapping. In spite of the multiple setup attempts, I have still had a bit of difficulty setting up my domains for new projects and I've had to cross-reference multiple help articles (many found on SO). Some times those solutions, however, are close to what I've needed because of setup

HTTPDNS 解析

泄露秘密 提交于 2020-01-15 13:50:59
简介 HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推出的一款域名解析产品,具有域名防劫持、精准调度等特性。开通HTTPDNS服务后,您就可以在管理控制台添加要解析的域名,调用服务API进行域名解析。HTTPDNS是一款递归DNS服务,与权威DNS不同,HTTPDNS并不具备决定解析结果的能力,而是主要负责解析过程的实现。 众所周知,发送HTTP请求后,会通过DNS解析,找到服务器后再响应请求。不过,传统的DNS系统存在很多问题,最常见的就是DNS劫持、平均访问延迟较高、用户连接失败率较高这三个问题。其中最重要的是DNS劫持,因为DNS解析是交给运营商来做的,所以解析结果被运营商劫持插入广告,解析结果不按 TTL 缓存,解析被错误递归(跨地区甚至跨运营商)等问题导致我们不得不去寻找一种可以绕开运营商的办法来做【域名->IP】的映射方式,那就是HttpDNS。 HttpDNS是通过ip直接请求http获取服务器A记录地址,不存在向本地运营商询问domain解析过程,所以从根本避免了劫持问题。同时由于是ip直接访问省掉了一次domain解析过程,可以在一定程度上降低平均访问延迟

DNS lookup failed: address 'your.proxy.com' not found: [Errno -5] No address associated with hostname

自闭症网瘾萝莉.ら 提交于 2020-01-15 12:24:11
问题 This question is an extension of the resolved question here, ie. Crawling linkedin while authenticating with scrapy. Crawling LinkedIn while authenticated with Scrapy @Gates While I keep the base of the script the same, only adding my own session_key and session_password - and after changing the start url particular to my use-case, as below. class LinkedPySpider(InitSpider): name = 'Linkedin' allowed_domains = ['linkedin.com'] login_page = 'https://www.linkedin.com/uas/login' start_urls=[