Własny DNS cache jako lekarstwo na problemy z siecią

Jest powiedzenie, że nowe to dobrze zapomniane stare. Tak jest w przypadku DNS i ataków różnej maści. Niedawno głośno było o DDoSach z użyciem DNS amplification, potem o podmianie DNS (głównie na routerach, nie jak kiedyś na komputerach, ale cel ten sam), a od niedawna popularne stało się generowanie dużej ilości zapytań do serwerów DNS rekursywnych ISP (AFAIK też ostatecznie rodzaj DDoSu). Na tyle dużej, że niektórzy operatorzy mieli/mają problemy z obsłużeniem żądań pochodzących od swoich klientów na swoich serwerach cache’ujących.

Z różnych pokątnych źródeł (Facebook, IRC) wiem, że pierwszego dnia, gdy się to zaczęło, były problemy z dostępem do Internetu w sieciach należących do Inei i Multimedii. Nie znam przyczyny, ale biorąc pod uwagę, że jeszcze jednemu providerowi „kończyły się” maszyny obsługujące rekursywne DNS i że w przypadku Multimedii pomagała zmiana w systemie na np. serwery DNS Google, przypuszczam, że chodzi właśnie o niewydolność serwerów DNS dostarczanych użytkownikom tych sieci przez ISP.

Rozwiązanie jest dość proste – wystarczy uruchomić swój serwer DNS rekursywny lub forwarder na desktopie czy routerze w swojej sieci, by sieć zaczęła działać lepiej i być mniej zależna (lub nawet niezależna) od DNSów naszego ISP. Ja na swoich desktopach (oczywiście Linux) od dłuższego czasu mam uruchomionego unbound (pokłosie benchmarków DNS) – jest lekki i bezproblemowy. W obecnej sytuacji mamy podwójną korzyść z własnego cache: po pierwsze, jak zwykle odpowiedzi udzielane będą nieco szybciej[1], po drugie, uniezależniamy się od serwerów naszego ISP, który w związku z niewesołą sytuacją w sieci może mieć problemy z działaniem w ogóle.

Z kolei w przypadku sieci lokalnych i routerów sprzętowych działających pod kontrolą OpenWrt lub podobnego systemu warto zwrócić uwagę na mały i zgrabny dnsmasq, którego konfigurację opisywałem kiedyś dość dokładnie.

Niezależnie od wyboru, koniecznie pamiętajmy o zabezpieczeniu czyli poprawnej konfiguracji naszego serwera DNS. Obsługujmy zapytania rekursywne tylko z naszej zaufanej sieci (np. LAN). W przeciwnym razie nasz serwer może zostać wykorzystany do DDoS poprzez DNS amplification. Ograniczać można na wiele sposobów w zależności od użytego serwera i możliwości: firewall, ograniczenie nasłuchiwania do konkretnego interfejsu lub definicje obsługiwanych prefiksów w konfiguracji samego serwera.

[1] Nie zawsze jest to prawdą, liczy się nie tylko opóźnienie do serwera, ale także zawartość jego cache czy wydajność sprzętu, na którym działa. Pisałem kiedyś szerzej o wyborze serwera DNS.

Koniec konta w dyndns.com

Usługa dyndns w dyndns.com – czyli chyba najpopularniejszego dyndns w ogóle; pamiętam, że nawet w niektórych routerach w swoim czasie był wbudowany i to w firmware producenta – od dawna zmierzała do tego, by być płatną. A to skończyły się rejestracje nowych darmowych kont, a to wprowadzono wymóg korzystania z kont, a to – ostatecznie – wymóg logowania się przez WWW raz na miesiąc.

Ponieważ aż cały miesiąc na zalogowanie był, to stwierdziłem, że zawsze zdążę. Tym bardziej, że przysyłali powiadomienia parę dni wcześniej. I wystarczyło kliknąć linka. Więc nawet nie ustawiłem crona, który sam by się logował – w końcu link taki wygodny… O koncie płatnym nie myślałem – 15 dolców na rok to trochę dużo jak za „zamień zmienne IP na coś możliwego do zapamiętania”. Jakąś dotację co łaska (np. via Flattr) pewnie bym rzucił, ale tak z góry narzucona opłata – niekoniecznie, tym bardziej, że mogę sobie odpalić własny zastępnik w jakieś 30 minut. No ale nie lubię takich rzeźb i wolę coś, co jest wspierane szerzej i ma już infrastrukturę.

Dziś stwierdziłem, że nie mogę się zalogować. Błąd rozwiązywania nazwy. Hm, bywa, może awaria. Potem coś mnie tknęło. Sprawdziłem maile. Tak jest. 30.10 dostałem przypomnienie. Oczywiście zostało oznaczone jako spam przez providera poczty, w programie pocztowym, a pewnie i podświadomie angielski tytuł sklasyfikowałem jako spam.

W każdym razie nie mam już konta na dyndns.com. W zamian wybrałem no-ip.com. Też zasłużony w temacie serwis, też zdaje się był na routerach SOHO wspierany. I też mocno zmierzający w stronę komercji, ale nie przejmuję się – rejestracja tego typu serwisu plus setup to dosłownie 5 minut. No i w końcu uruchomiłem też dyndns na moim OpenWrt.

Niezbyt łatwo znaleźć przykłady konfiguracji ddclient dla no-ip.com (choć jest trywialna, a protokół noip wbudowany), więc:

cat /etc/ddclient.conf
pid=/var/run/ddclient.pid
protocol=noip
use=if, if=ppp0
login=login
password=haslo
domena.no-ip.biz

Wersja dla Dockstara z PPPoE, publiczny IP na ppp0.

PS Wpisu by nie było, ale ładnie wpisuje się w trend „używałem tego od lat, a teraz zamknęli„.

UPDATE Z tym ddclientt to pochwaliłem za wcześnie. Nie tylko nadal występuje coś, co miało miejsce od dawna, czyli obecność wiszących procesów ddclient, ale – co gorsza – przyrastają w zastraszającym tempie. Load 30 na biednym routerku był dziś za ich przyczyną. Ledwo zdołałem ubić. Sam ddclient okazał się skryptem w Perlu (przychodzi mi na myśl taki rozwinięty smsender.pl), a rozwiązanie jest proste – nie korzystam już z demonizacji, tylko wywołuję co 10 minut z crona. Okazało się, że ma jakiś problem z cache, a konkretnie z odczytem wartości z niego. Rozwiązanie wygląda tak (po wyłączeniu demonizacji w /etc/default/ddclient):

*/10 * * * * /bin/rm /var/cache/ddclient/ddclient.cache; /usr/sbin/ddclient -quiet > /dev/null

Wiem, dirty hack. Ostatnio mam niestety tendencję do tego. Przyznam, że myślałem w pierwszej chwili o cyklicznym killowaniu procesów ddclient.

UPDATE: Wygląda, że albo z tym wyłączaniem usług to ściema, albo coś im nie poszło – dostaję kolejne maile z linkami, których kliknięcie aktywuje konto. Nie sprawdzałem działania, ale wygląda, że mogę dodawać kolejne hosty i normalnie dalej korzystać za free. Raczej ciekawostka, bom już przeniesiony.

Społecznościowo mniej

Mikroblogi

Jakiś czas temu zamknęli Blipa. Parę opcji chodziło mi po głowie, w tym ta, że nigdzie się nie przenoszę AKA wszystko idzie do /dev/null. Przynajmniej w kwestii bieżącego dostępu, jakiś backup pewnie bym zrobił. Ostatecznie przeniosłem się na Blablera. Pewne cechy serwisu[1] i zdarzenia[2] skłoniły mnie do przemyślenia sensu posiadania tam konta. Wniosek jest taki, że konta nie kasuję, ale nowych wpisów raczej nie będzie[3], proponuję też nie próbować kontaktować się tamtą drogą, bo czasem zerkam, ale raczej rzadko i raczej przez jabbera, a podświetlanie składni mam pod bota blipowego, więc nie działa. Od dłuższego czasu mam też – praktycznie nieużywane – konta na Twitterze i identi.ca., teraz dołącza do nich Blabler. Tyle w kwestii μblogów.

Portale

Grono, pierwszy portal społecznościowy na którym miałem konto, zdechło dawno temu i zostało przerobione adresy do wysyłki spamu[4].

Nasza Klasa chyba zdechła. W sumie nie wiem, od czasu zmiany licencji (której nie zaakceptowałem) nie logowałem się. Trochę szkoda, bo z ludźmi z liceum był tam naprawdę dobry kontakt i nawet się spotkaliśmy kiedyś, a na FB jakoś mniejszość się przeniosła.

Facebook to złodziej czasu porównywalny z telewizją. Główna przewija się, przewija, nie końca ani sztywnego punktu zaczepienia[5]. Dominują treści wtórne, powtarzające się, płytkie i chwilowe. Fotka, demot, dobrze, jeśli jest to ciekawy link, co czasem się zdarza. OK, czasem coś ciekawego pojawi się w komentarzach, ale nawet wtedy jest to doskonale ulotne. Nawet porządnej wyszukiwarki nie ma. Z drugiej strony ludzie reagują na treści pojawiające się na FB. W sumie znowu analogia z telewizją, bo na te pojawiające się w TV też reagują.

Wydaje mi się też, że Facebook przekroczył apogeum popularności w naszym krajui. Niedawno podczas wakacji słyszałem rozmowę dwóch osób, w której jedna mówiła, że ma tam konto, ale w sumie nie wie po co, a druga jej wtórowała, że nawet się nie loguje. Jasne, nie oznacza to końca serwisu, ba, pewnie liczba użytkowników będzie nawet rosła, ale o czymś świadczy.

Niedawno, czekając na podłączenie netu[6] zrobiłem sobie nie do końca dobrowolny odwyk od FB. Czy coś straciłem? Jedna potencjalnie ważna informacja mi umknęła. I w sumie była na normalnej stronie i gdybym się nie przyzwyczaił do podtykania wszystkiego pod nos na FB, to bym nie przegapił. Przy czym i tak kolizja czasowa, więc w sumie nic się nie stało.

Również nie tak, że całkiem z FB rezygnuję, ale zaglądać będę rzadziej. Raz czy dwa razy w tygodniu rzut oka, głównie na powiadomienia. Taki jest prawdopodobny wariant.

Co w zamian?

Zostaje ten blog. W ogóle blogi są dobre[7]. Jakoś tak się składa, że większość ludzi na μblogach, których chciałbym czytać, ma też normalne blogi. I jakby bardziej interesujące wpisy. Cóż, brak ograniczenia formy sprzyja lepszemu wyrażaniu myśli.

Do małych wpisów myślę o plum.me (czyli drugim forku po Blipie), ale to raczej na zasadzie loga, bez integracji społecznych. Zresztą, plum.me wymaga sporego rozwoju do tego, żeby był używalny. Znaczy mi to akurat wystarczy w tym przypadku możliwość dodawania wpisów jabberem, ale parę innych rzeczy też by się przydało.

Myślałem też o osobnym blogu pod krótkie wpisy. Czemu nie osobna kategoria, po prostu? Bo poziom marudzenia i nudy mógłby być nieznośny. Poza tym, byłby pretekst do zabawę inną platformą. 😉

UPDATE: W kontekście sieci społecznościowych czy też web 2.0 warto jeszcze zajrzeć na tę notkę. Sprzed pięciu lat. Wpadła mi w ręce parę lat temu (chociaż mam wrażenie, że już kiedyś ją widziałem) i stwierdzam, że pasuje w kontekście.

[1] Np. brak możliwości łatwego backupu czy ilość zmigrowanych ludzi.
[2] Np. działania twórcy, który backupu nie da, błędu (it’s not a bug…tak, tak) nie poprawi, ale na utrudnienie szukania rozwiązania kwestii backupu przez wprowadzenie limitu częstotliwości zapytań (429) to owszem, czas znajdzie…
[3] Chyba, że jakaś propaganja w postaci linka, który chciałbym, żeby dotarł do możliwie szerokiego grona mniej i bardziej znajomych. Jak ten wpis.
[4] Legalnego mailingu, powiedzmy. O tyle słabe, że linki do wypisania nie są już aktywne. Poczekam na coś świeżego, by się wypisać, a potem to już tylko spamcop…
[5] Głównie dlatego nie korzystałem z FB w pracy. Parę razy potrzebowałem jakieś dane i loguje się człowiek po jednego linka, a wychodzi z otchłani 5 minut później.
[6] Aero2 w Poznaniu w godzinach szczytu to parodia dostępu do internetu. Nie jestem pewien, czy wiedzą, jaką antyreklamę robią sobie i netowi mobilnemu, zwł. LTE w ten sposób. Bo skoro marne 512 kbps nie działa, to czego spodziewać się przy niby wyższych prędkościach?
[7] Zwłaszcza jeśli nie wymagają logowania w celu pozostawienia komentarza i mają powiadomienia o komentarzach mailem/jabberem.