# ISP-Hookup-HOWTO czyli jak przyłączyć Linuxa do Internetu

## Egil Kvaleberg, egilk@sn.no
vs.23, 9 December 1996
Wersja polska: Piotr Pogorzelski piotr.pogorzelski@ippt.gov.pl
w1.0, luty 1997

Informacje tutaj zawarte mają pokazać w jaki sposób przyłączyć Linuxa do usług oferowanych przez dostawcę Internetu przy wykorzystaniu połączenia modemowego. Przedstawiono podstawy procedury dzwonienia, zestawiania połączenia protokołem IP oraz obsługi poczty elektronicznej i nowinek (news).

## 1. Wprowadzenie

Ten opis powstał aby odpowiedzieć na kilka pytań związanych z konfiguracją Linuxa umożliwijącą dzwonienie do dostawcy Internetu (ISP) i korzystanie z dostarczanych przez niego usług.

Aby wspomóc te osoby, które będą podłączały swego Linuxa do ISP po raz pierwszy, postarmy się przedyskutować większość napotkanych problemów. Nie unikniemy niestety pewnego nałożenia się tematyki tego dokumentu z innymi dokumentami JTZ (HOWTO) lub ksiązkami LDP. Postaramy się odwoływać do tych dokumentów aby zapewnić lepsze zrozumienie problemu i dokładniejszą informację.

Większość istniejącej dokumentacji jest pomyślana pod kątem użytkowników z pewnym doświadczeniem, początkującym użytkownikom może sprawiać sporo kłopotu wyłowienie odpowiedniej informacji.

Aby ułatwić sobie życie, w prezentowanych dalej przykładach przyjęto następujące założenia:

- User name (identyfikator użytkownika): `dirk`
- Password (hasło): `PrettySecret`
- Internet service provider (ISP): `acme.net`
- Email server (serwer pocztowy) : `mail.acme.net`
- News server (serwer nowinek): `news.acme.net`
- Name server (serwer DNS): `193.212.1.0`
- Phone number (numer telefonu): `12345678`

Nasz `dirk` bedzie nazywał swój komputer `roderick`.

Wszystkie odnośniki w tabeli powyżej powinny zostać zastąpione przez jakiekolwiek odpowiednie inforamcje dla twojego przypadku. Zwykle potrzebne są niewielkie zmiany w przypadku korzystania z innego dostawcy internetu.

## 1.1 Nowe wersje tego dokumentu.

Nowe wersje tego dokumentu będą okresowo wysyłane do pl.comp.os.linux.answers. Bedą również umieszczane w różnych archiwach ftp i WWW włączając:

`ftp://sunsite.icm.edu.pl/pub/Linux/docs/HOWTO`

Najnowszą wersję tego dokumentu można będzie znaleźć pod adresem

`http://www.jtz.org.pl/Html/ISP-Hookup-HOWTO.pl.html`

## 1.2 Uwagi

Wszelkie poprawki błędów, informacje dodatkowe, uwagi krytyczne i inne proszę kierować na adres

`piotr.pogorzelski@ippt.gov.pl`

## 1.3 Żadnych gwarancji

Żadnych gwarancji. Nie ponosimy żadnej odpowiedzialności za jakiekolwiek wykorzystanie informacji zawartych w tym dokumencie. Jest to jedna z pierwszysch wersji i istnieje możliwość, że przedstawione inforamcje nie są prawidłowe.

Przedstawiamy jedną z wielu możliwych konfiguracji. W świecie Linuxa zawsze jest wiele metod zrealizowania określonego zadania. Paragrafy zawierające wskazówki dla rozwiązań alternatywnych oznaczyliśmy tak:ALT: Również podawane odnośniki do serwerów FTP i WWW mogą stać się nieaktualne, wraz z pojawieniem się nowszych wersji programów.

Większość opisywanych programów jest dotępna wraz z kodem źródłowym na licencji GNU lub podobnej.

## 1.4 Informacje o prawach autorskich

Prawa utorskie należą do (c)1996 Egil Kvaleberg (tłumaczenie (c)1997 Piotr Pogorzelski). Dokument jest dostępny pod następującymi warunkami:

- Dokumenty Linux-HOWTO mogą być powielane i dystrybuowane w częsci lub całości, na dowolnym nośniku, fizycznym lub magnetycznym, tak długo jak nieniejsza notka o prawach autorskich jest umieszczona na wszystkich kopiach. Pozwalamy, a nawet zachęcamy do komercyjnej dystrybucji, jednakże autor chiałby uzyskać informacje o tym fakcie.
- Wszelkie tłumaczenia i dokumenty powstałe na podstawie tego dokumentu muszą podlegać tem samym warunkom. To znaczy, że nie można nakładać dodatkowych ograniczeń na wszelkie dokumenty, które powstały na podstawie niniejszego tekstu. Możliwe są wyjątki od tej reguły; proszę skontaktować się z koordynatorem Linux HOWTO (adres podany poniżej).
- Jeśli masz jakieś pytania, proszę skontaktuj się z Gregiem Hankinsem,koordynatorem projektu Linux HOWTO:

`gregh@sunsite.unc.edu` Numer telefonu i adres pocztowy mozna uzyskać poleceniem finger.

## 2. Jak mogę się połączyć z resztą świata?

Zakładamy, że zostało zainstalowane niezbędne oprogramowanie sieciowe (np. podstawowe pakiety serii N w dystrybucji Slackware) i już wiesz, który port szeregowy jest wykorzystywany przez twój modem.

Domyślna konfiguracja pozwala na bezpośreni dostęp do urządzenia `/dev/modem` jedynie administratorowi (użytkownik `root`).

Aby połączyć się z ISP i uzyskać tam dostęp do powłoki (interpretera poleceń) można skorzystać z programu `minicom`. Jest bardzo prosty i intuicyjny w użyciu.

## 2.1 Konfiguracja podstawowa

Konfigurację komputera do pracy sieciowej musimy przeprowadzić jako `administrator (root)`. Zanim zaczniesz robić coś więcej upewnij się, że plik `/etc/hosts.deny` zawiera nastpujący wiersz

> `

>     ALL: ALL

> `

Zwykle nie masz nic przeciwko korzystaniu przez siebie z komputera, dodaj więc dodatkowy wiersz do `/etc/hosts.allow`: ALL: LOCAL lub jeśli się upierasz

> `

>     ALL: 127.0.0.1

> `

W ten sposób zabezpieczasz się przed dostępem do twojego komputera z internetu, w tych rzadkich chwilach kiedy jesteś do niego pezpośrednio połączony przez PPP lub SLIP. Przedstawione poniżej inforamcje dotyczą połączenia PPP z dynamicznym przydziałem adresu IP. Jeśli korzystasz z linii dzierżawionej, napotkasz na pewne różnice.

Przyjemnie jest mieć komputer o ładnej nazwie. Użytkownicy korzystający z dynamicznie przydzielanych adresów IP mogą zupełnie dowolnie wybrać nazwę swego komputera. Jeśli już się na jakąś zdecydowałęś umieść ją w pliku `/etc/HOSTNAME`:

> `

>     roderick

> `

Kolejnym krokiem jest skonfigurowanie dostępu do serwera nazw (serwera DNS), czego dokonujemy odpowiednio modyfikując plik `/etc/resolv.conf`:

> `

>     search .
>     nameserver 193.212.1.0

> `

Serwer nazw mnusi byc określony przez numer IP, który jest rózny dla każdego dostawcy internetu (ISP). Jeśli jest to konieczne można podać trzy róne srwery nazw. Będą przepytywane w kolejności w jakiej występują w pliku.

Jeśli chesz miec możkiwość korzystanie z krótkich nazw np. `jakiśkomputer` jako skrótu dla `jakiśkomputer.acme.net`, musisz zmienic pierwszy wiersz pliku `/etc/resolv.conf` dodając:

> `

>     search acme.net

> `

Wymagane jest również minimalne skonfigurowanie pliku `/etc/hosts`. W większości wypadków wystarczy aby zawierał:

> `

>     127.0.0.1 localhost
>     0.0.0.0   roderick

> `

Ci, którzy korzystają ze stałego adresu IP (linia dzierżawiona) oczywiści zastąpią nim podane przez nas 0.0.0.0.

Podobne minimalna zwartość `/etc/networks` wygląda następująco:

> `

>     loopback  127.0.0.0
>     localnet  0.0.0.0

> `

Należy również ustalić nazwę zewnętrznej domeny pocztowej i umieścić ją w pliku `/etc/mailname`:

> `

>     acme.net

> `

Identyfikator użytkownika i hasło konta u dostawcy, musi być zapisane w `/etc/ppp/pap-secrets`

> `

>     dirk * PrettySecret

> `

Jeśli dostawca ISP zamiast protokołu PAP używa CHAP, właściwa nazwa pliku jest następująca `/etc/ppp/chap-secrets`.

I na koniec, zanim zostanie uruchomione PPP musimy zdefiniować procedurę połączenia. Robimy to umieszczając anstępujące inforamcje w pliku `/etc/ppp/chatscript`:

> `

>     TIMEOUT 5
>     "" ATZ
>     OK ATDT12345678
>     ABORT "NO CARRIER"
>     ABORT BUSY
>     ABORT "NO DIALTONE"
>     ABORT WAITING
>     TIMEOUT 45
>     CONNECT ""
>     TIMEOUT 5
>     "name:" ppp

> `

Może okazać się konieczne dopracowanie sczegółów. Numer telefonu w trzecim wierszu musi byc oczywiście zmieniony. Być może, niektórzy powinni zamienić sposób inicjownaia modemu `ATZ` na coś bardziej wyrafinowanego, zależnie od rodzaju posiadanego modemu. Ostatni wiersz oznacza, ze oczekujemy zachęty `name:` na którą odpowiadamy `ppp`. Inne systemy/dostawcy mogą mieć inne procedury wchodzenia do systemu.

Aby faktycznie zainicjować połączenie i protokół ppp naeży wydać następujące polecenie:

> `

>     exec pppd connect \
>          'chat -v -f /etc/ppp/chatscript' \
>           -detach crtscts modem defaultroute \
>           user dirk \
>           /dev/modem 38400

> `

Powinniśmy być w tej chwili połączeni aż do momentu, kiedy program pppd zostanie zabity przez Ctrl-C. Wszelkie komunikaty dotyczące zestawiania połączenia mozna znaleźć w plikach w katalogu /var/log. Aby je odczytać spróbuj wykonać polecenie:

> `

>     tail /var/log/messages

> `

Tak długo jak PPP jest aktywne, posiadasz bezpośredni dostęp do Internetu możesz korzystać z takich programów, jak ftp, ncftp, rlogin, telnet, finger itp. Wszystkie te programy powinny być cześcią pakietów sieciowych (uprzednio przez ciebie zainstalowanych, patrz początek dokumnetu).

Więcej informacji na temat PPP jest dostępne w PPP-HOWTO i plikach:

`/usr/lib/ppp/README.linux`

`/usr/lib/ppp/README.linux-chat`

Na koniec uwaga na temat bezpieczeństwa. Plik `/etc/inetd.conf` zawiera listę wszystkich usług jakie twój komputer oferuje na zewnątrz. Po zmianach jakie wykonaliśmy w pliku `/etc/hosts.deny` dostęp z zewnątrz do twego komputera nie jest możliwy. Ci, którzy tego potrzebują, muszą uzyskać na to pozwolenie, pozwolenie musi być wydane przez zmodyfikowanie pliku `/etc/hosts.allow`. Pozwolenie na ruch lokalny wymaga dopisania:

> `

>     ALL: LOCAL

> `

Wiecej informacji uzyskarz w podręczniku, patrz `man 5 hosts_access`.

I ostania mała uwaga: Istnieje małe nieporozumienie związane z nazewnictwem protokołów POP. Definicja w pliku `/etc/services` zgodna niemal ze wszystkim wygląda nastepująco:

> `

>     pop2      109/tcp   pop-2          # PostOffice V.2
>     pop3      110/tcp   pop-3 pop # PostOffice V.3

> `

ALT: Zamiast programu `chatscript`, można korzystać z lepszego, dającego większą swobodę `dip`. Ale razem z programem `diald`.

ALT: Ci sczęśliwcy, którzy mają stałe połączenie TCP/IP przez np. kartę Ethernet mogą całkowicie zignorować wszystko co było pisane na temat PPP i zacząć się uczyć jak skonfigurować swoją kartę sieciową.

ALT: Inni mogą nie mieć możliwości korzystania z PPP, lecz mają do dyspozycji SLIP, który jest obsługiwany w podobny sposób co PPP. Inna możliwością, którą należy rozważyć jest UUCP. Jescze inni mogą polegać na wymianie nowinek i poczty za pomocą SOUP. Opis tego ostatniego przypadku można znaleźć w:

`ftp://ftp.sn.no/user/bjorn/Linux-offline.tgz`

Kolejnym rozwiązanie m jest program TERM, patrz Term-HOWTO.

## 3. A co z WWW?

Jeśli uważasz, ze w WWW najważniejszy jest tekst, możesz chcieć skorzystać z przeglądarki Lynx. Można ją znaleźć pod adresem:

`ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/lynx-2.3.bin2.tar.gz` ( Ostatnia znana wersja to 2.6. Zwykle kazda dystrybucja posiada Lynxa, wystarczy go wiec zainstalować tak jak inne programy)

Jeśli posiadasz zainstalowane X Window, możesz skorzystać z wielu przeglądarek graficznych. Chimerę możesz znaleźć w:

`ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/chimera-1.65.bin.ELF.tar.gz`

`http://www.unlv.edu/chimera/`

Mosaic:

`ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/Mosaic-2.7b1-aout.tgz`

`ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6`

Mozilla (Netscape):

`ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape-v11b3.tar.gz`

`ftp://ftp.cs.uit.no/pub/www/netscape`

przeglądarki się cały czas zmieniają, cały czas są dostępne coraz to nowe ich wersje.

Korzystanie z nich podlega pewnym warunkom. Zapoznaj się z nimi.

## 4. Jak wysłać i otrzymać pocztę?

Po pierwszes sprawdz, czy zainstalowny jest `sendmail`. (jesli uzywasz Debiana, uważaj. Debian uzywa smail'a nie sendmail'a). Sendmail sortuje wewnętrzną i wychodzącą pocztę, buforuje wychodzące listy do momentu kiedy może je przesłać dalej.

Sendmail bazuje na pliku konfiguracyjnym `/etc/sendmail.cf`. Przykładowy plik konfiguracyjny, dobry dla użytkowników korzystających z usług prowajdera internetu mozna znaleźć w:

`ftp://ftp.sn.no/user/egilk/sendmail.cf` Ten z kolei wymaga zinstalowania programu procmail, lub może być łatwo zmieniony, tak aby wykorzystywał program deliver.

Oczywiście konieczne jest posiadanie oficjalnej domeny dla poczty wychodzącej na zewnątrz, coś co jest określone w `/etc/sendmail.cf`:

> `

>     # who I masquerade as (null for no masquerading)
>     DMacme.net

> `

Taka konfiguracja zakłada, ze lokalnie na komputerze korzystasz z takiego samego identyfikatora, jak u dostawcy. Jeśli tak, to sendmail jest już skonfigurowny do przesyłania poczty bezpośrednio do adresata. Aby uniknąc długotrwałych powtarzających się połączeń z komputerem odbierającym pocztę wygodnie jest korzystać z komputera prowajdera jako bufora. Włączamy to modyfikując opcję DS w pliku /etc/sendmail.cf:

> `

>     # "Smart" relay host (may be null)
>     DSmail.acme.net

> `

Pamiętaj, ze sendamil jest bardzo wrażliwy na znaki tabulatora w pliku konfiguracyjnym `sendmail.cf`. Rozważ używanie do tych celów edytora `vi`, aby mieć pewność ze znaki tabulacji, które były w pliku konfiguracyjnym nie zostaną zamienione na odstępy podczas zachowywania zmodyfikowanego pliku na dysku.

Odbieranie poczty może być wygodnie zrealizowane za pomocą protokołu POP3, który może być inicjowany za każym razem kiedy następuje zestawienie połączenia. Prosty skrypt do przetestowania tej możliwości wygląda następująco:

> `

>     sendmail -q
>     popclient -3 -v mail.acme.net -u dirk -p "PrettySecret" \
>            -k -o /usr/spool/mail/dirk

> `

Ten skrypt może być uruchamiany po zestawieniu połączenia PPP. Pamiętaj, ze to jest jedynie skrypt testowy. Upewnij się że lokalna skrzynka pocztowa pozostaje nietknięta. Opcja `-k` oznacza, ze poczta jest pozostawiana w skrzynce na komputerze prowajdera, a sciągana jest jedynie kopia listu. Oczywiście po sprawdzeniu poprawności wszystkich ustawień usuniesz tę opcje.

Pamiętaj, że twoje hasło będzie widoczne w wierszu poleceń (patrz program ps). To powinno zostać poprawione tak szybko jak to tylko możliwe (ASAP)

Bezpieczniejsza i lepsza wersja teko skryptu znajduje się pod adresem:

`ftp://ftp.sn.no/user/egilk/pop-script.tar.gz`

Wymaga aby był zainstalowany program `procmail`, lecz tego raczej nie będziesz żałował.

`ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail-3.10-2.tar.gz`

Procmail jest prostym i elastycznym narzędziem, które umożliwia sortowanie przychodzącej poczty na ogromną ilość sposobów. Dodatkowo może również zastąpić program vacation i podobne.

Pamiętaj, że używanie procmaila w taki sposób jak my to robimy w tym przykładzie jest różne od tego co znajdziesz w dokumentacji procmaila. `.forward` nie jest konieczny i jeśli nie sortujemy przychodzącej poczty nie potrtzebujemy również pliku `.procmailrc`.

Użytkownik, do czytania i wysyłania listów powinien korzystać z takich programów jak elm lub pine.

ALT: Szary człowiek korzystający z konta u prowajdera (tam czytający pocztę)nie musi mieć działającego demona sendmaila. Warto wtedy wyłaczyć uruchamianie sendmaila przy starcie komputera. Trzeba w tym celu zmodyfikować `/etc/rc.d/rc.M`. (W RedHat'cie skorzystaj z programu control-panel (sysvtool))

ALT: Zamiast sendmaila można też skorzystać z prostszego smaila. Dobry opis konfiguracji (oraz wiekszość informacji, którą do tej pory przedstawiliśmy) znajdzesz w Linux Network Administrator's Guide.

ALT: Do tworzenia nowych plików konfiguracyjnych `sendmail.cf` wykorzystuje się pliki z makrodefinicajami m4. Drobne zmiany jest lepiej jednak wykonywać bezpośrednio w pliku /etc/sendmail.cf.

ALT: Istnieją również prostsze, choć nie tak elastyczne alternatywy. Mozna używać dobrze skonfigurowanego pine'a, lub nowszych wersji różnych przeglądarek WWW.

ALT: Wiele osób jest zachwycone pakietem Gnus towarzyszącemu programowi/edytorowi Emacs. Więcej informacji na tet temat szukaj pod adresem:

`http://www.ifi.uio.no/~larsi/`

ALT: Alternatywą dla `popclient` jest `pop-perl5`. Dostępny z:

`ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop-perl5-1.1.tar.gz`

## 5. Nowinki

## 5.1 Jak skonfigurować czytnik nowinek online?

Tak długo, jak jest aktywne PPP, masz możliwość korzystania z nowinek online. Istnieje mnóstwo dostępnego oprogramowania. Zwykle wybiera sie pomiędzy `rtin` i `trn`.

Aby rozpocząc czytanie nowinek trzeba jeszcze tylko powiadomić czytnik, z którego serwera ma korzystać. Wystarczy zmodyfikować plik `.profile` dodając nową zmienną środowiskową:

> `

>     export NNTPSERVER=news.acme.net

> `

Aby twoj adres (From) pojawiający się w wysyłanych na nowinki listach był poprawny, niektóre porgramy wymagają dodania jescze jednej zmiennej:

> `

>     export NNTP_INEWS_DOMAIN=acme.net

> `

## 5.2 Jak skonfiguraować czynanie nowinek offline?

Aby moc czytać nowinki offline, dzieki temu obniżyć rachunki za telefon, a jednocześnie uzyskać większą elastyczność, trzeba skonfigurować lokalny bufor nowinek (news-spool). Wymaga to pewnej konfiguracji, jak również wolnego miejsca na dysku. Po wstępnym skonfigurowaniu, później wszystko powino działać już samo z siebie, wymagając tylko trochę sprawdzenia i poprawek od czasu do czasu.

Opiszemy dwa rózne rozwiązania.

## 5.3 Jak skonfigurować C News?

Rozwiązanie tutaj opisane opiera się na sewerze nowinek C News i protokole NNTP. C News powstało z myslą o pracy w zupełnie innej konfiguracji, lecz jest na tyle elastyczny, że potrafi sobie poradzić i w tej systuacji. Można również skorzystać z nowszego serwera INN, który może jednak wymagać trochę więcej zasobów. Pamiętaj aby nie zainstalować obu; nie potrafią współistnieć w pokoju.

Jest bardzo ważne aby wszelkie zabiegi kongiracyjno-pielęgnacyjne wykonywać jako użytkownik `news` i aby wszystkie pliki konfiguracyjne umieścić w `/usr/lib/news`. Będąc zalogowanym jako `root` wystrczy napisać `su news; cd`.

Najważniejsze pliki konfiguracyjne:

- `active` spis aktywnych list dyskusyjnych. Jest modyfikowany przez program addgroup np. `addgroup comp.os.linux.networking y`.
- `organization` powinien po prostu zawierać tekst jaki chcesz aby się pokazywał w nagłówku Organization:, w naszym przykładzie będzie to:

  > `

  >     Dirk Gently's Holistic Detective Agency

  > `

  - `mailname` w naszym przykładzie będzie to `acme.net`.
  - `whoami` zawiera nazwę twego `miejsca`, która pokazuje się w nagłówku Path:. W opisywanej konfiguracji `NewsX`, ta nazwa nigdy nie opuści twego komputera, więc może być dowolna, pod warunkiem, że będzie jednoznaczna. W tym przypadku `roderick`.
  - `sys` steruje pobieraniem i dalszą dystrybucją artykułów. Zakładamy, że w naszym przykładzie dostawca do ścieżki Path dodaje człon `acme.net` i że jest to jedyne nasze źródło nowinek. Podany przykład zakłada, że bedziemy przyjmować wszystkie nadsyłane artykuły, lecz my będziemy pisać jedynie do grup `acme.net`.

    Zakładamy, że w naszym przykładzie ISP dodaje do Path nazwę `acme.net`, oraz że jest to nasze jedyne źródło nowinek. W podanym przykładzie akceptujemy wszystkie przychodzące artykuły, lecz będziemy wysyłać nasze artykuły jedynie do `acme.net`, ale tylko te, których wcześniej nie otrzymaliśmy, i które zostały stworzone na naszym komputerze.

    W tej uproszczonej konfiguracji zakładamy, że wszystkie grupy będą przychodzić z jednego źródła. `/all` określa nazwę dystrybucji, i musi być dołączone. Ostatnie `F` mowi o (wskazuje), że wychodzące artykuły będą gromadzone w pliku.

  > `

  >     ME:all/all::
  >     acme/acme.net:all,!junk/all:FL:

  > `

  - W naszym przykładzie musimy jeszcze utworzyć katalog-bufor dla wychodzących artykułów, będzie to:

  > `

  >     mkdir /var/spool/news/out.going/acme

  > `

  - `mailpaths` steruje wysyłaniem artykułów do grup moderowanych, choć to zadanie można zawsze powierzyć naszemu dostawcy.

  C News wymaga codziennej pielęgnacji, choć można to zrobić raz na zawsze za pomocą polecenia `crontab -e` wydanego jako użytkownik `news`. Sugerowane ustawienia są nastęujące, mogą być dostosowane do indywidualnych potrzeb:

  > `

  >     # obsłuż przychodzące i wychodzące paczki artykułów
  >     10,40 *  * * * /usr/lib/newsbin/input/newsrun

  >     # usuń przeterminowane artykuły C News, raz dziennie
  >     30 0  * * * /usr/lib/newsbin/expire/doexpire

  >     # monitoruj i powiadom w razie kłopotów
  >     00 2  * * sat /usr/lib/newsbin/maint/addmissing
  >     40 3  * * * /usr/lib/newsbin/maint/newswatch
  >     50 3  * * * /usr/lib/newsbin/maint/newsdaily

  > `

  newsrun przesyła artykuły (dwa razy na godzinę), doexpire usuwa artykuły, które są przestarzałe (każdej nocy o 00:30), a trzy ostatnie polecenia wykonują różne działania administracyjne, poprawiając napotkane błędy.

  Powinno się również zapewnić wyczyszczenie katalogów podczas uruchamiania systemu. Jako root dopisz następujący wiersz do pliku `/etc/rc.d/rc.local`:

  > `

  >     su news -c /usr/lib/newsbin/maint/newsboot

  > `

  Nowinki mogą być pobierane z serwera NNTP programem NewsX. Można go znaleźć pod adresem:

  `ftp://sunsite.unc.edu/pub/Linux/system/News/newsx-0.1.tar.gz` Or:

  `ftp://ftp.sn.no/user/egilk/newsx-0.3.tar.gz`

  Konfiguracja `NewsX` jest całkiem prosta. Instalacja to klasyczny przykład kompilacji pakietu:

  > `

  >     make
  >     su
  >     make install
  >     exit

  > `

  Po wykonani opisanych powyżej działań, jedyne co pozostaje to utworzenie grup, które zamierzamy czytać za pomocą polecenia "addgroup".

  Aby pobrać artykuły, użytkownik `news` musi wydać polecenie (zakładając, że jest już zestawione połączenie przez PPP lub podobne):

  > `

  >     newsrun
  >     newsx acme news.acme.net
  >     newsrun

  > `

  Opcja `-d` zmusza program do wyświetlania przez cały czas komunikatów na ekranie. Więcej informacji w dokumentacji NewsX.

  NewsX zajmie się również wysyłaniem artykułów do zewnętrznych grup.

  Kontrola nad artykułami, które się starzeją wymaga utworzenia pliku `explist`. Komentarze w naszym przykładzie powinny wyjaśnić co jest naszym celem:

  > `

  >     # historię trzymamy 14 dni, nikt nie będzie tu dłużej niż 120 dniu
  >     /expired/           x    14   -
  >     /bounds/            x    0-1-120 -

  >     # utrzymuj artykuły tej grupy przez 2 miesiące
  >     comp.sources,comp.os.linux.all     x    60   -

  >     # szum i smiecie wyrzucamu szybko, po dwóch dniach
  >     junk,control             x    2    -

  >     # standardowo:  14 dni, bez archiwizacji
  >     all                 x    14   -

  > `

  ALT: W małej instalacji nowinek zwykle nie jest potrzebna grupa `control`. Jej ruch jest duży porównując z jej użytecznością. Głownym jej celem jest możliwość kasowania artykułków przez ich nadwcę oraz automatyczne tworzenie nowych grup. Aby się upewnić, że wiadomości zawierające polecenia `newgroup` nie namieszają w naszej konfiguracji, tworzymy plik `newgroupperm`, który definiuje na co w takich przypadkach pozwalamy:

  > `

  >     comp.os.linux  tale@uunet.com yv
  >     all       any       nq

  > `

  W tym przykładzie, wszyskie poprawne grupy w drzewie comp.os.linux bedą tworzone (y), a użytkownik `news` bedzie o tym informowany(v). Całą reszta będzie ignorowana (n) bez żadnych komunikaów na ten temat(q). Jeśli chcesz tworzyć wszystkie nowe grypy ręcznie wystarczy ostatni wiersz.

  ALT: Alternatywą dla NewsX są `suck` lub `slurp` połączone z`postit`. Slurp korzysta z NNTP NEWNEWS, które potrafi wyygenerować poważne obciązenie na wielu serwerach nowinek.

## 5.4 Jak skonfiguraować Leafnode?

Innym rozwiązaniem jest zainstalowanie i skonfigurowanie zintegrowanego pakietu `leafnode`. Obsłuży wszelkie zadania wymagane przez osobisty bufor nowinek i jest prosty w konfiguracji. można go znaleźć pod adresem:

`http://www.troll.no/freebies/leafnode.html`

Podobnie jak w przypadku C News, wszelkie prace administracyjne przy nowinkach nalezy wykonywać jako użytkownik `news`.

Katalogiem macierzystym dla leafnode jest `/usr/lib/leafnode`. Instalacja wygląda następująco:

> `

>     cd /usr/lib/leafnode
>     tar -xzvf leafnode-0.8.tgz
>     cd leafnode-0.8
>     make
>     su
>     make install

> `

Nadal będąc zalogowanym jako `root`, zmodyfikuj wiersz w pliku `/etc/inetd.conf` strujący obslugą protokołu nntp:

> `

>     nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode

> `

I włącz :

> `

>     killall -HUP inetd

> `

Teraz znów musisz pracować jako `news`. Zmień wiesz w pliku `/usr/lib/leafnode/config` definiujący serwer NNTP, z którego będziemy korzystać. W naszym przykładzie:

> `

>     server = news.acme.net

> `

Leafnode potrafi o siebie zadbać jeśli do crotaba dopisze się następujące polecenie (poprzez uruchomienie jako użytkownik `news` polecenia `crontab -e` ):

> `

>     # expire Leafnode, once a day
>     0 4 * * * /usr/local/sbin/texpire

> `

Następujące polecenie, wydane jako użytkownik `news` powoduje wymianę nowinek z serwerem (zakładamy, zę działa PPP):

> `

>     /usr/local/sbin/fetch

> `

Uzytkownicy, którzy chcą teraz czytać nęwsy powinni skorzystać z wcześniejszego opisu Jak skonfigurować czytanie nowinek online?, pamiętając, że konfiguracje trzeba wykonać dla lokalnego komputera tzn:

> `

>     export NNTPSERVER=localhost

> `

To by bylo wszystko. Pierwsze polecenie `fetch` skopiuje listę dostępnych grup. Leafnode będzie monitorował, które grupy są czytane i adaptował się do nowej systuacji przy następnym uruchomieniu.

ALT: Alternatywą dla `leafnode` jest `nntpcache` dostępny pod adresem:

`ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz`

## 6. Jak zautomatyzować procedurę łączenia się z dostawcą?

Pod Linuxem automatyczna obsługa wysyłania i przyjmowania poczty i nowinek jest całkiem prosta.

Po pierwsze należy utworzyć plik `/usr/lib/ppp/ppp-on` odpowiedzialny za zainicjowanie połączenia z prowajderem. Czesto będzie zawierał tylko tyle:

> `

>     /usr/sbin/pppd

> `

Kolejne niezbędne informacje należy umieścić w pliku `/etc/ppp/options`:

> `

>     connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript"
>     crtscts
>     modem
>     defaultroute
>     asyncmap 00000000
>     user dirk
>     /dev/modem 38400

> `

Zakończenie połączenia zapewni dostarczona wersja `/usr/lib/ppp/ppp-off`.

Aby przetestować funkcjonalność tego rozwiązania należy stworzyć skrypty odpowiedzialne za wykonanie kilku zadań. Skrypt do porania poczty został opisany wcześniej, zakładamy, ze znajduje się w katalogu `/home/dirk/pop`.

Skrypt do wymiany poczty może być utworzony np. w `/root/mail`:

> `

>     #! /bin/sh
>     #
>     # wymień pocztę z dostawcą
>     # 10 minutes timeout:
>     TIMEOUT=600
>     DT=10

>     # kopnij sendmaila (opróżnia kolejkę listów do wysłania)
>     sendmail -q &

>     # pobież pocztę:
>     su dirk -c /home/dirk/pop

>     # poczekaj aż sendmail zakończy pracę:
>     t=0
>     while ! mailq | grep -q "Mail queue is empty"; do
>         t=$[$t+$DT]
>         if [ $t -gt $TIMEOUT ] ; then
>          echo "sendmail -q timeout ($TIMEOUT).."
>          exit 1
>         fi
>         sleep $DT
>     done

>     exit 0

> `

Skrypt do wymiany nowinek może być umieszczony np. w `/usr/lib/news/news`:

> `

>     #!/bin/sh
>     #
>     # wymień nowinki z prowajderem
>     # musi byc uruchomiony jako news
>     cd /usr/lib/news

>     #uaktualnij kolejkę wychodzącą (C News):
>     /usr/lib/newsbin/input/newsrun < /dev/null

>     #wymień nowinki:
>     /usr/lib/newsbin/newsx acme news.acme.net

>     #opróżnij kolejkę przychodzących nowinek:
>     /usr/lib/newsbin/input/newsrun < /dev/null

> `

Skrypt łączący te wszytkie kawałki możne umieścić np. w: `/root/news+mail`:

> `

>     #!/bin/sh
>     #
>     # wymień poczte i nowinki z dostawcą
>     # musi być wykonywany jako root
>     #
>     if ! /usr/lib/ppp/ppp-on; then
>         exit 1
>     fi
>     trap "/usr/lib/ppp/ppp-off" 1 2 3 15

>     #wymien nowinki i pocztę :
>     /root/mail &
>     su news -c ~news/news
>     wait

>     #rozłącz się
>     /usr/lib/ppp/ppp-off

>     #uaktualnij kolejkę nowinek przychodzących (C News):
>     su news -c /usr/lib/newsbin/input/newsrun < /dev/null &

>     exit 0

> `

Łatwo jest tak zmodyfikować przedstawione skrypty, że połączenie będzie nawiązywane jedynie wtedy, gdy jakiś list lub artykuł oczekiwał bedziena wysłanie. Nazwijmy go `/root/news+mail.cond`, pamiętając jednak, że trzeba go dostosować do własnej konfiguracji (nazewnicwa) bufora nowinek:

> `

>     #!/bin/sh
>     #
>     # wymień poczte i nowinki jeśli cokolwiek czeka na wysłanie
>     # (C News spool)
>     if [ -s /var/spool/news/out.going/acme/togo ] ||
>         ! ( mailq | grep -q "Mail queue is empty"); then
>          /root/news+mail
>     fi

> `

Pozostaje jescze określić kiedy ten skrypt będzie wykonywany. Skorzystamy z polecenia `crontab -e` jako użytkownik root (pamiętamy, ze ten skrypt musi byc wykonywany jako root). Załózmy, że zawsze chcemy wymieniać pocztę i nowinki po raz pierwszy o 7 rano i potem co 4 godziny o jest coś do wysłania:

> `

>     00 7      * * *     /root/news+mail
>     00 11,15,19,23 * * *     /root/news+mail.cond

> `

Zanim połączysz wszystkie części razem, upewni się, że każda z nich działa prawidlowo. Później do tych skryptów można dołączać kolejne, wykonujące takie zadania, jak synchronizacja zegara (za pomocą ntpdate) czy automatyczne uaktualnianie stron WWW u prowajdera (za pomocą FTP),poprawianych na lokalnym komputerze.

ALT: W zależności od upodobań możliwe jest również odwrócenie całego procesu. Za każdym razem, kiedy zostaje zainicjowane PPP uruchamiany jest skrypt `/etc/ppp/ip-up`. Można do niego dodać uruchamianie innych skryptów obsługujących wymianę poczty i nowinek. Więcej inforamcji o PPP w podręczniku, patrz `man pppd` .

ALT: Możliwa jest również taka konfigracja, w której PPP jest uruchamiane automatycznie, w momencie wykrycia próby korzystania z sieci. W wielu przypadkach jest to bardziej eleganckie rozwiązanie, lecz zła konifuracja może spowodować częste (kosztowne) połączenia modemowe. Więcej informacji na ten temat można znaleźć pod adresem:

`http://www.cs.toronto.edu/~schenk/diald.html`

Program narzędziowy `diald` jest dostępny:

`ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/diald-0.13.tar.gz`

Pod powyższym adresem można znleźć inne informacje o połączeniach PPP.

## 7. Zakończenie

## 7.1 Coś jescze o czym powinienem wiedzić?

- Rożnego rodzaju komunikaty o błędach będą zwykle generowane jako listy poczty elektronicznej. Aby zapewnić, że zostaną one kiedyś przeczytane należy utworzyć odpowiedni plik `/etc/aliases`. Pamiętaj o uruchomieniu polecenia `newaliases` po każdorazowje modyfikacji tego pliku. Przykład który powinien być wystarczający w większości przypadków poniźej:

> `

>     PostMaster: root
>     ftp: root
>     news: root
>     usenet: root
>     FaxMaster: root
>     fax: root
>     WebMaster: root
>     MAILER.DAEMON: root

> `

- Wiele programów dla Linuxa można znaleźć w archiwum Sunsite, które jest całniem obciązone. Na szczęście istneije wiele kopii na całym świecie i zawsze, kiedy podany jest odnośnik do `ftp://sunsite.unc.edu/pub/Linux/..` należy skorzystać z najbliższej kopii np `ftp://sunsite.icm.edu.pl/pub/Linux/sunsite/..`. `ftp://ftp.nvg.unit.no/pub/linux/sunsite/..`.
- Jeśli przypadkiem wcześniej korzystałeś z programu Yarn, konwersja do standardowych folderów powinno okazać się całkiem prosta. Trzeba skorzystać z programu `yarn2mf` dostępnego pod adresem:

`ftp://ftp.sn.no/user/egilk/yarn2mf.zip`

## 8. Informacje o dostawcach internetu

Dokładniejsze informacje o dostawcach internetu można znaleźć w wielu miejscach:

Demon Internet (demon.co.uk)

`ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz`

Easynet TBA

Netcom http://www.netcom.com/bin/webtech/NetCruiser/Operating_Systems/Linux/linux.cfg.html

PowerTech, Schibstednett, Telenor Online

`http://home.sn.no/~egilk/no-isp.html`

Primenet TBA

Stanford

`http://www-leland.stanford.edu/~wkn/Linux/network/network.html`

Jeśli znasz innych, tutaj nie przedstawionych, daj nam znać. Czekamy na informacje od polskich dostawców internetu. Chętnie je tutaj zamieścimy. Wyslij list na adres piotr.pogorzelski@ippt.gov.pl

## 8.1 Jak dowiedzieć się więcej?

Ksiązka oracowana w ramach projektu Linux Documentation Project p.t. Linux Administrator's Guide napisana przez Olafa Kircha wydaje się być lekturą obowiązkową dla każdego, kto zamierza zajmować się czymkolwiek w jakiś sposób związany z sieciami TCP/IP i Internetem.

`ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/network-guide/nag-1.0.ascii.tar.gz`

Dokumentacja poszczególnych pakietów oprogramowania zwykle dostarcza szczegówłowych informacji, której potrzebujesz. Nawet jeśli nie jest wystarczająca jest to zawsze jakiś początek. Pamiędaj o stronach podręcznika. Spróbuj:

> `

>     man pppd

> `

Cześć dokumentacji na temat różnych programów znajdziesz w katalogu `/usr/doc`.

Bardzo polecamy następujące dokumenty HOWTO Niektóre z nich są już przetłumaczone na język polski.

- Install-HOWTO.pl podstawy.
- NET-2-HOWTO lub NET-3-HOWTO bardzo dokładny opis instalacji i konfiguracji oprogramowania sieciowego. Jeśli korzystasz ze standardowej dystrybucji(Slackware, RedHat, Debian) większość pracy związanej z konfiguracją sieci powinna już być wykonana. Lecz fragmenty dotyczące konfiguracji i radzenia sobie z sytuacjami awaryjnymi są na pewno godna uwagi.
- Mail-HOWTO wyjaśnia, jak skonfigurować różne narzędzia. Wiekszość pracy została już wykonana w jeśli zainstalowałeś standardową dystrybucje Linuxa.
- News-HOWTO jak skonfigurować standardowy bufor nowinek (news-spool).
- Tiny-News opisuje alternatywne podejście do czytania nowinek.
- PPP-HOWTO.pl dobry opis problemów jakie można napotkać przy zestawianiu połączenia PPP.
- Serial-HOWTO zawiera wszystko co powinieneś wiedzieć na temat konfiguracji portów szeregowych.
- Mail-Queue opowiada, jak skonfigurować sendmail aby zawsze kolejkował pocztę wychodzącą w świat, lecz natychmiast doręczał pocztę lokalną.

## 8.2 Podziękowania

Przedstawione informacje pochodzą z wielu źródeł. Podziękowania za bezpośredni lub pośredni wkład w powstanie tego dokumentu.

> `

>     Adam Holt <holt@graphics.lcs.mit.edu>
>     Arne Coucheron <arneco@oslonett.no>
>     Arne Riiber <riiber@oslonett.no>
>     Arnt Gulbrandsen <agulbra@troll.no>
>     Bjorn Steensrud <bjornst@powertech.no>
>     Gisle Hannemyr <gisle@a.sn.no>
>     Hans Amund Rosbach <haro@sesam.dnv.no>
>     Hans Peter Verne <hpv@ulrik.uio.no>
>     Harald T Alvestrand <Harald.T.Alvestrand@uninett.no>
>     Harald Terkelsen  <Harald.Terkelsen@adm.hioslo.no>
>     Haavard Engum <hobbes@interlink.no>
>     Johan S. Seland <johanss@sn.no>
>     John Phillips <john@linux.demon.co.uk>
>     Jorn Lokoy <jorn@oslonett.no>
>     Kenneth Tjostheim <kenneth.tjostheim@asplanviak.no>
>     Kjell M. Myksvoll <kjell.myksvoll@fou.telenor.no>
>     Kjetil T. Homme <kjetilho@math.uio.no>
>     Michael Meissner <meissner@cygnus.com>
>     N J Bailey <N.J.Bailey@leeds.ac.uk>
>     Nicolai Langfeldt <janl@math.uio.no>
>     Ove Ruben R Olsen <Ove.R.Olsen@ub.uib.no>
>     R. Bardarson <ronb@powernet.net>
>     Steinar Fremme <steinar@fremme.no>
>     Sverre H. Huseby <sverrehu@ifi.uio.no>
>     Trond Eivind Glomsrod <teg@stud.imf.unit.no>
>     Tommy Larsen <tommy@mix.hive.no>

> `

## 9. Od tłumacza

Zdaje sobie sprawę, że niniejsze tłumaczenie zawiera mnóstwo błędów. Niestety nie jestem w stanie dokładnie sprawdzić całego dokumentu i świadomie pozostawiam tę pracę czytelnikowi. Będę wdzięczny za wszelkie uwagi na temat tego dokumentu, wytykanie błędów, literówek, składni i wszelkie inne, które mogą przyczynić się do jego ulepszenia.

Wszelkie tego typu uwagi proszę przesyłać na adres piotr.pogorzelski@ippt.gov.pl

Inne przetłumaczone dokumenty można znaleźć na stronie http://www.jtz.org.pl. Zapraszamy!.