Feedburner wymaga IPv6

Od jakiegoś czasu w zadaniach do zrobienia miałem następujące zadanie związane z migracją bloga w nowe miejsce: poprawić RSS Feedburner. Teoretycznie to są trzy kliknięcia, ale przy próbie zmiany źródła feeda dostawałem niewiele mówiący komunikat:

An error occurred connecting to the URL: unknown error

W logach serwera brak jakiejkolwiek informacji połączenia, komunikat enigmatyczny, myślałem, że coś po stronie Google, jakiś cache, DNS, coś takiego. Chciałem nawet napisać do supportu, ale Feedburner nie posiada takowego – jak widać Google niezbyt dba o ten serwis. Są nawet głosy, żeby przenieść się z Feedburnera – może niebawem, póki co zostaje jak jest.

Sprawa była niezbyt pilna – tam gdzie mi zależało najbardziej, podałem bezpośredni URL do feedu RSS. Część ludzi ma jednak podany stary feed, tak też kieruje stary blog i zapowiadałem, że będzie on aktualny, więc wypadało naprawić.

Dziś zrobiłem test SSL i w oczy rzuciło mi się, że serwer słucha tylko na IPv4. Zamierzona zaszłość. Teoretycznie przy braku łączności po IPv6 w większości popularnych implementacji powinno nastąpić połączenie po IPv4 (mechanizm Happy Eyeballs), ale jak widać Feedburner tego nie robi i wymaga serwera słuchającego na adresie IPv6, jeśli tylko domena bloga posiada rekord AAAA.

Błędu nie zgłoszę, skoro Google nie chce. Poprawiłem konfigurację serwera, by słuchał na IPv6 i feed działa. W sumie mój błąd, że nie odpaliłem sniffera od razu przy diagnostyce, ale odrobinę lepszy komunikat błędu, np. connection to ADRES_IP failed wyjaśniał by wszystko.

IPv6 w 2016 – zmiany w tunelach

Pierwszego kwietnia SixXS wysłał do swoich użytkowników maila, w którym poinformował, że

We are now fully stopping accepting signups and tunnel & subnet requests.

Czyli że ograniczają świadczenie usług do istniejących klientów i usług. Decyzja jest motywowana brakiem czasu oraz tym, że część ISP uważa, że darmowe tunele IPv6 są dla nich alibi do nie wdrażania IPv6 swoim klientom końcowym.

Unfortunately it seems a large number of ISPs think that our service is
a free pass for them to not deploy IPv6, as they direct their (paying)
customers who want IPv6 to our service.

Trudno się z tym nie zgodzić. Wdrożenia IPv6 są rzadkością, także – czy może raczej: zwłaszcza – w Polsce (tu ciekawa prezentacja z Orange z komentarza do innego wpisu, dzięki za podrzucenie).

Piszę o tym z dwóch powodów. Po pierwsze, gogoNET ogłosił, że się zamykają:

After 5 years we are closing down gogoNET on April 23, 2016.  Freenet6 will continue to work for some time but we can’t guarantee for how long.

Po drugie, umknęła mi dość istotna akcja pt. zadzwoń do ISP po IPv6. Jest też uruchomiona wiki, gdzie można wpisywać co udało się osiągnąć w sprawie IPv6.

Nie jestem do końca przekonany, czy rewolucję należałoby faktycznie zaczynać od ISP, ale faktem jest polscy dostawcy treści nadal nie dystrybuują treści po IPv6 (brak rekordów AAAA, źródło ww. prezentacja), a IPv6 w większości przypadków jest poruszane jedynie od święta, na spotkaniach branżowych typu PLNOG.

Warto w tym momencie przypomnieć (nieco zbyt ambitne IMO) stanowisko prezesa UKE, zakładające, że końcowi użytkownicy otrzymają publiczne adresy IPv6 od stycznia 2012 (stacjonarni, mobilni rok później). Tymczasem otwarte pozostaje pytanie kiedy nadejdzie era IPv6?

To co, „zadzwonimy” do ISP? Wpisujcie na wiki i w komentarzach, co usłyszeliście. A cudzysłów, bo może być zgłoszenie emailem czy zapytanie w social media. Kto wie, czy to ostatnie nie jest najlepsze…

Automatyczne pobieranie kontaktu abuse dla domeny lub adresu IP

Zawsze miałem problem z szukaniem właściwego kontaktu abuse. No może problem to za dużo powiedziane, ale szukanie ręcznie, w hurtowych ilościach to nie jest nic ciekawego. Poza tym, jeśli chcemy zgłaszać automatycznie, to szukanie ręcznie odpada. A w danych whois były cuda, więc parsowanie tego byłoby wyzwaniem… Stosunkowo niedawno RIPE zrobiło jako taki porządek i pojawiły się pola abuse-c, ale już wcześniej znalazłem abusix i ich projekt Abuse Contact DB. Pozwala na wygodne odpytywanie o kontakty abuse przy pomocy DNS, więc szybko, prosto i wygodnie.

Trochę, żeby ułatwić życie kolegom, a trochę, żeby automatycznie zgłaszać nadużycia (np. próby włamań po SSH) ze swoich hostów, popełniłem funkcję w Perlu[1], która zwraca pierwszy email z listy, na podstawie ww. bazy. W międzyczasie zająłem się czym innym, znalazłem serwis, który rozwiązał temat automatycznego raportowania prób włamania. Temat więc trochę umarł. Przynajmniej do wczoraj/przedwczoraj, kiedy znalazłem ten wpis i dowiedziałem się, że najprawdopodobniej nikt nie powiadomił firm hostujących, plus zwykła ciekawość: a gdzie te skompromitowane hosty leżą? Z potrzeby chwili i własnej ciekawości skleciłem skrypt, który bierze domenę (czyli adres strony), sprawdza jego IP (dokładniej: rekord A) i ustala stosowny adres email do kontaktu z abuse.

Wynik działania dla domen .pl jest tu, a wynik działania dla całej listy tu. Skrypt jest zdecydowanie do poprawienia i rozwoju: w tej chwili nie zwraca nic przy braku kompletu danych, czyli brak obsługi błędów, jest wolny, bo działa sekwencyjnie, nie jest to czysty Perl, nie obsługuje IP (ani IPv6 czyli rekordów AAAA), grupowania domen/IP po kontakcie abuse (żeby nie słać wielu maili na ten sam adres) i wysyłki maili, ale leci na GitHuba. W ramach motywatora. 😉 Może kiedyś przyda się komuś, kto znajdzie jakiś malware…

TIL: istnieje oficjalne narzędzie w Pythonie, obsługujące bazę danych abuse; działa zarówno dla IPv4 jak i IPv6 (ale nie obsługuje domen). Generalnie robi to, co moja pierwotna funkcja w Perlu, tylko trochę lepiej. Mam wrażenie, że jak wtedy patrzyłem na tę stronę, to go nie było…

PS Z różnych źródeł wiem, że większe polskie hostingi są już powiadomione, nie ma potrzeby wysyłania maili. 😉 Warto natomiast zobaczyć, czy nie ma na liście strony własnej/znajomych – problem leży tak naprawdę po stronie użytkownika hostingu i  jego niezaktualizowanej aplikacji, więc tylko on może go tak naprawdę rozwiązać.

[1] Teraz widzę, że funkcja nie jest w czystym Perlu, tylko wywołuje zewnętrzny program host, poprawię wkrótce.

NLNOG RING – zdiagnozuj sobie sieć

Odwieczny problem administratorów sieci to mogę sprawdzić trasę od siebie do danego hosta, ale jak wygląda w drugą stronę? Próbą rozwiązania tego zagadnienia były looking glass, pozwalające na wykonanie od określonego operatora ping czy traceroute. Czasem potrzeba jednak czegoś więcej – sprawdzenia resolvowania DNS, zbadanie stabilności transferu itp. Ogólnie przydałby się shell.

Projekt NLNOG RING jest odpowiedzią na to zapotrzebowanie. Opiera się na prostej zasadzie wzajemności: udostępniamy maszynę wirtualną (administrowaną przez opiekunów projektu) dla projektu, w zamian otrzymujemy dostęp do pozostałych maszyn projektu, w różnych częściach świata i – co ważniejsze – w wielu różnych ASN.

Wymagania co do maszyny są naprawdę niewielkie – 1 GB RAM, 20 GB dysku, 1 core 64bit procesora, adresy IPv4 oraz IPv6. Musi stać w naszym AS i na naszej adresacji. Myślę, że w tej chwili większość operatorów, nawet niewielkich sieci radiowych jest w stanie sprostać. Pozostałe wymagania stawiane organizacji (usługa jest kierowana do firm) to m.in.: bycie operatorem sieciowym, własne ASN, prefiksy IPv4 i IPv6, zgoda organizacji na uczestnictwo w projekcie.

Możliwe jest zarówno połączenie po SSH do wybranej maszyny, jak i wykonywanie, przy pomocy dostępnych narzędzi, operacji na wszystkich maszynach projektu jednocześnie. Generalnie potrafi bardzo pomóc w diagnostyce.

Projekt działa od wielu lat, ale dziś dowiedziałem się, że nawet w środowisku sieciowym niekoniecznie jest znany, więc uważam, że warto przypomnieć o jego istnieniu. Teoretycznie istnieje ryzyko nadużyć, ale użytkownikami są administratorzy sieci, polityka to zero tolerancji dla nadużyć i nie kojarzę jakichkolwiek problemów związanych z udostępnianiem maszyny. Korzystałem, polecam.

IPv6, where are you?

Przypadkiem wpadłem na pomysł sprawdzenia statystyk dotyczących programu certyfikacji IPv6 prowadzonego przez Hurricane Electric. Okazało się, że od ostatniego sprawdzenia minęły prawie równo trzy lata. Dla przypomnienia, tamtego wpisu:

Szczerze mówiąc, myślałem, że Sage jest więcej, szczególnie, że sporo spotkałem na IRCu. Tymczasem na PLNOG dowiedziałem się, że jest raptem 87 osób w Polsce i ok. 4600 na całym świecie.

A po trzech latach? 10600 sages na świecie, 224 w Polsce. Szału nie ma, delikatnie mówiąc, biorąc pod uwagę okoliczności. Firmy radzą sobie bez IPv6, np. niektórzy ISP w Polsce zaczęli po cichu ładować klientów za NAT. Praktyka, co do której mam mieszane uczucia – z jednej strony typowy klient indywidualny niby nie potrzebuje publicznego IP, z drugiej strony pewne rzeczy działają lepiej z publicznym IP, więc powinien mieć możliwość uzyskania go, jeśli ma takie życzenie.

Oczywiście, pytanie na ile można traktować program certyfikacji HE za miarodajny. Jakiś miernik zainteresowania tematem to jest. Zresztą, postanowiłem sprawdzić „do drugiej strony”, czyli ile stron z najpopularniejszych w Polsce wg rankingu Alexa dostępnych jest po IPv6. Popularne w Polsce nie oznacza stron polskich, ale mniejsza z tym. Z pierwszej setki najpopularniejszych adres IPv6 posiada (zakładam, że jak adres jest, to serwis na nim działa) 14 sztuk, konkretnie są to, wg popularności:

  • Google.pl
  • Facebook.com
  • Google.com
  • Youtube.com
  • Wikipedia.org
  • Blogspot.com
  • O2.pl
  • Pudelek.pl
  • Kwejk.pl
  • Home.pl
  • Bezuzyteczna.pl
  • Xhamster.com
  • Gratka.pl
  • Naszemiasto.pl

Ale portale takie jak allegro.pl, onet.pl, wp.pl, gazeta.pl czy interia.pl są dostępne tylko po IPv4.