# Ręczna konfiguracja połączenia

Ręczna konfiguracja połączenia nie jest dużo trudniejsze niż z pomocą Asystenta.

Wywołanie okna dialogowego konfiguracji odbywa się podobnie jak uruchamianie asystenta. Należy uruchomić program &kppp; poprzez wybranie w menu K pozycji Internet, a następnie Narzędzie telefonicznego łączenia z Internetem KPPP

Pojawi się następujące okno dialogowe:

Ekran konfiguracji narzędzia do telefonicznego łączenia z Internetem - &kppp; Ekran konfiguracji narzędzia do telefonicznego łączenia z Internetem - &kppp;

Ekran konfiguracji narzędzia do telefonicznego łączenia z Internetem - &kppp;

Prawdopodobnie po pierwszym uruchomieniu brak będzie skonfigurowanych połączeń, poniżej przedstawiony zostanie opis jak to zrobić.

Przyciśnięcie przycisku Konfiguruj rozpoczyna procedurę konfiguracji telefonicznego połączenia z Internetem.

Należy nacisnąć przycisk Ustawienia ręczne, co spowoduje pojawienie się następującego okna dialogowego:

Okno dialogowe Nowe połączenie Okno dialogowe Nowe połączenie

Okno dialogowe Nowe połączenie

Okno dialogowe Nowe połączenie składa się z następujących kart:

- Dzwonienie

- Adres IP

- Bramka

- DNS

- Skrypt

- Uruchom

- Koszty

Zwykle nie trzeba wypełniać wszystkich powyższych informacji, poniżej opisane jednak zostaną wszystkie elementy

## Karta Dzwonienie

Karta Dzwonienie okna dialogowego Nowe połączenie Karta Dzwonienie okna dialogowego Nowe połączenie

Karta Dzwonienie okna dialogowego Nowe połączenie

Karta Dzwonienie zawiera następujące opcje:

Nazwa połączenia:

- Należy tu wprowadzić nazwę połączenia. Może to być dowolnie wybrany tekst, jednak w przypadku korzystania z wielu połączeń, nazwy nie mogą się powtarzać.

Numer telefonu

- Tutaj należy określić numer telefonu, na który ma dzwonić modem. Dla zwiększenia czytelności numeru, można wykorzystać znak-. Jeżeli oddzielisz od siebie kilka numerów znakiem dwukropka ((⪚ `1111111:2222222:3333333`, program &kppp; będzie próbował dodzwonić się po kolei na każdy z nich, jeżeli otrzyma sygnał zajętości. Można używać przycisków Dodaj w celu dodania kolejnego numeru do listy, Usuń w celu jego usunięcia, oraz ikon do góry i do dołu w celu zmiany kolejności na liście.

Uwierzytelnianie

- W tej pozycji należy wybrać metodę uwierzytelniania dla konfigurowanego połączenia. Informację o wymaganej metodzie uwierzytelniania, można uzyskać od dostawcy internetowego. Wykorzystanie metod PAP i CHAP zostało opisane w rozdziale: chap-and-pap.

Zapamiętaj hasło

- Zaznaczenie tej opcji, spowoduje, że program &kppp; będzie przechowywał wprowadzone hasło pomiędzy kolejnymi połączeniami.

Dostosuj argumenty pppd...

- Wybranie tej opcji wywołuje okno parametrów demona pppd. Należy wprowadzić tu parametry i opcje, które &kppp; powinno przekazać przy wywoływaniu demona pppd. Ich lista i opis dostępna jest w podręczniku programu pppd. Należy unikać manipulowania tymi parametrami, jeżeli nie jest to konieczne.

## Karta Adres IP

Karta Adres IP okna dialogowego Nowe połączenie Karta Adres IP okna dialogowego Nowe połączenie

Karta Adres IP okna dialogowego Nowe połączenie

Zmienny adres IP

- Należy zdobyć informację od swojego dostawcy Internetu (ISP) czy wykorzystywane jest dynamiczne przydzielanie adresów IP. Jeżeli tak jest, to adres IP będzie się zmieniał przy każdym połączeniu.

Stały adres IP

- Opcja ta powinna być zaznaczona, w przypadku gdy dostawca Internetu ISP przydziela użytkownikowi stały adres IP. W takim wypadku, należy ten adres wprowadzić w polu Adres IP, a także wypełnić Pole Maska podsieci. Informacje te można otrzymać od swojego dostawcy Internetu. Dynamicznie przydzielane zmienne adresy IP, są wykorzystywane przez większość dostawców Internetu, dlatego najczęściej należy pozostawić to pole nie zaznaczone.

Skonfiguruj automatycznie nazwę komputera z tego IP

- Wybranie tej opcji, spowoduje iż &kppp; ustawi nazwę komputera i domenę dla Twojego komputera po nawiązaniu połączenia ppp.

  Ustawianie nazwy następuje po odpytaniu serwera DNS o nazwę hosta dla numeru IP przydzielonego dla połączenia ppp.

  Opcja, ta może być użyteczna dla użytkowników korzystających z protokołu "talk", wymagającego aby nazwa komputera była identyczna, z nazwą zdefiniowaną dla danego numeru IP. Opcja ta powoduje ignorowanie ustawienia Nazwa domeny w sekcji DNS. Ustawienia domyślne są przywracane do wartości pierwotnych po zakończeniu połączenia ppp.

  Wykorzystanie tej opcji nie jest konieczne, jeżeli użytkownik wykorzystuje połączenie do przeglądania Internetu, czytania e-maili lub pogawędek internetowych. Ma też ona niepożądany skutek uboczny w postaci zablokowania nowych połączeń do X serwera, innymi słowy zablokowana jest możliwość otwierania jakichkolwiek nowych programów wykorzystujących interfejs graficzny.

  Opcja ta powinna być włączana tylko gdy jest naprawdę potrzebna.

## Karta Bramka

Karta Bramka okna dialogowego Nowe połączenie Karta Bramka okna dialogowego Nowe połączenie

Karta Bramka okna dialogowego Nowe połączenie

Domyślna bramka

- Opcja domyślnie włączona. Powoduje, iż program demona pppd konfiguruje domyślną bramkę dla połączenia.

Stała Bramka

- Opcję należy wybrać, jeżeli niezbędne jest podanie adresu bramki innego niż domyślny.

Przypisz domyślny routing dla tej bramki

- Ustawienie domyślnej bramki. Jest prawie pewne, iż ta opcja powinna być zaznaczona (i jest to ustawienie domyślne).

## Karta DNS

Karta DNS okna dialogowego Nowe połączenie Karta DNS okna dialogowego Nowe połączenie

Karta DNS okna dialogowego Nowe połączenie

Domena:

- Należy tu wprowadzić nazwę domeny wykorzystywaną dla komputera. Analogicznie jak w przypadku opcji DNS, nazwa domeny powraca do wartości bieżącej zdefiniowanej w pliku `/etc/resolv.conf` po zakończeniu połączenia. Jeżeli pole pozostawiono niewypełnione, to program nie ingeruje w nazwę domeny ustawioną w pliku `/etc/resolv.conf`

Konfiguracja:

- Należy wybrać pomiędzy opcją: Automatyczna (dostawca Internetu ISP automatycznie przydziela adresy serwerów DNS po nawiązaniu połączenia) oraz Ręczna. Po wybraniu drugiej opcji, dostępna staje się sekcja Adres IP dla DNS.

Adres IP dla DNS

- Ta część okna staje się aktywna, w chwili wybrania opcji Ręczna. Należy podać tutaj listę serwerów DNS przydzielonych przez dostawcę Internetu (ISP). Niezbędne jest podanie co najmniej jednego adresu serwera DNS, aby system operacyjny mógł przetłumaczyć czytelne dla człowieka adresy serwerów (np.: `ftp.kde.org`) na odpowiadające im numery IP. Adresy serwerów DNS muszą być wprowadzone w ich postaci liczbowej (np. `128.231.231.233`). Zostają one dodane w trakcie działania programu do pliku `/etc/resolv.conf`.

  Naciśnięcie przycisku Dodaj spowoduje dodanie nowego adresu serwera DNS do listy. Przycisk Usuń usuwa pojedynczy adres serwera z listy.

Wyłącz istniejące DNS w trakcie połączenia

- Po zaznaczeniu tej opcji, wszystkie wpisane w pliku `/etc/resolv.conf` serwery DNS zostaną wyłączone w trakcie trwania połączenia.

## Karta Skrypt

Karta Skrypt okna dialogowego Nowe połączenie Karta Skrypt okna dialogowego Nowe połączenie

Karta Skrypt okna dialogowego Nowe połączenie

W karcie Skrypt możliwe jest stworzenie skryptu logowania, specyficznego dla dostawcy Internetu do którego realizowane jest połączenie. Przed stworzeniem skryptu można skorzystać z terminala oraz informacji uzyskanych od dostawcy internetowego ISP, aby przeanalizować jaka sekwencja poleceń jest wykonywana przy nawiązywaniu połączenia.

Po lewej stronie okna znajduje się lista wyboru, służąca do wybierania kolejno wykonywanych poleceń skryptu. W polu po prawej stronie należy wprowadzić wymagane dla danego polecenia parametry. Naciśnięcie przycisku Dodaj spowoduje dodanie wpisu na końcu edytowanego skryptu, widocznego w dolnej części okna dialogowego. Przycisk Wstaw powoduje umieszczenie polecenia w dowolnej części skryptu, zaś przycisk Usuń usuwa wybraną linię ze skryptu.

Lista wyboru zawiera następujące polecenia:

Expect

- &kppp; będzie oczekiwał pojawienia się zdefiniowanego ciągu znaków.

Send

- &kppp; wyśle zdefiniowany ciąg znaków.

Scan

- &kppp; będzie przeszukiwać wejściowy ciąg znaków, w poszukiwaniu zdefiniowanej sekwencji, a następnie przechowa ciąg znaków następujący po tej sekwencji (do napotkania znaku końca linii) w wewnętrznym buforze. Spacje rozpoczynające i kończące ten ciąg są pomijane.

Save

- Program przechowuje wprowadzony do bufora tekst do określonego rejestru. Jedynym dostępnym rejestrem jest w chwili obecnej rejestr `password`.

Pause

- Powoduje przerwanie działania skryptu i oczekiwanie przez zdefiniowaną liczbę sekund.

Hangup

- &kppp; wysyła do modemu polecenie `hangup` (rozłączenia).

Answer

- &kppp; ustawia tryb pracy modemu na odpowiadanie na połączenia przychodzące.

Timeout

- Zmienia domyślny czas oczekiwania na określoną liczbę sekund w trakcie wykonywania skryptu. W razie potrzeby, można to polecenie wykonywać dowolną liczbę razy w trakcie wykonywania skryptu.

Prompt

- Program &kppp; poprosi użytkownika o podanie ciągu znaków, wyświetlając wpisany tekst jako podpowiedź. Użytkownik zobaczy wprowadzany tekst. Jeżeli tekst podpowiedzi, zawierać będzie znacznik `##`, to ten fragment zostanie zastąpiony, aktualną zawartością bufora, zapisaną przez polecenie scan.

PWPrompt

- Program &kppp; prosi użytkownika o wprowadzenie ciągu znaków, wyświetlając podany tekst w pytaniu. Przy wprowadzaniu, zamiast znaków pojawi się gwiazdka "*".

ID

- Jeżeli pole Nazwa użytkownika w głównym oknie programu &kppp; jest wypełnione, to jego zawartość jest wysyłana jako ID. Jeżeli pole Nazwa użytkownika nie jest wypełnione, to program &kppp; zapyta użytkownika, prosząc o podanie nazwy ID, wyświetlając wprowadzony tekst jako podpowiedź. Użytkownik, zobaczy wprowadzany przez siebie tekst. Przy kolejnym wykonaniu tego fragmentu skryptu (np. przy wykonywaniu go w pętli lub połączenia zwrotnego) pytanie zostanie wyświetlone niezależnie od tego, czy pole Nazwa użytkownika zostało wypełnione.

Password

- Jeżeli pole Hasło w głównym oknie programu &kppp; jest wypełnione, to wyślij to hasło. Jeżeli nie, to poproś użytkownika o wprowadzenie hasła, wyświetlając ustawiony tekst jako podpowiedź. Zamiast wprowadzanego tekstu, będą widoczne gwiazdki "*". Przy kolejnym wykonaniu tego fragmentu skryptu (np. przy wykonywaniu go w pętli lub połączenia zwrotnego) pytanie zostanie wyświetlone niezależnie od tego, czy pole Nazwa użytkownika zostało wypełnione.

LoopStart

- &kppp; oczekuje na otrzymanie określonego tekstu. Tekst ten zostanie zapamiętany do wykorzystania w poleceniu `LoopEnd`.

LoopEnd

- Program &kppp; będzie czekać na pojawienie się określonego ciągu znaków, przed zakończeniem pętli. Jeżeli ciąg znaków będący parametrem polecenia `LoopStart` pojawi się, spowoduje to skok do linii następującej po poleceniu `LoopStart`. Pozwala to na powtarzanie wyświetlania pytań o nazwę użytkownika i hasło.

### Przykładowe skrypty

#### Przykład prostego skryptu logowania

Przykładowy skrypt połączeniowy wykorzystywany przez autora programu:

    Expect      ID:                        # czekaj na ciąg:
     Send        myid                       # wyślij swoją nazwę użytkownika (zamień myid na rzeczywistą nazwę)
     Expect      word:                      # czekaj na  'password'
     Send        4u3fjkl                    # wyślij hasło (tutaj przykładowo '4u3fjkl')
     Expect      granted                    # Oczekuj na tekst 'Permission granted' po poprawnym zalogowaniu.
     Send        ppp                        # uruchom sesję ppp po stronie dostawcy Internetu.

#### Skrypt logowania, zadający pytanie o nazwę użytkownika i hasło i wykorzystujący pętle

Poniżej widoczny jest skrypt zawierający pytanie o nazwę użytkownika i hasło. Pytanie pojawi się niezależnie od tego co zostało wprowadzone w polach Nazwa użytkownika oraz Hasło w głównym oknie dialogowym programu &kppp;.

Skrypt ten ilustruje sposób wykorzystania zestawu poleceń LoopStart/LoopEnd. Jeżeli procedura logowania nie powiedzie się (np. z powodu źle wpisanego hasła) dostawca Internetu zwróci komunikat błędu, ponawiając pytanie o nazwę użytkownika i hasło. Jeżeli ciąg znaków `ID:` zostanie wykryty przed wykonaniem polecenia LoopEnd, program &kppp; wróci do linii następującej po poleceniu LoopStart.

    LoopStart   ID:                        # oczekuje na nazwę użytkownika:
     Prompt      Enter ID:                  # Pyta o nazwę użytkownika i wysyła ją.
     Expect      word:                      # oczekuje na hasło'
     PWPrompt    Enter Password:            # Pyta o hasło i wysyła je.
     LoopEnd     granted                    # Dostawca wysyła tekst 'Permission granted' w przypadku pomyślnego logowania.
     Send        ppp                        # Uruchamia połączenie ppp po stronie dostawcy Internetu

#### Pytanie o informacje nie wprowadzone w głównym oknie

Widoczny poniżej skrypt, pyta od nazwę użytkownika i hasło w przypadku, ale tylko wtedy, gdy odpowiednie pola w głównym oknie programu &kppp; nie zostały wypełnione.

    LoopStart   ID:                        # oczekuje na tekst ID:
     ID          Enter ID:                  # pyta o nazwę użytkownika i wysyła ją.
     Expect      word:                      # oczekuje na tekst 'password'
     Password    Enter Password             # Pyta o hasło i wysyła je.
     LoopEnd     granted                    # dostawca wysyła tekst 'Permission granted' po pomyślnym zalogowaniu.
     Send        ppp                        # Uruchamia połączenie ppp po stronie dostawcy Internetu

#### Skrypt do połączenia z dostawcą Internetu ISP, który używa algorytmu challenge/response do uwierzytelniania

Widoczny poniżej skrypt, stosowany jest gdy dostawca Internetu stosuje algorytm challenge/response do uwierzytelniania. Zwykle, wykorzystywany jest sprzętowy klucz (token, coś w rodzaju kalkulatora z wyświetlaczem). Użycie tokenu wymaga znajomości hasła. Po zadzwonieniu na numer dostawcy Internetu, pojawia się ciąg znaków (challenge) który należy wprowadzić do sprzętowego klucza (tokenu). Pojawiające się na wyświetlaczu tokenu dynamicznie przydzielone hasło, należy wprowadzić w celu uzyskania połączenia.

    LoopStart   ID:                        # czekaj na nazwę użytkownika ID:
     ID          Enter ID:                  # pytanie o nazwę i wysłanie.
     Scan        Challenge:                 # oczekuj na 'Challenge' i zapamiętaj tekst do napotkania znaku nowej linii.
     Expect      Password:                  # czekaj na 'password'
     Prompt      Twój token to ## - Wprowadź hasło  # Pytanie o hasło i przesłanie go.
     LoopEnd     granted                    # Dostawca Internetu wysyła tekst "granted" informujący o sukcesie.
     Send        ppp                        # uruchamia połączenie ppp po stronie dostawcy Internetu.

#### Wykorzystanie rozkazów "Scan" i "Save" w skryptach

Poniższy skrypt, przedstawia procedurę logowania do fikcyjnego dostawcy Internetu ISP, który wymaga nowego hasła przy każdym nowym połączeniu. Nowe hasło musi zostać zweryfikowane i zapisane przed następną sesją połączenia.

    University of Lummerland

     Login:mylogin
     Password:
     The password for your next session is: YLeLfkZb
     Please record and enter it for verification.
     Verification:YLeLfkZb

     1 = telnet
     2 = SLIP
     3 = PPP

     Your choice:

Program &kppp; może zrealizować to uciążliwe zadania, za użytkownika, eliminując ryzyko zagubienia kawałka papieru na którym zapisane zostało aktualne hasło. Kluczowym elementem tego skryptu jest kombinacja poleceń: Scan/Save.

    7 Expect      Login:                     # czekaj na pytanie o nazwę użytkownika
     ID                                     # wyślij nazwę użytkownika
     Expect      Password:                  # czekaj na pytanie o hasło
     Password                               # wyślij hasło
     Scan        is:                        # czekaj na tekst '... next session is:' a następnie
                                            # odczytaj przekazane hasło
     Save        password                   # zapisz hasło do potrzeb kolejnego logowania
     Expect      Verification:              # czekaj na tekst 'Verification:'
     Password                               # prześlij nowe hasło do weryfikacji
     Expect      choice:                    # poczekaj na pytanie dotyczące wyboru opcji połączenia
                                            # (telnet, SLIP, PPP)
     Send        3                          # wybierz opcję 3, np.: PPP

## Karta Uruchom

Karta Uruchom okna dialogowego Nowe połączenie Karta Uruchom okna dialogowego Nowe połączenie

Karta konta Uruchom

Można tu wybrać polecenia jakie mają zostać wykonane na pewnych etapach połączenia. Polecenia są wykonywane z Twoim prawdziwym identyfikatorem użytkownika, zatem nie można wykonać programów wymagających uprawnień administratora (o ile sam nim w danym momencie nie jesteś)

Należy podać pełną ścieżkę dostępu do programu, w przeciwnym wypadku &kppp; może go nie znaleźć.

Można tu ustawić polecenia wykonywane na pewnych etapach połączenia modemowego.

Przed połączeniem

- Wykonuje polecenie przez rozpoczęciem dzwonienia do dostawcy internetowego ISP.

Po połączeniu

- Polecenie wykonywane tylko po zakończonym sukcesem połączeniu do Internetu.

Przed rozłączeniem

- Polecenie wykonywane w czasie trwania połączenia, tuż przed rozłączeniem się modemu.

Po rozłączeniu

- Polecenie wykonywane po zamknięciu połączenia.

Można tutaj uruchamiać na przykład program leafnode tuż po połączeniu, do sprawdzania poczty. Można sprawdzać kolejkę poczty wychodzącej tuż przed rozłączeniem. Można też wykorzystać ze skryptu czyszczącego do usunięcia dzienników (logów) oraz pamięci podręcznej po rozłączeniu.

## Karta Koszty

Karta Koszty okna dialogowego Nowe połączenie Karta Koszty okna dialogowego Nowe połączenie

Karta Koszty okna dialogowego Nowe połączenie

Zaznaczenie opcji Włącz obliczanie kosztów połączenia włącza lub wyłącza funkcję liczenia kosztów.

Z listy należy wybrać sposób liczenia kosztów uzależniony od kraju i dostawcy internetowego.

Jeżeli na liście nie ma żądanego dostawcy Internetu, możliwe jest zdefiniowanie własnego zestawu zasad liczenia kosztów poprzez skopiowanie dostarczonego szablonu. Więcej informacji jako to zrobić znajduje się w dodatku do dokumentacji.

Ostatnią opcją w tym oknie, jest Podczas połączenia zliczaj, opisana poniżej.

### Zliczanie przesłanych danych

#### Na czym polega funkcja zliczania przesłanych danych?

Zlicza ona po prostu liczbę bajtów przesłanych do i z Internetu przez program &kppp;. Zliczane mogą być bajty wysyłane, odbierane lub wysyłane i odbierane jednocześnie, w zależności od wyboru użytkownika.

#### Do czego mogę wykorzystywać tę funkcję?

Wielu dostawców internetowych, obciąża użytkowników kosztami połączenia w zależności od przesłanych danych. Czasami dostawca Internetu ISP oferuje stałą kwotę do wysokości pewnego limitu, a następnie obciąża kosztami przesłania za każdy kolejny megabajt ponad ten limit. Program &kppp; pokazuje użytkownikowi aktualny stan przesłanych danych, co pozwala na dokładną kontrolę kosztów korzystania z Internetu. Nawet jeśli użytkownik nie jest obciążany kosztami dostępu w zależności od przesłanych danych, to może skorzystać z tej opcji dla zaspokojenia własnej ciekawości.

#### Który rodzaj zliczania wybrać?

W dużej części uzależnione jest to od dostawcy Internetu. Wielu z nich, oblicza jedynie liczbę megabajtów pobranych z Internetu, ignorując ilość danych wysyłanych. W takim wypadku należy wybrać bajty WE. Jeżeli koszty uzależniane są od ruchu w obie stronym należy wybrać bajty WE i WY. Pozycja bajty WY umieszczona została raczej w celu zachowania kompletności listy, jako że nie jest autorom znany żaden dostawca Internetu, który wykorzystuje ruch wyjściowy do naliczania kosztów. Z tej opcji mogą jednak korzystać osoby, uruchamiające serwer WWW lub &FTP; na komputerze domowym.

#### Niedogodności

Wykorzystanie opcji zliczania wysłanych i odebranych bajtów nie jest narzędziem doskonałym. Zliczanie dokonywane jest niezależnie od źródła danych, a wielu dostawców ustawia swoje limity przesyłania na dane wysyłane/odbierane poza ich wewnętrzną sieć. Inni ustalają różne poziomy limitów, w zależności od tego czy dane są z sieci dostawcy, w kraju czy z zagranicy. Może się okazać, że jeżeli Internet nie jest intensywnie wykorzystywany do przeglądania sieci, zaś większość stron pobierana jest z serwera pośredniczącego dostawcy Internetu, to dostawca nie pobiera żadnych kosztów za takie połączenie. Program &kppp; nie jest w stanie kategoryzować pakietów IP w zależności od źródła ich pochodzenia, tak więc wszystkie będą wliczane do ruchu wychodzącego/przychodzącego. Innym przykładem może być stosowanie przez dostawcę internetowego serwera pośredniczącego dla grup dyskusyjnych, jak np.: nntpcached, wtedy jest pewne iż wartość przesyłania danych wykazana przez &kppp; będzie wyższa od wartości, za którą naliczone będą koszty dostępu do sieci. Z drugiej jednak strony, program &kppp; nigdy nie spowoduje, iż rachunek będzie wyższy niż to wynika z wyliczeń.