最近我发现一些发给我的ping是TTL错误。 当有人ping我的电脑,它显示每个数据包不同的TTL值。 例如,ping.eu显示: — PING 78.188.216.242 (78.188.216.242) 56(84) bytes of data. — 64 bytes from 78.188.216.242: icmp_req=1 ttl=112 time=78.7 ms 64 bytes from 78.188.216.242: icmp_req=2 ttl=17 time=78.8 ms 64 bytes from 78.188.216.242: icmp_req=3 ttl=206 time=78.7 ms 64 bytes from 78.188.216.242: icmp_req=4 ttl=212 time=78.7 ms — 78.188.216.242 ping statistics — packets transmitted 4 received 4 packet […]
我最近一直在考虑DNS的TTL。 我们有Alogging我们的服务器,然后CNAMElogging面向客户的名字。 例如,www.example.com CNAME指向server-01.example.com。 如果发生故障,我们将CNAME和Alogging的TTL设置为15分钟。 但是,我觉得这可能不是最佳的。 当然应该是Alogging是48小时,CNAME是15分钟。 发生故障时,CNAME只会被指向server-02.example.com。 Alogging(在理论上应该很长时间地被高速caching,因为我们使用CNAME作为切换器)。 环顾互联网,我发现许多人的CNAME长,Alogging短: CNAME和Alogging有不同的TTL。 哪一个会被caching? 这似乎与任何人想要的相反。 问题是,DNS是否按照我希望的方式工作,因为如果我需要快速切换服务器,CNAME请求TTL是非常重要的。
什么是DNS中的TTL? 小TTL有什么好处?
我的PHP脚本发送头X_Cache_ttl: 1h并在我的清漆configuration文件 sub vcl_fetch { if(beresp.http.X-Cache-ttl){ set beresp.ttl = beresp.http.X-Cache-ttl; } } 但是当我尝试启动它时,set命令行会导致varnish失败。 在我得到的日志 Expression has type STRING, expected DURATION ('input' Line 116 Pos 34) — ('input' Line 116 Pos 56) set beresp.ttl = beresp.http.X-Cache-ttl; 如何将X-Cache-ttl转换为一个持续时间,以便我可以dynamic设置TTL? 我想避免多个if语句类似 if(beresp.http.X-Cache-ttl == "60s") { set beresp.ttl = 60s; } if(beresp.http.X-Cache-ttl == "1h") { set beresp.ttl = 1h; } […]
在DNScaching被清除之前是否有标准的时间间隔,这样如果分心的操作员或卡住的密钥将86400的TTL变为864000000,则不会得到授权的资源logging甚至整个DNS区域,其变化将不会是确认了27.397年? 而且,如果对这种错误没有保护,那么允许TTL持续时间长达68年而不是一个月的最大值的原因是什么呢?
我有以下configuration:CISCO 881,IOS 15.2(4)M6。 在WAN接口上configuration来自ISP的86.34.156.48/29子网。 在路由器后面停留2个networking服务器。 NAT:86.34.156.51 <> 10.10.10.100(私有IP,server1)。 如果我使用服务器的外部IP(86.34.156.51)configurationBIND DNS服务器A的logging,外部世界永远不会从我的DNS服务器得到响应(我不知道那里发生了什么事情,也许路由器做DNS篡改或某事类似(这是一个问题)),并确定DNS服务器configuration和工作正常(我捕获的TCP数据包的IP数据包)。 但是,如果我使用服务器私有IP(10.10.10.100)configurationDNS服务器Alogging,则数据包会到达正确的目的地(与服务器的外部IP,也许DNS篡改)。 唯一的问题就是DNS数据包的TTL值消失了,如下图所示。 我能做什么??? +—–+ | | an other host somewhere on internet(C) | | +—–+ | | : : internet : | +—–+ | | ISP's router | | black box, without acces +—–+ | | 86.34.456.48/29 +—–+ | | CISCO 881, | | IOS […]
我目前使用DNS循环进行负载平衡,这很好。 logging看起来像这样(我有一个120秒的TTL) ;; ANSWER SECTION: orion.2x.to. 116 IN A 80.237.201.41 orion.2x.to. 116 IN A 87.230.54.12 orion.2x.to. 116 IN A 87.230.100.10 orion.2x.to. 116 IN A 87.230.51.65 我了解到,并不是每个ISP /设备都以同样的方式处理这样的响应。 例如,一些DNS服务器随机轮换地址,或者始终循环地址。 有些只是传播第一个条目,另一些则通过查看IP地址来确定哪个是最好的(区域性的)。 但是,如果用户群足够大(分布在多个ISP等),则平衡得相当好。 从最高到最低的服务器差异几乎没有超过15%。 但是现在我遇到了一个问题,即我正在向系统中引入更多的服务器,并不是所有的服务器都具有相同的function。 我目前只有1 Gbps的服务器,但我想用100 Mbps和10 Gbps的服务器。 所以我想要的是我想介绍一个10 Gbps的权重为100的服务器,一个权重为10的1 Gbps服务器和一个权重为1的100 Mbps服务器。 我之前添加了两次服务器,为他们带来了更多的stream量(这很好,带宽几乎翻了一番)。 但是,向DNS添加一个10Gbps的服务器100次是有点荒谬的。 所以我想到了使用TTL。 如果我给服务器A 240秒TTL和服务器B只有120秒(这大约是用于循环的最小值,因为如果指定较低的TTL(所以我听说过),许多DNS服务器设置为120)。 我认为这样的事情应该发生在理想的情况下: First 120 seconds 50% of requests get server A […]
我使用的是Varnish 3.0.3(本文最新),或多或less地使用默认安装,使用以下内容进行存储: # # Cache file location VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin # # # Cache file size: in bytes, optionally using k / M / G / T suffix, # # or in percentage of available disk space using the % suffix. VARNISH_STORAGE_SIZE=4000M # # # Backend storage specification VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}" # 大部分可以caching的页面都会有很长的TTL。 我正在使用的网站是巨大的,并有数百万页,不能适应上面列出的存储大小(4 GB)。 设置的问题: 假设整个存储空间已满,高速caching中的任何内容都没有过期(我的TTL是caching中每个项目的两周)。 我假设禁令潜伏者在这里是无用的,因为它只会删除过期的项目,而没有任何过期。 问题: […]
如果有人访问您的DNS控制,并在您的域上设置了100年的TTL,同时将IP指向一些不起眼的网站,会发生什么? (当然你太晚了)
我将域名服务器从注册服务商迁移到dnsmadeasy.com,以便我们可以实现自动故障转移(除其他优点外)。 过去,我只是简单地将TTL值设置为1分钟(A分钟),以便在主服务器发生故障时,备份服务器几乎立即在线。 我发现低TTL的唯一问题是我们将有“更高的查询stream量”。 这是坏事吗? 相反,使用高TTL值有好处吗?