2011-08-22
by Vasil KolevДнес беше ден за първи проблем около подкарването на ipv6 в лаба. Проявяваше се в забавяне на зареждането на сайтове за първи път. Оказа се комбинация от странни локални конфигурации и dns…
По принцип при http request към сайт, за който не се знае какво му е IP-то, стандартно се прави AAAA request, ако той върне грешка, се прави А request. Така забавянето е горе-долу едно RTT (м/у клиента и dns сървъра), което не се забелязва. Обаче, ако имате конфигуриран локален domain (който се казва само ‘local’) и в /etc/resolv.conf имате ‘search’ за него, или (като в нашия случай) hostname, което е ‘hostname.local’, то между предните две стъпки има и още една, да се опита да намери AAAA запис за www.site.com.local. Това пак не би трябвало да е такъв проблем, ако имаше някакъв nameserver, който бързо да отговори, че няма такова нещо, но в случая такъв няма и за всяко такова нещо се ходи до root server-ите, което от своя страна води до няколко-секундни забавяния.
Решението беше просто – махане на ‘search local’ от resolv.conf и оправяне на hostname (което по принцип не би трябвало да съдържа ‘.’, на теория има domainname с тая цел).
Подкарах още нещо забавно, да се tweet-ва, когато някой отвори вратата и да пише кой, ако човекът е казал, че може (т.е. ако има mapping м/у номера му и twitter username. Дразнещо лесно се оказа – подаване на номера, нормализация (s/^0*//;s/^1359//;s/^359//), един grep в текстов файл и едно викане на twidge.
(днес имаше проблем с jabber-а на ludost.net с invalid dialback key, който се оправи при рестартиране на ejabberd-тата на двете машини. Обмислям инструментариум за debug-ване на тия проблеми за в бъдеще…)
September 1st, 2011 at 11:36
Относно gatekeeper-а:
http://blog.jdpfu.com/2011/05/15/why-crooks-love-facebook-and-twitter