On Mon, 10 Oct 2011 09:27:28 +0100, Bartek Swedrowski bartek@idk.net.pl wrote:
A ja zrobiłem to jeszcze inaczej - nie chcieliśmy wszystkiego puszczać przez Squida jako że takowego nie mieliśmy i nie chcieliśmy mieć w sieci. Kolejna rzecz do pilnowania - po co.
Regułki DNAT przy ok 1000 klientów zaczynają robić się dosyć męczące i ciężkie do jakiegokolwiek debuggingu.
Za to od razu mieliśmy serwery DNS w sieci, do których dodaliśmy kolejny "view" do którego kierowane są zapytania tylko z adresów IP klientów którzy mają włączone powiadomienia. Lista IPeków to nic innego jak plik
tekstowy
który jest includowany i regenerowany co 5 min na podstawie 1 zapytania SQL.
Oczywiście od razu widać tutaj duży minus - w zależności od rekordów TTL
i
co jest zcachowane po stronie klienta, klienci nie od razu zobaczą powiadomienia - zależy jakie strony oglądają bądź jakie rekordy odpytują (też teoretycznie inne usługi mogą przestać działać, np. poczta jako że przykładowo rekord imap.gmail.com ma tylko 300 sekund TTL). Ale w praktyce działa to bardzo fajnie, przede wszystkim "strona" z powiadomieniem nie jest DoSowana w momencie w którym wyślesz powiadomienia do klientów a ludzie którym coś tam przestaje działać, od razu sprawdzają czy coś w przeglądarce działa i widzą powiadomienie. Klikają "przeczytałem" i dostają licznik czasu w dół od 5 minut - bardzo efektowany "wkurzacz" podbijający termin płatności ;-)
A klient ustawi sobie dns-y google 8.8.8.8 i 8.8.4.4 i powiadomienie nie będzie działać :-)