Przyspieszanie dostępu do grup dyskusyjnych

W wielu sieciach lokalnych ruch związany z dostępem do usługi grup dyskusyjnych stanowi znaczy procent ogólnego ruchu na łączu, szczególnie gdy nie jest ono szybkie, a użytkownicy są amatorami grup z hierarchii alt.binaries.*. Administratorom tych sieci z pomocą przychodzi aplikacja NNTPCache, zajmująca się lokalnym przechowywaniem artykułów z grup dyskusyjnych, plików ze spisem i opisami grup, a także rozdzelaniem ruchu pomiędzy wiele serwerów USENET.

Serwer NNTPCache dokładnie emuluje serwer NNRP oraz protokół NNTP, pozwalając na przezroczysty dostęp do artykułów. Posiada ogromne możliwości konfiguracji, łącznie z filtrami antyspamowymi, czy ograniczającymi dostęp do niechcianych grup. W wielu wypadkach stanowi doskonały substytut instalacji lokalnego serwera USENET, oszczędzając przy tym pasmo, przestrzeń dyskową oraz redukując obciążenie pamięci i procesora. Innym przykładem zastosowania może być działanie w roli loadbalancera rozdzielającego ruch na farmę prawdziwych serwerów grup dyskusyjnych.

Konfiguracja nie jest procesem złożonym. Pierwszym etapem jest oczywiście kompilacja, wykonywana podobnie jak w przypadku innych aplikacji. Następnie należy utworzyć katalog, w którym mają być przechowywane lokalnie artykuły. Właścicielem musi być użytkownik, z którego prawami będzie pracować nntpcached (zwykle jest to news). W tym momencie pozostaje jedynie dokonać edycji pliku nntpcache.config. Zawiera on szereg zmiennych, z których domyślne wartości znacznej większości są zadawalające dla typowego użytkownika. Naszą uwagę powinna zwrócić deklaracja overviewFmtInternal. Należy ją dostosować do wartości zwracanych przez komendę list overview.fmt wydaną na port 119 serwera NNTP, z którego mamy zamiar korzystać. Następnie należy wybrać użytkownika i grupę, z prawami których będzie działać cache. Służą temu zmienne user i group. Wbudowany serwer HTTP udostępniający statystyki pracy można spokojnie wyłączyć przy pomocy deklaracji httpServer no. Warte włączenia jest natomiast korzystanie z usługi ident, poprzez wpis rfc931 yes. Opcjonalnym krokiem jest zmiana ustawień dotyczących wymaganej ilości wolnego miejsca na dysku oraz zmniejszenie szczegółowości logów systemowych.

Plik nntpcache.access pozwala na szczegółową konfigurację dostępu do serwera cache. Wpisy są przetwarzane z góry do dołu, nie zatrzymując się na spełnionych regułach, chyba, że zastosowane słowo kluczowe quick. Każdy wpis zawiera deklarację hosta (ewentualnie użytkownik@host), zakresu grup oraz praw dostępu. Przy jego tworzeniu warto wziąć pod uwagę przytoczone w komentarzach przykłady. Autor używa następującej konfiguracji dostępu:

*                                       *               deny
lagoon.freebsd.lublin.pl                *               read,post
*.czuby.net                             *               read,post
*.gadaczka.org                          *               read,post
*                                       fido.*          post,deny
venglin@lagoon.freebsd.lublin.pl        fido.*          read,post

Zezwala ona na pełny dostęp z hosta lagoon.freebsd.lublin.pl oraz domen czuby.net i gadaczka.org. Grupy z hierarchii fido.* są dostępne do czytania dla wszystkich, wysyłać może jedynie użytkownik venglin.

Ostatnim plikiem konfiguracyjnym jest nntpcache.servers. Pozwala on na określenie używanych serwerów grup dyskusyjnych, a także zakresów grup przynależnych do nich. Przykład:

news.lublin.pl  DEFAULT         24h     4d      4d      30m     60d     60d
news.intercom.pl DEFAULT        24h     4d      4d      30m     60d     60d
%BeginGroups
*               news.lublin.pl
fido.*          news.intercom.pl

W powyższej konfiguracji, wszystkie grupy za wyjątkiem fido.* ściągane są z serwera news.lublin.pl, natomiast Fidonet obsługiwany jest przez news.intercom.pl. Druga kolumna jest deklaracją interfejsu sieciowego używanego do wychodzących połączeń. Zwykle nie trzeba jawnie go deklarować. Pozostałe stanowią czasy przechowywania lokalnych kopii plików: active, active.times, newsgroups oraz samych artykułów.

Dalsza konfiguracja może uwzględnić instalację filtrów spamu. W tym celu zalecam odwiedzenie strony projektu CancelMoose, jako, że ta funkcja jest realizowana przez zewnętrzny pakiet, a jego przystosowanie do warunków pracy jest nawet bardziej złożone niż samego nntpcache.

Pakiet nntpcache jest doskonałym rozwiązaniem zarówno dla dużych firm, jak i małych sieci amatorskich. Dzięki elastyczności konfiguracji, można pokusić się o nazwanie go "squidem dla USENETu". Niestety pewnym mankamentem jest rodzaj licencji, na której zasadach rozpowszechniana jest aplikacja -- wolne od opłaty jest użytkowanie wyłącznie w celach niekomercyjnych i edukacyjnych. Czytelników pragnących dokładniej zgłębić rozbudowane aspekty konfiguracji zapraszam na poniższe strony.





   http://www.nntpcache.org -- Oficjalna strona projektu nntpcache

   http://www.nocem.org -- Rozbudowany filtr spamu, współpracujący z nntpcache

Creative Commons License
Wszystkie materiały na mojej stronie dostępne są na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Na tych samych warunkach 2.5 Polska.