Copyright © 2001 Lauri Watts
Dozwolone jest kopiowanie, dystrybucja i/lub modyfikacja tego dokumentu na zasadach licencji GNU Free Documentation License, w wersji 1.1 lub dowolnej późniejszej wersji, opublikowanej przez Free Software Foundation; bez Sekcji Niezmiennych, bez Tekstu Początkowego i bez tekstu Końcowego. Kopia tej licencji znajduje się w sekcji zatytułowanej "GNU Free Documentation License".
KPPP to program do połączenia modemowego z Internetem i przyjazny interfejs usługi pppd, pozwalający na interaktywne generowanie skryptów połączeniowych i ustawień sieciowych.
Spis treści
Spis tabel
Spis przykładów
KPPP jest programem dzwoniącym i nakładką sterującą usługą pppd. Pozwala on na interaktywną generację skryptów połączeniowych oraz konfigurację sieci. Dzięki niemu można zautomatyzować proces ustanawiania połączenia z dostawcą internetowym ISP oraz jednocześnie w wygodny sposób go monitorować.
Po uzyskaniu połączenia, program KPPP pozwala na generowanie obszernych statystyk połączeń oraz rejestrację czasu, który użytkownik spędza w sieci.
Wbudowany terminal i generator skryptów, pozwala użytkownikowi na łatwe konfigurowanie połączenia. Nie jest konieczne korzystanie z innych programów-terminali takich jak seyon lub minicom, do testowania i konfiguracji połączenia.
Jedną z funkcji programu KPPP jest rozbudowana analiza kosztów połączeń telefonicznych.
Mamy nadzieję że spodoba Ci się ten program, oraz iż ułatwi on Twoją drogę do uzyskania dostępu do Internetu.
Jeżeli użytkownik posiada zainstalowaną w miarę nową dystrybucję systemu Linux®, to pozostała część tego dokumentu jest bezużyteczna. Program KPPP zawiera prostego asystenta, który w wielu przypadkach pozwala na skonfigurowanie połączenia z Internetem w ciągu kilku minut.
Niezależnie od tego, czy asystent jest wykorzystywany czy też nie, należy zdobyć następujące informacje:
Numer telefoniczny do dostawcy internetowego (ISP).
Nazwa użytkownika i hasło przekazane przez dostawcę internetowego.
Informację o serwerach DNS dostawcy Internetu (jeden powinien wystarczyć, ale im więcej tym lepiej)
Dodatkowe inne informacje, dotyczące wymagań dostawcy internetowego niezbędnych do uzyskania pełnego dostępu do jego usług, tzn.:
Nazwa serwera poczty przychodzącej (częsta postać tego adresu to: pop.twój_isp.pl
lub mail.twój_isp.pl
)
Informację o wykorzystywanym protokole dostępu do poczty (najczęściej używane są POP3 lub IMAP).
Nazwa serwera poczty wychodzącej (SMTP) (może być to ta sama nazwa co w w przypadku poczty przychodzącej, zdarza się też adres w postaci: smtp.twój_isp.pl
).
Nazwa serwera list dyskusyjnych Usenet (NNTP) (możliwe nazwy to: news.twój_isp.pl
or nntp.twój_isp.pl
).
Informacje o skonfigurowanych i dostępnych serwerach pośredniczących.
Wszystkie te informacje są prawdopodobnie dostępne w dokumentacji dostarczonej przy podpisywaniu umowy z dostawcą Internetu, można też skorzystać z usługi pomocy technicznej dostawcy internetowego (ISP).
Jeżeli wszystkie powyższe informacje są dostępne, to konfiguracja połączenia z Internetem w typowej instalacji systemu Linux®, sprowadza się do uruchomienia asystenta w programie KPPP.
Uruchomienie Asystenta odbywa się z głównego okna dialogowego, które pojawia się po starcie programu. Program KPPP znajduje się w menu głównym KDE - , gdzie występuje w podmenu jako .
Pojawi się następujące okno dialogowe:
Okno startowe programu KPPP.
Prawdopodobnie nie będzie tam skonfigurowanego żadnego połączenia, trzeba więc dopiero to zrobić.
Kliknięcie przycisku , rozpoczyna proces konfiguracji nowego połączenia.
Okno asystenta zawiera trzy przyciski: , oraz
Asytent zadający pytanie dotyczące sposobu konfiguracji połączenia
Opcja ta powoduje zamknięcie okna dialogowego asystenta i powrót do okna programu dzwoniącego.
W przypadku konfigurowania połączenia dla typowego modemu i korzystania z najpopularniejszych dostawców internetowych dla danego kraju, asystent prawdopodobnie mógł automatycznie ustawić wszystkie parametry niezbędne do funkcjonowania połączenia internetowego. Należy wypróbować jego działanie, zanim podjęta zostanie próba ręcznej konfiguracji połączenia.
Opcja powinna zostać wybrana, jeżeli asystent nie skonfiguruje poprawnie połączenia internetowego. Obecnie asystent jest użyteczny dla stosunkowo niewielkiej liczby dostawców internetowych w różnych krajach.
W tym rozdziale przyjęto, iż naciśnięty został przycisk , kolejny rozdział opisuje procedurę ręcznej konfiguracji połączenia internetowego.
Ekran widoczny po naciśnięciu przycisku, zawiera krótkie wprowadzenie wyjaśniające funkcjonowanie asystenta, opisane zaś we wcześniejszych fragmentach tego tekstu. Naciśnięcie przycisku kontynuuje działanie asystenta.
Drugi ekran zawiera pytanie o kraj, dla którego konfigurowane jest połączenie. Nie wszystkie kraje są w nim widoczne, tak więc jeżeli jakiegoś nie ma na liście, konieczne będzie naciśnięcie przycisku , co spowoduje przejście do Ręcznej konfiguracji połączenia.
Następny ekran, zawiera pole wyboru spośród kilku dostawców internetowych zdefiniowanych dla wybranego wcześniej kraju (znanych twórcom programu KPPP). Analogicznie jak w poprzednim przypadku, jeżeli żądany dostawca internetowy (ISP) nie jest wyświetlany, konieczne będzie naciśnięcie przycisku , co spowoduje przejście do Konfiguracji połączenia opartej na oknach dialogowych.
Pojawi się prośba o podanie nazwy użytkownika i hasła, dla definiowanego połączenia. Należy pamiętać, iż w przypadku niektórych dostawców internetowych (ISP) dane te różnią się od nazwy i hasła stosowanych dla konta email, tak więc trzeba się upewnić, czy wprowadzone są właściwe. Wybranie przycisku kontynuuje działanie asystenta.
Kolejny ekran, pozwala na ustawienie prefiksów dzwonienia występujących w danym przypadku, na przykład jeżeli konieczne jest wybranie „0”, aby uzyskać połączenie zewnętrzne lub jeżeli wykorzystujesz numer wyłączający funkcję oczekiwania na połączenie. Wybranie przycisku kontynuuje działanie asystenta.
Na tym kończy się procedura konfiguracji połączenia z użyciem Asystenta. Możliwe jest przejrzenie wybranych opcji za pomocą przycisków oraz . Jeżeli wprowadzone informacje są poprawne, należy skorzystać z przycisku , kończącego procedurę konfiguracji połączenia.
Istotne jest, iż wszelkie informacje ustawione przez Asystenta, mogą być później zmieniane w oknie konfiguracji programu KPPP.
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 pozycji , a następnie
Pojawi się następujące okno dialogowe:
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 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 składa się z następujących kart:
Zwykle nie trzeba wypełniać wszystkich powyższych informacji, poniżej opisane jednak zostaną wszystkie elementy
Karta Dzwonienie okna dialogowego Nowe połączenie
Karta Dzwonienie zawiera następujące opcje:
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ć.
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 ((np. 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 w celu dodania kolejnego numeru do listy, w celu jego usunięcia, oraz ikon do góry i do dołu w celu zmiany kolejności na liście.
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: Rozdział 7, Autoryzacja PAP oraz CHAP.
Zaznaczenie tej opcji, spowoduje, że program KPPP będzie przechowywał wprowadzone hasło pomiędzy kolejnymi połączeniami.
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 okna dialogowego Nowe połączenie
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.
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.
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 okna dialogowego Nowe połączenie
Opcja domyślnie włączona. Powoduje, iż program demona pppd konfiguruje domyślną bramkę dla połączenia.
Opcję należy wybrać, jeżeli niezbędne jest podanie adresu bramki innego niż domyślny.
Ustawienie domyślnej bramki. Jest prawie pewne, iż ta opcja powinna być zaznaczona (i jest to ustawienie domyślne).
Karta DNS okna dialogowego Nowe połączenie
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
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.
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 spowoduje dodanie nowego adresu serwera DNS do listy. Przycisk usuwa pojedynczy adres serwera z listy.
Po zaznaczeniu tej opcji, wszystkie wpisane w pliku /etc/resolv.conf
serwery DNS zostaną wyłączone w trakcie trwania połączenia.
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 spowoduje dodanie wpisu na końcu edytowanego skryptu, widocznego w dolnej części okna dialogowego. Przycisk powoduje umieszczenie polecenia w dowolnej części skryptu, zaś przycisk usuwa wybraną linię ze skryptu.
Lista wyboru zawiera następujące polecenia:
KPPP będzie oczekiwał pojawienia się zdefiniowanego ciągu znaków.
KPPP wyśle zdefiniowany ciąg znaków.
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.
Program przechowuje wprowadzony do bufora tekst do określonego rejestru. Jedynym dostępnym rejestrem jest w chwili obecnej rejestr password
.
Powoduje przerwanie działania skryptu i oczekiwanie przez zdefiniowaną liczbę sekund.
KPPP wysyła do modemu polecenie hangup (rozłączenia).
KPPP ustawia tryb pracy modemu na odpowiadanie na połączenia przychodzące.
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.
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.
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 "*".
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.
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.
KPPP oczekuje na otrzymanie określonego tekstu. Tekst ten zostanie zapamiętany do wykorzystania w poleceniu 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ład 4.1. 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.
Przykład 4.2. 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
Przykład 4.3. 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
Przykład 4.4. 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.
Przykład 4.5. 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 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.
Wykonuje polecenie przez rozpoczęciem dzwonienia do dostawcy internetowego ISP.
Polecenie wykonywane tylko po zakończonym sukcesem połączeniu do Internetu.
Polecenie wykonywane w czasie trwania połączenia, tuż przed rozłączeniem się modemu.
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 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.
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.
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.
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.
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ń.
Zmiany w ustawieniach dokonywane w tym oknie, dotyczą wszystkich połączeń zdefiniowanych w KPPP
Karta Połączenia
Okno dialogowe służy do zarządzania listą połączeń. Nazwy połączeń widoczne są w postaci listy po lewej stronie okna.
Aby usunąć połączenie, należy nacisnąć przycisk po prawej stronie listy, a następnie potwierdzić decyzję.
Można skopiować definicję połączenia przez naciśnięcie przycisku . Można z tego skorzystać w celu ustawienia połączeń dla różnych osób z rodziny, choć oczywiście lepiej zdefiniować dla nich osobne konta w systemie operacyjnym. Możliwe jest także posiadanie więcej niż jednego konta u dostawcy Internetu, lub też korzystanie z usług różnych dostawców intenetu.
Naciśnięcie otworzy okno opisane w rozdziale Ręczna konfiguracja połączenia, wypełnione informacjami o wybranym połączeniu.
Naciśnięcie przycisku umożliwi wybór pomiędzy konfiguracją za pomocą Asystenta lub Konfiguracji ręcznej opisywanej wcześniej.
Jeżeli wybrane zostanie połączenie, dla którego włączona jest opcja liczenia kosztów, to informacje sumaryczne o tym połączeniu zostaną przedstawione w dwóch polach o nazwach: Koszty połączeń: oraz Ruch:.
Po lewej stronie pól informujących o kosztach i ruchu, znajdują się dwa przyciski: oraz .
Naciśnięcie spowoduje wyzerowanie pól Koszty połączenia: oraz Ruch: . Operację tę najlepiej wykonywać raz w miesiącu lub raz na kwartał, po otrzymaniu rachunku telefonicznego i sprawdzeniu kosztów połączeń. Oba pola mogą być zerowane niezależnie, po naciśnięciu pojawi się pytanie o wybór licznika do wyzerowania.
Naciśnięcie spowoduje otwarcie okna przedstawiającego rejestr wszystkich połączeń wykonanych przez program KPPP. Jeżeli dzienniki nie są usuwane, można się przemieszczać na liście w krokach miesięcznych. Może to być użyteczne, gdy otrzymano zbyt wysoki rachunek i trzeba sprawdzić jego przyczyny.
Karta Urządzenie
W tym oknie można dokonać wyboru i konfiguracji modemu
Należy tu wybrać wykorzystywane urządzenie z dostępnej listy
/dev/ttys0
Użytkownicy systemów DOS oraz Windows® znają ten rodzaj urządzenia pod nazwą portu COM1, natomiast port COM2 określany jest za pomocą /dev/ttys1
i tak dalej. Ten rodzaj urządzeń jest najczęściej wykorzystywany w systemach Linux®.
/dev/cua0
Pierwszy port szeregowy (COM1). COM2 jest oznaczany nazwą /dev/cua1
i tak dalej. To nazewnictwo urządzeń stosowane jest w systemach z rodziny BSD: FreeBSD, NetBSD oraz OpenBSD. Starsze wersje systemów Linux® również stosują te nazwy, jednak zostały one dosyć dawno zmienione na /dev/ttyS
.x
/dev/ttyI0
W systemie Linux® te nazwy przydzielane są wewnętrznym kartom ISDN. Wykorzystują one emulację standardowego modemu kompatybilnego z Hayes. Urządzenie /dev/ttyI0
oznacza pierwszą kartę, /dev/ttyI1
drugą, i tak dalej. Urządzenia te występują tylko w wersji dla systemu Linux®.
/dev/modem
Wiele dystrybucji systemu Linux® tworzy dowiązanie symboliczne do rzeczywistego urządzenia modemu, o nazwie /dev/modem
. Należy unikać stosowania tej nazwy urządzenia., lepiej wykorzystać nazwę związaną z rzeczywistym modemem.
Należy wybrać spośród: Sprzętowa (CRTSCTS), Programowa (XON/XOFF) oraz Brak. Wartością zalecaną dla tego ustawienia, jest Sprzętowa kontrola przepływu.
Należy wybrać poprawną sekwencję znaków, stosowaną przez modem, a odpowiadającą klawiszowi „Enter”. Większość modemów wykorzystuje znaki „CR/LF”, niektóre jednak mogą wymagać innego ustawienia. Jeżeli pojawią się trudności podczas uruchamiania skryptów połączeń, to można spróbować zmienić to ustawienie.
Należy wybrać pozycję z listy prędkości połączeń udostępnianych przez port szeregowy. Należy pamiętać, iż prędkość portu szeregowego często jest dużo wyższa od prędkości modemu. Najlepiej wybrać najwyższą dostępną wartość, a następnie zmniejszać ją w przypadku problemów z połączeniem.
Należy wybrać tę opcję, jeżeli program KPPP powinien tworzyć plik blokujący. W systemie Linux® pliki blokujące tworzone są w folderze /var/lock
. Programy takie jak mgetty wymagają istnienia plików blokujących, a KPPP nie będzie współpracować z mgetty, jeżeli plik nie istnieje. Należy się upewnić, iż nie ma ustawionej opcji lock
dla demona pppd jeżeli to KPPP ma blokować dostęp do modemu. Jako że w takim wypadku demon pppd będzie próbował zablokować urządzenie, poprzednio zablokowane już przez KPPP. Spowoduje to błąd demona pppd, zaś KPPP wyświetli komunikat: pppd died unexpectedly.
Jest to czas w sekundach, przez jaki KPPP będzie oczekiwać na odpowiedź CONNECT z modemu. Ustawienie na wartość około 30 sekund wystarcza w większości przypadków.
Karta Modem
Parametr określa czas, przez który modem powinien oczekiwać przed ponownym dzwonieniem, po otrzymaniu sygnału zajętości. W niektórych krajach mogą wystąpić wymagania operatora telefonicznego, zakazujące ustawiania tej wartości na zbyt niskim poziomie.
Za pomocą suwaka można określić poziom głośności modemu. Lewa strona oznacza niski poziom, środek - poziom średni, zaś prawa strona - poziom najwyższy. W niektórych modemach, poziom niski oznacza całkowite wyłączenie dźwięku, w innych poziomy średni oraz najwyższy praktycznie nie różnią się.
W tym oknie, można wprowadzać dodatkowe polecenia dla posiadanego modemu. Jeżeli jest to modem kompatybilny ze standardem Hayes, to prawdopodobnie nie trzeba zmieniać żadnych ustawień domyślnych, jednak zawsze możesz przeczytać o nich w dodatku Polecenia standardu Hayes tej dokumentacji. Informacje tam podane mogą być użyteczne, jeżeli pojawiają się problemy przy konfiguracji stabilnego połączenia do dostawcy Internetu (ISP). Jeżeli modem się zawiesza, można zmodyfikować ustawienia: Przerwa przed inicjalizacją oraz Przerwa po inicjalizacji. Ustawienia te regulują czas przerwy, którą program KPPP wstawia przed i po wysłaniu ciągu inicjalizującego modem. Jeśli ustawienie Przerwa przed inicjalizacją na wartość większą od zera, spowoduje to wysłanie dodatkowego znaku CR.
Naciśnięcie tego przycisku spowoduje odpytanie modemu przez program KPPP. W przypadku powodzenia, informacje identyfikujące możliwości modemu zostaną wyświetlone w oknie dialogowym, jednak ich ilość oraz zakres mogą być różne, jest to uzależnione od posiadanego modemu.
Naciśnięcie przycisku spowoduje otwarcie małego okienka terminala, który może zostać wykorzystany do przetestowania modemu i eksperymentowania z negocjacją protokołu, inicjowaniem połączenia ppp z dostawcą Internetu, itp. Dzięki tej opcji, nie jest konieczne posiadanie zewnętrznego oprogramowania takiego jak np.: minicom lub Seyon.
Karta Wykres
W tym oknie następuje zdefiniowanie kolorów wykorzystywanych przez KPPP przy rysowaniu wykresu przepustowości łącza. Możliwe jest ustawienie różnych kolorów dla Tła, Tekstu, Bajtów przychodzących oraz Bajtów wychodzących.
Karta Różne
Ta część zawiera opcje, które nigdzie indziej nie pasowały, ale jednak mogą być całkiem użyteczne.
Numer wersji demona pppd zainstalowanego w systemie.
Czas przez jaki program KPPP będzie oczekiwał po wykonaniu skryptu i wywołaniu demona pppd na zestawienie poprawnego połączenia ppp. Jeżeli połączenie nie zostanie zestawione, to po tym czasie nastąpi rezygnacja i "zabicie" procesu pppd.
Wybranie tej opcji, spowoduje że KPPP zadokuje na panelu w postaci niewielkiej ikony. Po kliknięciu lewego przycisku myszy na tej ikonie, okno KPPP pojawi się ponownie. Naciśnięcie prawego przycisku spowoduje otwarcie podręcznego menu z opcjami: otwarcia okna, wyświetlenia statystyk transferu lub zamknięcia połączenia. Niniejsza opcja unieważnia ustawienie Minimalizuj po połączeniu.
Wybranie tej opcji, spowoduje iż program KPPP będzie próbował ponownie się połączyć w przypadku rozłączenia.
Powoduje iż program KPPP wyświetla czas trwania połączenia w pasku tytułowym okna programu.
Wybranie tej opcji, spowoduje iż KPPP w prawidłowy sposób zakończy połączenie ppp, rozłączy modem oraz wyłączy liczenie kosztów przy zamykaniu serwera X. Jest to przydatne, gdy użytkownik zwykle zapomina, że jest połączony z Internetem, lub gdy nie lubi się martwić i pamiętać o ręcznym rozłączaniu. Jeżeli takie działanie jest niepożądane, to należy tę opcję wyłączyć. Należy jednak pamiętać, że jeżeli stosowana jest funkcja liczenia kosztów połączeń, to w dziennikach połączeń brak będzie informacji o zakończeniu połączenia, jeżeli X i KPPP zakończy tak działanie.
Wybranie tej opcji, spowoduje iż program KPPP zakończy działanie po rozłączeniu z Internetem. Wyłączenie jej spowoduje iż okno programu KPPP pozostanie otwarte po rozłączeniu.
Wybranie tej opcji, powoduje iż okno programu KPPP będzie minimalizowane po nawiązaniu połączenia. Informacja o czasie trwania połączenia pojawi się na pasku zadań.
Karta O programie pokazuje wersję programu KPPP, licencję oraz informację o autorach.
Ta część dokumentacji przeznaczona jest dla Administratorów systemu (użytkownika root
), osób o wysokich wymaganiach dotyczących bezpieczeństwa, lub osób zainteresowanych technicznymi kwestiami funkcjonowania systemu. Nie jest konieczne czytanie tego tekstu, jeżeli wykorzystujesz Linuksa w domu dla swoich potrzeb, jednak zawsze możesz nauczyć się czegoś interesującego.
Administrator systemu może decydować kto może wykorzystywać KPPPIstnieją dwie możliwości realizacji tego zadania.
Utwórz nową grupę (możesz ją nazwać na przykład dialout
) i przypisz do niej wszystkich użytkowników, którzy będą mogli korzystać z KPPP, a nasŧępnie wpisz następującego polecenia:
#
chown
root.dialout
/opt/kde/bin/kppp
#
chmod
4750
/opt/kde/bin/kppp
W powyższym przykładzie, zakłada się iż KDE zainstalowano w katalogu /opt/kde/
oraz, że nowo utworzona grupa nosi nazwę dialout
.
Zanim program KPPP wykona cokolwiek, najpierw sprawdza on istnienie pliku /etc/kppp.allow
. Zawiera on listę wszystkich użytkowników, którzy mogą skorzystać z programu KPPP. Plik ten powinien posiadać ustawione prawo odczytu dla każdego użytkownika (ale oczywiście BEZ prawa zapisu). Program KPPP rozpoznaje jedynie nazwy (loginy) użytkowników, tak więc nie możesz wykorzystywać numerów UID użytkownika. Poniżej przedstawiono krótki przykład:
# /etc/kppp.allow # komentarze oraz linie puste są ignorowane krzys antek monika
W powyższym przykładzie, jedynie użytkownicy: krzys
, antek
oraz marta
mogą wykorzystać program KPPP i zadzwonić do dostawcy internetowego. Poza wymienionymi w pliku loginami, pełne możliwości programu może wykorzystywać użytkownik o numerze UID równym 0 (co oznacza, że nie musisz wpisywać tutaj użytkownika: root)
Jest praktycznie niemożliwe napisanie programu, który ma dostęp do sprzętu (modemu), bez zastosowania znacznika SUID w sposób jednocześnie bezpieczny i łatwy dla niedoświadczonego użytkownika. Program KPPP radzi sobie z tym problemem w sposób następujący:
Natychmiast po uruchomieniu program KPPP rozdziela się (fork) na osobne procesy..
Proces główny, obsługujący interfejs użytkownika (GUI), pozbywa się znacznika SUID i działa dalej na prawach zwykłego użytkownika.
Proces pomocniczy utrzymuje podwyższone uprawnienia, gdyż jest on odpowiedzialny za wszystkie działania wymagające uprawnień Administratora. Aby jego działanie było bezpieczne, to ta część programu nie wykorzystuje żadnych funkcji środowiska KDE lub bibliotek Qt™. Kod źródłowy procesu pomocniczego jest krótki (około 500 linii) oraz dobrze udokumentowany, tak aby możliwe było szybkie wykrycie wszelkich luk i zagrożeń dla bezpieczeństwa.
Procesy główny oraz pomocniczy komunikują się ze sobą z wykorzystaniem standardowego mechanizmu IPC. systemu UNIX®
Specjalne podziękowania należą się Harri'emu Portenowi za napisanie tego wspaniałego programu. Wszyscy myśleli, że jest to niemożliwe, ale jemu udało się to w ciągu tygodnia.
Począwszy od wersji 9.1 KPPP umożliwia stosowanie najpowszechniej używanego protokołu autentykacji: PAP
Protokół autoryzacji PAP. może być wykorzystywany na dwa sposoby
Ten sposób wykorzystywany jest przez wielu dostawców Internetu (ISP) i jego działanie polega na konieczności uwierzytelnienia komputera inicjującego połączenie dla potrzeb serwera protokołu PPP zarządzanego przez dostawcę Internetu. Serwer protokołu PPP nie musi się uwierzytelniać przed twoim komputerem. Nie stanowi to jednak problemu bezpieczeństwa, dopóki użytkownik jest pewny że dzwoni na właściwy numer.
Jeżeli dostawca Internetu (ISP) przekazuje użytkownikowi nazwę użytkownika, hasło, oraz informację o konieczności wykorzystania protokołu PAP, to jest to właśnie ten wariant uwierzytelniania.
Rozwiązanie podobne do opisanego powyżej, jednakże w tym wypadku komputer klienta wymaga aby serwer PPP dostawcy Internetu (ISP) potwierdził swoją tożsamość. Jeżeli zachodzi taka sytuacja, to należy wybrać metodę uwierzytelniania Opartą na skrypcie, zamiast metody PAP. Konieczna będzie również ręczna edycja pliku /etc/ppp/pap-secrets
. Jakkolwiek program KPPP nie ma wbudowanego wsparcia dla tego rodzaju uwierzytelniania, to jednak konfiguracja i ustanowienie takiego połączenia jest stosunkowo proste.
Upewnij się, czy pliki /etc/ppp/options
(oraz ˜/.ppprc
jeżeli istnieje) nie zawierają żadnego z poniższych parametrów:
+pap
-pap
papcrypt
+chap
+chap
+ua
remotename
Najprawdopodobniej nie będzie w wymienionych plikach żadnej z tych opcji, jednak zawsze należy to sprawdzić.
Uruchomienie KPPP
Kliknij przycisk
Wybierz z listy konto dla którego chcesz skonfigurować uwierzytelnianie PAP, a następnie kliknij przycisk
Przejdź do karty: Dzwonienie
Wybierz opcję PAP w liście wyboru Uwierzytelnianie.
Jeżeli użytkownik nie chce za każdym razem wpisywać swojego hasła dostępu, może zaznaczyć pole Zapamiętaj hasło w oknie połączenia. Spowoduje to zapamiętanie hasła w pliku, ważne jest więc aby nikt inny nie miał dostępu do konta użytkownika.
Po zakończeniu konfiguracji, należy zamknąć okna dialogowe, wprowadzić nazwę użytkownika i hasło dostarczone przez dostawcę Internetu (ISP), a następnie kliknąć przycisk .
Poniższy fragment oparty został o list email od Keith'a Brown'a (kbrown AT pdq.net)
i opisuje sposób konfiguracji programu KPPP do pracy z wykorzystaniem konta opartego o uwierzytelnianie PAP lub CHAP. Jeżeli dostawca Internetu (ISP) podał tylko informacje o nazwie użytkownika i haśle, można pominąć ten fragment dokumentacji, gdyż wszelkie instrukcje zostały opisane wcześniej.
Protokół uwierzytelniania PAP sprawia wrażenie bardziej skomplikowanego niż w rzeczywistości jest. Serwer (czyli komputer z którym nawiązywane jest połączenie) wymaga od klienta (komputera użytkownika) aby się zidentyfikował wykorzystując uwierzytelnianie PAP. Program demona protokołu PPP na komputerze klienta(pppd) wyszukuje w odpowiednim pliku informacji dotyczących nazwy serwera oraz nazwy użytkownika powiązanych zdanym połączeniem, a następnie wysyła zdefiniowane w tym pliku hasło.
Poniżej znajdują się informacje o konfiguracji połączenia. Założono, iż użytkownik posiada zainstalowany program demona pppd w wersji 2.2.x lub wyższej, oraz standardową lokalizację plików konfiguracyjnych w katalogu /etc/ppp
.
Dla celów ilustracji przyjęto następujące założenia: użytkownik userbaz
posiada konto internetowe na serwerze glob.net
z ustawionym hasłem: foobar
Należy zacząć od dopisania do pliku odpowiednich linii konfiguracyjnych/etc/ppp/pap-secrets
. Format wpisu jest następujący:
UŻYTKOWNIK SERWER HASŁO
Przykładowo możesz dodać do pliku /etc/ppp/pap-secrets
następującą linię:
userbaz glob foobar
Można użyć dowolnej nazwy serwera, pod warunkiem, że z takiej samej nazwy użyto jako argumentu programu pppd. Jak widać we wcześniejszym przykładzie, została ona skrócona do glob
, nie ma to większego znaczenia, gdyż służy ona tutaj jedynie do lokalizacji poprawnego hasła.
Następną czynnością, jest skonfigurowanie połączenia w programie KPPP. Podstawowe czynności są identyczne jak dla innych połączeń, należy się tylko upewnić iż plik /etc/ppp/options
jest pusty, oraz czy nie jest konieczne tworzenie specjalnego skryptu logowania.
W oknie ustawień program KPPP w dolnej części karty Dzwonienie znajduje się przycisk . Powoduje on wyświetlenie okna edycyjnego, w którym można wprowadzić parametry, niezbędne do przekazania aplikacji demona pppd w trakcie jego uruchamiania. W przypadku przekazywania wielu parametrów, należy każdy z nich wprowadzić jako osobną wartość we właściwej kolejności w polu listy.
Wprowadzając argumenty dla demona pppd należy zacząć od specyficznych wymagań użytkownika, a następnie podać argumenty konfigurujące uwierzytelnianie PAP. W prezentowanym przykładzie, argumenty podawane są w następującej kolejności user
, userbaz
, remotename
oraz glob
.
Opcja user
informuje demona pppd o nazwie użytkownika, która zostanie odszukana w pliku pap-secrets
, a następnie przesłana do serwera. Natomiast remotename wykorzystywane jest przez pppd do oznaczenia wpisu w pliku pap-secrets
, tak więc może to być dowolny tekst pod warunkiem, że jest identyczny z tym zapisanym w plikupap-secrets
.
Po zapoznanie się z niniejszą dokumentacją, użytkownik powinien samodzielnie skonfigurować połączenie z wykorzystaniem protokołu uwierzytelniania PAP. Konfiguracja dla protokołu CHAP jest bardzo podobna. Więcej inforacji znajduje się w podręczniku administratora sieci systemu Linux® w części opisującej strukturę pliku chap-secrets
oraz parametry konfiguracyjne demona pppd.
Niniejszy rozdział rozjaśni nieco tajemnice konfigurowania modemu. Wszystkie przedstawione polecenie modemu zgodne są ze standardem poleceń AT Hayes, jednak czasami ze względu na różnice pomiędzy modemami, konieczne będzie sięgnięcie do bardziej obszernej dokumentacji.
Sesje modemu, pozwalają na bezpośrednie sterowanie zachowaniem modemu. Użytkownik wprowadza polecenia, modem zaś na nie odpowiada. Aby nawiązać połączenie z modemem w tym trybie należy wybrać przycisk: , a następnie w oknie konfiguracji wybranego urządzenia, wybrać kartę Modem i nacisnąć przycisk . Spowoduje to wywołanie okna dialogowego dla bezpośredniej komunikacji z modemem. Wprowadzenie polecenia ATZ
(oznaczającego zerowanie modemu) powinno wyświetlić odpowiedź OK. Wybranie pozycji -> zamyka okno bezpośredniej sesji modemu.
Jedną z wielu sytuacji, w których przydatna jest funkcja wysyłania poleceń bezpośrednio do modemu, jest przypadek, gdy niezbędne jest przechowywanie i wybór spośród kilku różnych konfiguracji modemu, a nie ustawianie ich przy każdym połączeniu. Odbywa się to przez zastosowania profili konfiguracyjnych, które mogą być przechowywane przez modem. Numerowane są one kolejno: 0,1,... , za pomocą polecenia AT&V można wszystkie wyświetlić. Profilem domyślnym jest zwykle profil 0 (można go zmieniać za pomocą polecenia AT&Y.) Profil będący w użyciu, nazywany jest profilem„aktywnym”.
Każda zmiana ustawień modemu, zmienia aktywny profil konfiguracyjny, jednak polecenie ATZ powoduje załadowanie profilu domyślnego, usuwając wszelkie poczynione zmiany. Aby zmiany zapisać, należy załadować profil, który ma być zmieniony poleceniem ATZn
(gdzie n
oznacza numer profilu). Następnie należy dokonać zmian, i zapisać je za pomocą poleceniaAT&Wn
. Jeżeli program kppp powinien używać wybranego profilu, to należy zmienić polecenia inicjalizujące modemu ( Modem Polecenia inicjalizujące). Na przykład, polecenie ATZ1 spowoduje zerowanie modemu i załadowanie zapisanego profilu numer 1.
Jeżeli niezbędne jest usunięcie wszelkich zmian dokonanych i zapisanych w profilach modemu, można wykorzystać polecenie AT&F&W, które uaktywnia profil domyślny i ustawia go fabrycznie zdefiniowanymi wartościami domyślnymi.
Przykłady zmian profilów znajdują się w następnej części
Czasami program KPPP napotyka na trudności z rozłączeniem modemu po zakończeniu połączenia. Może to wynikać z konfliktu ustawień pomiędzy KPPP a modemem. Typowy modem może się rozłączyć na dwa sposoby: Za pomocą polecenia, i Zgodnie z sygnałem DTR. Wykorzystanie polecenia wymaga przesłania sekwencji wyjścia do trybu poleceń modemu, i przesłanie polecenie rozłącz (ATH).
Metoda ta często wykorzystywana jest poza programem KPPP, przy ręcznej konfiguracji demona pppd można przejść do trybu poleceń, zakończyć sesję terminala, a następnie uruchomić demona pppd bez konieczności rozłączania modemu. W każdej innej sytuacji metoda sygnału DTR jest preferowana i prostsza.
Metoda sygnału DTR powoduje rozłączenia modemu w sytuacji gdy program KPPP przestaje z niego korzystać. Gdy wyświetlony zostanie stan modemu za pomocą polecenia AT&V, ustawiony w domyślnym profilu parametr &D0, oznacza wyłączenie stosowania metody DTR. Aby ją włączyć, należy uruchomić sesję terminala, a następnie wprowadzić następujący ciąg poleceń:
ATZ
# wyzeruj do profilu domyślnegoAT&D2
# Ustaw odłożenie słuchawki po utracie sygnału DTRAT&W
# Zapisz ustawienia w profilu domyślnym
W każdym momencie, gdy sygnał "Data Terminal Ready" (DTR) na liniii szeregowej pomiędzy komputerem i modem, wchodzi w stan "wysoki", modem odkłada słuchawkę. Gdy KPPP otwiera port szeregowy, sygnał DTR ustawiany jest w stan "niski", często na modemie zewnętrznym zapala się wtedy lampka DTR (lub TR). Jeżeli światełko TR wyłącza się (na przykład gdy program KPPP zamknął port szeregowy itp.) modem odkłada słuchawkę.
Innym sposobem na rozłączenie modemu w trakcie połączenia (przy ustawionym parametrze AT&Dn
gdzie n
nie jest równe 2), jest spowodowanie aby modem akceptował polecenia w trakcie trwania sesji. Aby rozłączanie następowało w sposób prawidłowy, należy skonfigurować czas oczekiwania na krótki przedział, za pomocą następujących poleceń:
ATZ
ATS12=5
AT&W
Następnie należy przesunąć suwak Czas oczekiwania w oknie ustawiania poleceń modemu, tak aby jego wartość odpowiadała wartości zapisanej w rejestrze S12
(w tym przypadku jest to5). Po tej operacji modem powinien zachowywać się poprawnie.
Gdy modem lokalny połączony jest z modemem zdalnym, stan połączenia określony jest jako„Połączony”. Do zdalnego modemu przekazywany jest każdy znak, bez interpretacji. Aby modem przeszedł w tryb poleceń, należy skorzystać ze specjalnej sekwencji, nazywanej kodem wyjścia.
Kod wyjścia, definiowany jest jako trzykrotność przedziału zdefiniowanego w rejestrze S12
, mierzonego w pięćdziesiątych częściach sekundy.
Cisza (czas trwania musi być większy niż S12
/50 sekund)
Znak wyjścia (zdefiniowany jest w rejestrze S2
, którego wartością domyślną jest „+”), powtórzony powinien zostać trzy razy (z przerwani pomiędzy, mniejszymi od S12
/50 sekundy.
Cisza (czas trwania musi być większy niż S12
/50 sekund)
Po przejściu w tryb poleceń, można przesyłać do modemu polecenie ATH, która powoduje jego rozłączenia. Kod wyjścia i polecenie przerwania połączenia są definiowane w oknie dialogowymPolecenia modemu i powinny być zgodne z ustawieniami używanego modemu.
Jeżeli używane jest wybieranie tonowe, można za pomocą rejestru S11
skrócić czas tego wybierania. Zapisany jest w nim czas trwania (w setnych sekundy) jednego impulsu wybierania tonowego (jednej cyfry numeru). Wartością domyślną jest 95 (prawie cała sekunda.) Możliwość skrócenia tego czasu zależy od centrali telefonicznej, do której podłączona jest linia. Wartością minimalną tego parametru jest 50 (czyli prawie dwa razy szybsze wybieranie), i z reguły działa bez większych problemów.
ATZ
# wyzeruj ustawienia do profilu domyślnegoATS11=50
# największa szybkość wybierania, wpisz większą wartość gdy ta nie zadziałaAT&W
# zapisz ustawienia w profilu domyślnym
Rozdział bazuje na materiale udostępnionym przez Martin'a Häfner'a, (mh AT ap-dec717c.physik.uni-karlsruhe.de)
Ten rozdział stanowi wprowadzenie do technologii połączeń zwrotnych w systemach UNIX® (Linux®) oraz ich konfiguracji w programie KPPP. Szczególną uwagę zwrócono na konfigurację połączenia do opartego na skryptach serwera połączeń zwrotnych w systemie Linux® callback serwer
Wykorzystanie technologii połączeń zwrotnych może być przydatne z wielu powodów, np.:
dla podniesienie poziomu bezpieczeństwa sieci
w celu zmniejszenie kosztów połączeń dla współpracowników
do kontroli kosztów telefonów, gdy są one kosztami uzyskania przychodów w firmie
Wyobraźmy sobie sytuację, w której ktoś dzwoni na numer serwera dostępowego sieci i łamie hasło dostępu. Po co instalować i utrzymywać sieciowe zapory, skoro dostęp do sieci jest taki prosty?
Oprogramowanie połączeń zwrotnych, najpierw prosi o podanie nazwy użytkownika, a następnie rozłącza się. Następnie serwer dzwoni na numer, zdefiniowany przez administratora i przechowywany na serwerze w bazie danych. Komputer inicjujący połączenie, odbiera telefon i kontynuuje proces łączenia dalej tak jakby nic się nie stało. Serwer wymaga teraz podania nazwy użytkownika i hasła, wiedząc że nikt nie próbuje podszyć się pod autoryzowanego użytkownika. Następuje ostateczne nawiązanie połączenia i uruchomienie aplikacji pppd.
Należy odpowiedzieć sobie teraz na pytanie, jak zmusić komputer użytkownika inicjującego połączenie, do odebrania telefonu gdy serwer oddzwoni. Czy niezbędny jest specjalny program, taki jak np.mgetty? Odpowiedź brzmi nie, nie ma potrzeby uruchamiania specjalnych programów, właściwie każdy program typu terminal np.minicom może być wykorzystany w tej sytuacji.
Niezbędne jest tylko wysłanie do modemu polecenia włączającej tryb Automatycznej odpowiedzi, dzięki czemu modem "podniesie słuchawkę" gdy odbierze sygnał: RING
. Polecenie sterujące dla modemu wygląda następująco:
AT&SO=1
Polecenie nakazuje modemowi podniesienie słuchawki po wykryciu sygnału dzwonienia RING
.
Jak wiele innych programów typu klient, KPPP sprawdza czy połączenie zostało zamknięte przez serwer, a następnie przerywa sesję połączeniową po wykryciu sygnału NO CARRIER
z modemu. Stanowi to pewne utrudnienie przy konfiguracji połączeń zwrotnych. Sygnał NO CARRIER
będzie odebrany w momencie gdy serwer się rozłączy i trudno oczekiwać iż modem będzie pokazywać stan CARRIER UP
przez cały czas. Niektóre rozwiązania połączeń zwrotnych wymagają specjalnego oprogramowania po stronie klienta aby uzyskać zamierzone działanie, jednak możliwe jest takie skonfigurowanie modemu aby to osiągnąć. Można to zrobić za pomocą następującego polecenia::
AT&C0
W celu przetestowania działania tego polecenia, można wykorzystać program minicom, zadzwonić na numer serwera połączeń zwrotnych i zobaczyć co się stanie.
Po przedstawieniu teoretycznych założeń działania połączeń zwrotnych, należy omówić szczegóły konfiguracji programu KPPP do obsługi połączenia zwrotnego.
Procedura jest całkiem prosta, i wygląda następująco:
Najpierw należy nakazać modemowi, aby akceptował połączenia przychodzące, oraz aby nie przerywał procedury negocjacji protokołów w chwili gdy serwer połączeń zwrotnych rozłączy się po raz pierwszy. Możesz ustawić obie opcje w karcie Modem okna konfiguracyjnego KPPP, poprzez wpisanie AT&C0S0=1DT w polu: Polecenie dzwonienia.
Nie ma potrzeby dokonywania innych zmian w konfiguracji programu KPPP. Jeżeli jednak pojawią się problemy we współpracy z modemem, to należy poszukać dodatkowych informacji w rodziale Rozwiązywanie problemów niniejszej dokumentacji.
Konfiguracja połączenia zwrotnego po stronie serwera jest w dużym stopniu uzależniona od wykorzystywanego systemu operacyjnego. Systemy operacyjne UNIX®, Windows® orazMacintosh wykorzystują różne kody znaków końca linii, i podczas procedury logowania należy się do tego dostosować. Jeżeli następuje połączenie do serwera systemu Windows® należy używać znaków: CR/LF
, jeżeli jest to serwer UNIX® to koniec linii określa się za pomocą CR
, natomiast w przypadku serwera Macintosh jest to znak LF
W niniejszej instrukcji przyjęto założenie, że połączenie następuje z serwerem zwrotnym opartym o system Linux®, używającym standardowego polecenia login (tzn. nie jest to specjalny protokół autoryzacji typu PAP itp.).
W polu wyboru Uwierzytelnianie w karcie Dzwonienie okna konfiguracji nowego połączenia, należy wybrać opcję Oparte na skrypcie
Następnie, należy utworzyć skrypt logowania. Narzędzie edycji skryptów, jest jedną z najciekawszych możliwości programu KPPP Narzędzie jest dostępne w oknie dialogowym Ustawienia połączenia w karcie Skrypt.
W przedstawionym przykładzie, użytkownik userxyz
powinien mieć ustawiony następujący skrypt logowania. Ponieważ serwer połączeń zwrotnych ma skonfigurowaną tablicę nazw użytkowników i odpowiadające im numery telefonów, należy skonfigurować tu użytkownika z nazwą alternatywną (inną niż nazwa użytkownika na serwerze), dla celów bezpieczeństwa.
Dla każdej linii skryptu, należy wybrać kryteria z listy wyboru po lewej stronie okna dialogowego, i wpisać parametry dotyczące wybranej akcji po prawej stronie listy wyboru. Naciśnięcie przycisku spowoduje dodanie odpowiedniej linii do skryptu. Można wstawić linię w środku edytowanego skryptu za pomocą przycisku , zaś usunięcie linii odbywa się za pomocą przycisku .
Kompletny skrypt połączeniowy powinien wyglądać następująco (znak # oznacza komentarz):
Expect ogin: # wykorzystywany jest standardowy terminal ID "" # program kppp wysyła nazwę użytkownika ustawioną w głównym oknie logowania Expect for userxyz: # lista dostępnych numerów zostaje wyświetlona, użytkownik powinien jeden z nich wybrać Send userxyz-home # użytkownik prosi o połączenie zwrotne na numer telefonu domowego Expect ogin: # proces połączenia zwrotnego jest kontynuowany serwer nawiązuje nowe połączenie, dlatego też pojawia się pytanie o login. Send ID Expect assword: # następnie należy wysłać hasło Send password Expect > # oczekiwanie na pojawienie się znaku zachęty (może on różnie wyglądać) Send start_ppp # uruchomienie demona pppd na serwerze
Po otrzymaniu żądania zalogowania, użytkownik wysyła swoją nazwę i oczekuje na listę dostępnych dla niego numerów telefonicznych. Następnie przesyła do serwera, informację o wybranym numerze, dla celów nawiązania połączenia zwrotnego. W programie KPPP może pojawiać się okno dialogowe z informacją o oferowanych przez serwer numerach, co może być przydatne gdy użytkownik często zmienia swoją lokalizację, np. jest przedstawicielem handlowym i dzwoni z różnych hoteli. Po dokonaniu wyboru, serwer rozłącza się i nawiązuje połączenie dzwoniąc na wybrany przez użytkownika numer, a następnie ponownie prosi o podanie nazwy użytkownika i hasła. Po przesłaniu informacji o autoryzacji, KPPP oczekuje na pojawienie się znaku zachęty, a następnie uruchamia krótki skrypt (tutaj: start_ppp
), który uruchamia demona pppd na serwerze.
Skrypt start_ppp
może wyglądać następująco:
#!/bin/sh stty -echo exec /usr/sbin/pppd -detach silent modem
Uruchomienie i konfiguracja serwera PPP wykracza poza zakres niniejszej instrukcji. Więcej informacji na ten temat dostępne jest na stronach dokumentacji programu pppd. Obszerny opis zagadnień związanych z serwerami połączeń zwrotnych można znaleźć tutaj: http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback
Pozostałe zagadnienia konfiguracyjne tzn. ustawienie pppd konfiguracja adresu IP są ustawiane standardowo, nie ma potrzeby uruchamiania żadnych dodatkowych programów.
Program KPPP jak też i pozostałe programy takie jak mgetty lub faxgetty, mogą wykorzystywać ten sam port szeregowy. Nie stanowi to problemu, gdyż program KPPP tworzy specjalny plik zabezpieczający, który informuje inne aplikacje iż KPPP zajmuje linię w tym momencie. Dzięki temu nie ma konfliktów w dostępnie do portu szeregowego, nie zdarzy się sytuacja, aby jednocześnie korzystała z niego więcej niż jedna aplikacja.
Istnieje kilka znanych problemów w działaniu programu KPPP w trybie połączeń zwrotnych.
Po przestawieniu trybu pracy modemu na automatyczną odpowiedź, konieczne może być wyzerowanie modemu po zakończeniu połączenia. W innym przypadku, modem będzie kontynuował "podnoszenie słuchawki", co nie jest pożądane w przypadku gdy jest to też linia telefoniczna.
Program KPPP może mieć niewielkie problemy podczas jednoczesnego wykorzystania linii przez inne programu jak np. mgetty. Jeżeli mgetty działa i wykorzystuje linię modemową, KPPP nie będzie mógł poprawnie zainicjować modemu.
Program KPPP nie jest w stanie odpytywać użytkownika w trakcie wykonywania skryptu logowania. Powoduje to niestety, iż tak jak w podanym wyżej skrypcie przykładowym, KPPP pyta o nazwę użytkownika dwa razy, drugi raz po oddzwonieniu przez serwer połączeń zwrotnych. Można tego uniknąć poprzez zakodowanie nazwy użytkownika na stałe w skrypcie logowania (nie jest to rozwiązanie elastyczne, ale działa).
Oprogramowanie serwera połączeń zwrotnych dla systemu Linux® dostępne jest w wielu miejscach
Dobrze znany program mgetty ma możliwości obsługi połączeń zwrotnych. Opis konfiguracji połączeń zwrotnych w mgetty dostępy jest pod adresem: http://www.dyer.demon.co.uk/slug/tipscrip.htm, autorem opisu jest: Colin McKinnon, (colin AT wew.co.uk)
.
Dostęþny jest również gotowy do zastosowania pakiet dla systemu Linux®: http://www.icce.rug.nl/docs/programs/callback/callback.html. Jego opiekunem jest Frank B. Brokken, (frank AT icce.rug.nl)
. Chociaż jego konfiguracja jest stosunkowo prosta, to na poniższej stronie dostępne jest krótkie wprowadzenie: http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback/. Strona ta zawiera również ogólne wprowadzenie do zagadnień związanych z połączeniami zwrotnymi.
System Windows® stosuje całkowicie odmienne podejście w zakresie połączeń zwrotnych. Wymagane jest rozszerzenie protokołu PPP nazywaneCBCP (Call Back Control Protocol - Protokół Połączeń Zwrotnych). Program demona pppd oferuje wsparcie dla tego protokołu, lecz konieczne w tym celu może być ponowne skompilowanie aplikacji pppd. Twórcy programu proszą o wszelkie informacje od osób, które odniosły sukces przy łączeniu się do serwera połączeń zwrotnych w systemie NT.
10.1. Pytania dotyczące dzwonienia | |
| |
10.1.1. | Nie mogę korzystać z programu KPPP. Otrzymuję komunikaty iż pppd zakończył się lub przekroczono czas oczekiwania. Co jest tego przyczyną? |
Czy uważnie Przeczytałeś tą instrukcję? Oto najczęściej występujące problemy:
Jeżeli działania powyższe nie pomagają, przydatne mogą być informacje z dzienników systemowych, które można wyświetlić poleceniem:
| |
10.1.2. | pppd died - The remote system is required to authenticate itself ... |
Typowy komunikat błędu w dziennikach systemowych: pppd[699]: The remote system is required to authenticate itself pppd[699]: but I couldn't find any suitable secret (password) for it to use to do so. pppd[699]: (None of the available passwords would let it use an IP address.) Przyczyny powyższego problemu mogą być dwie
| |
10.1.3. | Usługa pppd nieoczekiwanie kończy działanie w jądrze systemu Linux w wersjach 2.4.x |
Typowy komunikat błędu w dziennikach systemowych: pppd[1182]: pppd 2.3.11 started by user, uid 500 pppd[1182]: ioctl(PPPIOCGFLAGS): Invalid argument pppd[1182]: tcsetattr: Invalid argument pppd[1182]: Exit. Należy zainstalować program demona pppd w wersji 2.4.0b1 lub wyższej. Plik | |
10.1.4. | Dlaczego program KPPP wyświetla błąd: Nie można otworzyć modemu? |
Błąd ten oznacza, iż program KPPP nie ma wystarczających uprawnień do otwarcia urządzenia modemu. lub wybrane w karcie Modem urządzenie nie istnieje. Najpierw należy sprawdzić czy wybrano właściwe urządzenie, a następnie należy nadać programowi KPPP odpowiednie uprawnienia dostępu do urządzenia i do modyfikacji pliku
| |
10.1.5. | Dlaczego program KPPP twierdzi iż nie może stworzyć pliku blokującego dla modemu? |
W większości przypadków, problem pojawia się gdy program KPPP nie ma włączonego bitu SETUID, a użytkownik nie posiada praw zapisu do folderu z plikiem blokującym (domyślnie jest to: | |
10.1.6. | Dlaczego program KPPP ma ustawiony znacznik SETUID? |
Ustawianie bitu SETUID nie jest niezbędnie konieczne. 'Administratorzy systemów UNIX® mogą po prostu stworzyć grupę Zespół autorów programu KPPP dołożył wielu starań, aby podnieść bezpieczeństwo korzystania z niego przy ustawionym bicie SETUID. Wybór stosowanego rozwiązania należy jednak do użytkownika. Więcej informacji na ten temat znajduje się w rozdziale Bezpieczeństwo . | |
10.1.7. | Co robić, gdy program KPPP nic nie robi, i wyświetla komunikat |
Trzeba spróbować zmiany ustawień CR/LF, np.: CR, LF lub CR/LF. Możliwe jest również, że posiadany modem potrzebuje więcej czasu na odpowiedź na polecenia inicjalizujące. Ustawienie tego czasu jest możliwe w oknie dialogowym Polecenia modemu, w karcie Modem. Odpowiednie pola toCzas oczekiwania przez inicjalizacją oraz Czas oczekiwania po inicjalizacji. Jeżeli zwiększenie ich wartości poprawia funkcjonowanie połączenia, to należy je odpowiednio dostosować do swoich potrzeb. | |
10.1.8. | Połączenie działa, nie mogę jednak uruchomić żadnych programów! |
Przyczyną tego problemu może być ustawienie opcji Automatycznie konfiguruj nazwę hosta co powoduje iż serwer X, nie może podłączyć się do hosta po zmianie nazwy. Jeżeli opcja ta jest naprawdę potrzebna (ale bardzo możliwe że tak nie jest) to należy sobie radzić poprzez konfigurację uprawnień dostępu do X serwera za pomocą polecenia | |
10.1.9. | Program KPPP wykazuje poprawne połączenie, ale Konqueror pokazuje komunikat Nieznany serwer |
Należy spróbowaćpolecenia ping na numer IP jakiegoś serwera, np.:
| |
10.1.10. | Jak w programie KPPP wysłać znak \n lub \r |
Wystarczy wysłać pusty ciąg znaków, tak jak w poniższym skrypcie: Send # wyślij pusty tekst Expect ID: Send itsme Expect word: Send forgot Expect granted Send ppp | |
10.1.11. | Jak wyłączyć komunikat KPPP: Nie mogę utworzyć pliku blokującego? |
Powyższy komunikat pojawia się, gdy brak jest odpowiednich uprawnień do stworzenia bliku blokującego. Jeżeli w ustawieniach jest wybrana opcja tworzenia pliku blokującego, to użytkownik musi mieć prawa zapisu do katalogu (zwykle jest to katalog: | |
10.1.12. | Dlaczego z modemu wydobywa się taki hałas przy dzwonieniu? |
Naciśnij przycisk , a następnie Modem. Możliwe jest ustawienie trzech poziomów głośności: Wyłączony, Średni lub Wysoki. Większość modemów nie różnicuje głośności pomiędzy poziomem średnim i wysokim. Jeżeli zmiana tych ustawień nie pomaga, należy upewnić się czy zdefiniowane są właściwe dla posiadanego modemu polecenia w oknie: , Modem, . | |
10.1.13. | Ustawiłem poziom głośności modemu na „Wyłączony” lecz dalej słyszę okropny hałas w trakcie dzwonienia. Dlaczego? |
Polecenia modemu konfigurujące poziom głośności, mogą zostać zagubione, jeżeli modem nie radzi sobie z interpretacją szybko przesyłanych danych. Należy spróbować zwiększyć poziom parametru Przerwa po inicjalizacji w , Modem, . | |
10.1.14. | Program KPPP informuje o niezwykłych prędkościach modemu, takich jak: „115200” lub „57600” |
Większość modemów informuje o szybkości połączenia szeregowego, a nie o rzeczywistej szybkości przesyłu po linii telefonicznej. Należy taki modem odpowiednio skonfigurować poprzez dodanie uzupełniających poleceń w ciągu inicjującym. Dla wielu modemów jest to polecenie ATW2. Można go dodać do polecenia dzwonienia (zwykle wyglądającego tak: ATD), nowe polecenie dzwonienia powinno wtedy wyglądać tak: ATW2D. | |
10.1.15. | Dlaczego program KPPP pokazuje komunikat „Prędkość nieznana” |
Nowe modemu mają często bardzo skomplikowany format komunikatu informującego o szybkości połączenia, np.: | |
10.1.16. | Prędkość połączenia jest zbyt niska |
Jeżeli prędkość modemu nie jest satysfakcjonująca, to należy się upewnić czy ustawiono szybkość połączenia (, Modem, ) na wartość 57600 lub większą. Następnie należy sprawdzić, czy posiadany port szeregowy obsługuje większe prędkości. Wiele komputerów opartych na procesorze i486 nie działa prawidłowo, jeżeli prędkość zostanie ustawiona na 115200. Jeżeli układ portu szeregowego jest stary (jak np.8250 UART) to nie będzie działać. Jeżeli jednak posiadany układ to 16550 lub 16550A to nie powinno być najmniejszych problemów. Dodatkowo, należy poszukać w instrukcji modemu informacji o poleceniach konfigurujących szybkość transmisji. | |
10.1.17. | Moje połączenie jest naprawdę bardzo wolne! |
Jeżeli dane sączą się z prędkością kilku bajtów na sekundę, to przyczyną tego może być konfiguracja sprzętu. Jeżeli przesuwanie kursora myszki przyśpiesza transmisję, to oznacza z całą pewnością problem sprzętowy! Wiele informacji o posiadanym porcie szeregowym można uzyskać za pomocą polecenia | |
10.1.18. | Moja linia telefoniczna wymaga wybierania impulsowego, a nie tonowego (lub vice-versa). Jak to można zmienić? |
Należy zmodyfikować ciąg dzwonienia. Niemal wszystkie modemy reagują na następujące polecenia AT:
| |
10.2. Pytania o reguły liczenia kosztów połączeń. | |
| |
10.2.1. | Jak stworzyć plik zasad liczenia kosztów połączeń telefonicznych? |
Wystarczy postępować zgodnie z opisem w pliku | |
10.2.2. | Stworzyłem plik zasad liczenia kosztów telefonicznych dla swojego kraju, gdzie mogę go wysłać aby inni również mogli z niego skorzystać? |
10.2.3. | Czy stworzony przeze mnie plik zasad liczenia kosztów, może zawierać wielkości ułamkowe postaci np.: "(0.17, 45.5)"? |
Jest to możliwe, jednak należy unikać stosowania ułamków mniejszych od 1/10 sekundy, gdyż może to powodować wyższe obciążenie procesora CPU, chociaż na nowszym sprzęcie będzie to i tak niezauważalne. | |
10.2.4. | W moim kraju występuję inne (poza Świętami Wielkiej Nocy) święta z przesuwającą się datą. |
W takim wypadku, niezbędne jest napisanie programu obliczającego terminy tego święta. Najlepiej to zrobić wzorując się na kodzie obliczających terminy Świąt Wielkanocnych znajdującym się w pliku | |
10.3. Pytania dotyczące dzienników systemowych | |
10.3.1. | Pojawia się komunikat Łącze szeregowe zapętla się. Co to znaczy? |
Krótka odpowiedź: Nie został uruchomiony program PPP na zdalnym systemie. | |
10.3.2. | Dziennik połączeń zawiera błąd: Signal 15 |
Jeżeli widoczne są powyższe komunikaty, oznacza to iż nastąpiło przekroczenie czasu oczekiwania. Program KPPP czekał na poprawne zestawienie połączenia PPP i zrezygnował po pewnym czasie, wysyłając polecenie zamknięcia do programu pppd. Powoduje to właśnie komunikaty w rodzaju: pppd was signalled to shut down, with signal number 15, tzn. SIGTERM.
| |
10.3.3. | Co oznacza komunikat: Szeregowe połączenie przychodzące filtruje 8-my bit danych |
Usługa PPP wykryła iż wszystkie dane, które otrzymuje od strony serwera, mają 8-my bit ustawiony na zero. W większości przypadków oznacza to, iż zdalny serwer PPP nie został jeszcze uruchomiony. Pojawia się tam dalej pytanie o nazwę użytkownika, które jak echo zwraca wszystkie dane wysyłane przez programpppd. | |
10.3.4. | oraz can't locate module ppp-compress? O co chodzi? |
Jeżeli widoczne są następujące komunikaty:
Wystarczy dodać linie:
w pliku |
KPPP
Program KPPP wywodzi się z aplikacjiezppp 0.6, autorstwa Jay'a Painter'a. Jednakże niemal całość KPPP została przepisana od nowa, więcezppp oraz KPPP nie mają ze sobą już wiele wspólnego..
Główni programiści:
Bernd Johannes Wuebben (wuebben AT kde.org)
Mario Weilguni (mweilguni AT sime.com)
Harri Porten (porten AT kde.org)
(Aktualny opiekun)
Podziękowania dla programistów, którzy współpracowani w stworzeniu KPPP
Jesus Fuentes Saaverdra (jesus.fuentes AT etsi.tel.uva.esfor)
- wprowadzenie wielu dodatkowych opcji i innych usprawnień
Markus Wuebben (wuebben AT eure.de)
- stworzenie okna dialogowego dla zapytań ATI
Peter Silva (peter.silva AT videotron.ca)
- stworzenie okien pomocniczych i wiele innych usprawnień
Martin A. Brown (MABrown AT etcconnect.org)
Martin Häfner (mh AT ap-dec717c.physik.uni-karlsruhe.de)
- prace nad podsystemem Callback
Olaf Kirch (okir AT caldera.de)
- wyjaśnienie tajemnic wykorzystania deskryptorów plików
Prawa autorskie do dokumentacji (c) 2001 Lauri Watts (lauri AT kde.org)
, w dużej części bazuje ona na oryginale autorstwa: Bernd'ta Johannes'a Wuebben'a (wuebben AT kde.org)
Ta dokumentacja jest rozprowadzana na zasadach Licencji GNU Free Documentation License.
Ten program jest rozprowadzany na zasadach Licencji GNU General Public License.
Spis treści
Ten program jest częścią projektu KDE (http://www.kde.org/).
Ten program znajduje się w pakiecie kdenetwork na ftp://ftp.kde.org/pub/kde/, głównym serwerze FTP projektu KDE.
Aby skompilować i zainstalować ten program w Twoim systemie, uruchom następujące polecenia w katalogu głównym dystrybucji programu:
%
./configure
%
make
%
make install
Ponieważ ten program używa autoconf i automake, nie powinno być problemów ze skompilowaniem go. Jeśli napotkasz problemy, proszę je zgłosić na listach e-mailowych KDE.
Kolejne sekcje zawierają ogólne informacje dotyczące różnych systemów operacyjnych, na których może działać KPPP. Poniższe strony internetowe mogą zainteresować osoby wymagające bardziej szczegółowych informacji o protokole ppp, programie pppd oraz konfiguracji połączeń sieciowych:
The Linux® PPP FAQ: http://metalab.unc.edu/mdw/FAQ/PPP-FAQ.html
The Linux® PPP HOWTO: http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html
The Network Administrators' Guide: http://metalab.unc.edu/mdw/LDP/nag/nag.html
Działanie programu KPPP (a właściwie usługi pppd) wymaga skompilowanej w jądro systemu obsługi protokołu PPP. W przypadku gdy jądro nie obsługuje PPP, należy zdobyć ostatnią wersję programupppd z dowolnego popularnego archiwum oprogramowania dla systemu Linux® (np. ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/, oraz skompilować jądro z włączoną obsługą protokołuPPP.
Nie należy się obawiać, w rzeczywistości to nie jest takie straszne jak się wydaje. Nie należy tylko zapomnieć o zainstalowaniu aplikacji pppd.
Jeżeli użytkownik nie jest pewien, czy jądro systemu zapewnia obsługę protokołu PPP, powinien wpisać polecenie: dmesg w linii poleceń, i poszukać następującego tekstu:
PPP: version 2.3.0 (demand dialing)
TCP compression code copyright 1989 Regents of the University of California
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered
Program KPPP spróbuje automatycznie wykryć czy jądro systemu zapewnia obsługę protokołuPPP. Jeżeli tak nie jest, to wyświetlony zostanie odpowiedni komunikat zaraz po uruchomieniu KPPP.
Wersja programu usługi pppd dla jąder w wersjach 2.x systemu Linux®, powinna być równa lub większa od 2.3. Można sprawdzić posiadaną wersję usługi poprzez wpisanie polecenia pppd
w linii poleceń. Jakkolwiek pppd właściwie nie posiada opcji --version
--version
, to umieszczenie jej wygeneruje komunikat błędu, oraz między innymi wersję aplikacji pppd.
Spis treści
Niniejszy tekst zawiera opis poleceń modemowych w standardzie Hayes. Większość dostępnych na rynku modemów obsługuje dużą część tych poleceń. Jeżeli instrukcja modemu jest niedostępna (lub np. wcale jej nie było) to niniejszy opis na pewno się przyda. Można na przykład dowiedzieć się jak wyłączyć głośnik w modemie: wystarczy wpisać ATM0 i ..... nareszcie cisza !!!
Ciąg znaków inicjujących pracę modemu, zawiera zbiór poleceń. Jego zadaniem jest przygodowanie modemu do celów komunikacji, ustawiając takie opcje jak: tryb dzwonienia, czasy oczekiwania, cechy sygnału zajętości oraz wiele innych. Współczesne oprogramowanie komunikacyjne ustawia polecenia inicjujące modem, w zależności od opcji konfiguracyjnych ustawianych przez użytkownika w menu, oknach dialogowych, itp.
Przez wiele lat, modemy firmy Hayes były standardem. Jeżeli nowe firmy rozpoczynały produkcję i sprzedaż modemów, to w dużej mierze stosowały się do standardu firmy Hayes. Poniżej znajduje się lista wybranych poleceń standardu Hayes (nazywanych też poleceniami „AT”). Zbiór poleceń standardu Hayes może być podzielony na cztery grupy:
Duża litera z następującą po niej liczbą, np.: M1.
Znak „&” (ampersand) oraz duża litera z następującą po niej cyfrą. Jest to rozszerzenie standardowego zestawu poleceń, na przykład &M1. Należy zwrócić uwagę, iż polecenie M1 to nie to samo, co polecenie: &M1.
Rozpoczynają się albo od ukośnika („\”), lub znaku procent („%”), Polecenia te są zróżnicowane w modemach różnych producentów, z tego powodu omówione zostaną jedynie niektóre z nich.
Postaci Sr
=n
gdzie r
jest numerem rejestru, który ma zostać zmieniony, a n
jest wartością, którą należy do tego rejestru wpisać.
„Rejestr” jest informatycznym określeniem określonej lokalizacji w pamięci. Modemy posiadają wbudowaną niewielką pamięć, do której można zapisywać określone wartości z wykorzystaniem tego zestawu poleceń. Rejestry mogą przechowywać „zmienne” (informacje alfanumeryczne) które są wykorzystywane przez modem i oprogramowanie komunikacyjne. Na przykład, polecenie: S7=60 instruuje modem, aby„Zapisać w rejestrze numer #7 wartość 60”.
Chociaż większość poleceń definiowana jest za pomocą kombinacji liter i cyfr (L0, L1 itp.), to użycie cyfry zero, jest opcjonalne, tzn. w przykładzie polecenie L0 jest tożsama z poleceniem L. Należy o tym pamiętać, podczas czytania poniższej tabeli!
Poniżej znajdują się niektóre z najważniejszych znaków, które powinny pojawić się w ciągu inicjującym modem. Te fragmenty ciągu nie powinny być zmieniane.
Stanowi informację dla modemu, że zostaną przesłane polecenia sterujące. Znaki AT muszą rozpoczynać każdą linię poleceń dla modemu.
Zeruje modem do ustawień standardowych.
powoduje, iż oprogramowanie oczekuje przez moment. Można wpisać więcej niż jedną poleceń , w wierszu. Na przykład zapis: ,,,, instruuje modem do wprowadzenia przerwy długości 4 sekund (Czas trwania przerwy jest zdeterminowany przez zawartość rejestru S8
.
Przesyła kod sterujący oznaczający powrót karetki (CR - „Carriage Return” )
w porządku alfabetycznym:
Tabela B.1. Polecenia podstawowe
Komenda | Opis | Komentarz |
---|---|---|
A0 lub A | Odbierz połączenie przychodzące | |
A/ | Powtórz ostatnią poleceń | Nie należy ich poprzedzać ciągiem AT. Klawisz Enter z reguły przerywa operację. |
B0 lub B | Sposób negocjacji parametrów połączenia | Standard negocjacji V32 Mode/CCITT |
B1 | Sposób negocjacji parametrów połączenia | Standard negocjacji Bell 212A |
B2 | Sposób negocjacji parametrów połączenia | Tryb gadatliwy lub cichy przy odbieraniu |
D | Zadzwoń | Dzwoni na podany numer i przekazuje sterowanie do aplikacji
|
E0 lub E | Brak echa | Nie będzie powtarzać poleceń przekazywanych przez komputer |
E1 | Echo | Modem będzie powtarzać polecenia przekazywane przez komputer (użytkownik będzie widział co pisze w oknie terminala) |
H0 | Ustawienie stanu słuchawki | Opuszczona na widełki |
H1 | Ustawienie stanu słuchawki | Podniesiona |
I0 lub I | Żądanie informacji o możliwościach modemu | Jest to polecenie w dużej części zależna od sprzętu, polecenie I0 z reguły zwraca kod lub liczbę, wyższe numery mogą spowodować przesłanie dużo większej liczby użytecznych informacji o sprzęcie. |
L0 lub L | Poziom głośności. Modemy z ręczną regulacją głośności, nie obsługują poniższych opcji. | Wyłączenie głosu lub bardzo cichy dźwięk. |
L1 | Cicho | |
L2 | Średnio głośno | |
L3 | Głośno lub bardzo głośno | |
M0 lub M | Wyłączenie głośnika | Często stoduje się też poleceń M3, lecz może ona różnie działać w zależności od producenta modemu. |
M1 | Głośnik włączony dopóki modem nie wykryje sygnału nośnej (tzn. do chwili pojawienia się dźwięku z drugiego modemu) | |
M2 | Głośnik jest włączony cały czas, nawet po połączeniu (słyszalne są sygnały przesyłanych danych) | |
N0 lub N | Szybkość negocjacji parametrów | Negocjuj z wykorzystaniem tylko z prędkości zdefiniowanych w rejestrze S37 |
N1 | Rozpocznij negocjację od największej dostępnej prędkości, większej od wartości zdefiniowanej w rejestrze: S37 | |
O0 lub O | Wróć do stanu - Połączony | Należy zwrócić uwagę na poleceń X1, jako że wykrywanie sygnału wybierania może być aktywne. |
O1 | Wróć do stanu połączony, po zdefiniowanym czasie działania funkcji Retrain | |
Q0 lub Q1 | Tryb cichy | Wyłączony - powoduje wyświetlanie odpowiedzi modemu na polecenia użytkownika (np: OK ) |
Q1 | Tryb cichy | Włączony - Odpowiedzi modemu na polecenia użytkownika są wyłączone |
Sn ? | Wyświetla zawartość rejestru S modemu, o numerze: n | |
Sn =r | Zapisz | Zapisz wartość: r w rejestrze S-o numerze: n |
V0 lub V | Tryb gadatliwy | Kody stanu modemu zwracane w postaci liczbowej |
V1 | Kody stanu zwracane przez modem jako słowa w języku angielskim (np. CONNECT , BUSY , NO CARRIER itp.) | |
X0 lub X | Standard Smartmodem | Kody stanu zgodne ze standardem Hayes Smartmodem 300 |
X1 | Powoduje zwykle dodanie informacji o prędkości połączenia, do kodów rezultatu (np: CONNECT 1200 | |
X2 | Powoduje uaktywnienie wykrywania sygnału wywołania (wyłączając możliwość "ślepego" dzwonienia) i wyłączenie działania polecenia AT0) | |
X3 | Włącza opcję wykrywania sygnału zajętości | |
X4 | Włącza opcję wykrywania sygnału zajętości oraz sygnału wybierania | |
Z0 lub Z | Zerowanie | Zeruje stan modemu i uaktywnia zachowaną konfigurację. Użycie poleceń Z0, Z1 itp. umożliwia korzystanie z różnych profili konfiguracji. Komenda ta działa identycznie jak &F dla przywrócenia ustawień fabrycznych w modemach bez pamięci NVRAM (pamięć nieulotna). |
Tabela B.2. Rozszerzony zbiór poleceń standardu Hayes
Komenda | Opis | Komentarz |
---|---|---|
&B0 lub &B | Parametry funkcji Retrain | Wyłączenie automatycznego działania Retrain |
&B1 | Parametry funkcji Retrain | Włączenie automatycznego działania retrain |
&B2 | Parametry funkcji Retrain | Włączenie funkcji auto retrain, jednak modem rozłączy się, jeżeli stan linii nie poprawi się w ciągu okresu ustawionego w rejestrze S7 |
&C0 or &C1 | Wykrywanie sygnału nośnej | Sygnał zawsze włączony |
&C1 | Wykrywanie sygnału nośnej | Detekcja nośnej zdalnego modemu (najczęściej jest to wartość domyślna) |
&D0 lub &D | Sygnał gotowości terminala (DTR) | Ten sygnał jest ignorowany (Działanie jest uzależnione od sprzętu, należy sprawdzić w dokumentacji sposób reakcji na ten sygnał!) |
&D1 | Sygnał gotowości terminala (DTR) | Po zmianie stanu sygnału DTR (z włączony na wyłączony) modem przechodzi w tryb przyjmowania poleceń (dotyczy tylko niektórych modemów) |
&D2 | Sygnał gotowości terminala (DTR) | Pewne modemy po zmianie stanu sygnału DTR (z włączony na wyłączony) rozłączają się. (Działanie takie preferowane jest jako domyślne) |
&D3 | Sygnał gotowości terminala (DTR) | Powoduje rozłączenie, zerowanie modemu i powrót do trybu poleceń po otrzymaniu sygnału DTR |
&F0 lub &F | Ustawienia fabryczne | Typowe wartość domyślne w standardzie Hayes Nieraz wykorzystanie tych ustawień do definiowania ciągów połączeniowych może być przydatne, gdyż ustawienia parametrów &F1-&F3 mogą się różnić między modemami, co może powodować problemy z połączeniami (jako że nie wiadomo jakiej marki dotyczy polecenie &F2) Niejednokrotnie, wiele problemów może być rozwiązanych poprzez zastąpienie skomplikowanego ciągu poleceń, prostym poleceniem &F2, jeżeli jednak niezbędne jest utworzenie skoplikowanego ciągu poleceń, najlepiej rozpocząć od prostego: &F, unikając stosowania „dostosowanych” ustawień domyślnych. |
&F1 | Ustawienia fabryczne | Ustawienia fabryczne dopasowane do komputerów kompatybilnych z IBM PC. |
&F2 | Ustawienia fabryczne | Ustawienia fabryczne dla komputerów typu Mac z obsługą programowej negocjacji parametrów połączenia |
&F3 | Ustawienia fabryczne | Ustawienia fabryczne dla komputerów typu Mac ze sprzętową obsługą negocjacji parametrów połączenia |
&G0 lub &G | Sygnał Guard Tone | Wyłączenie sygnału Guard Tone |
&K0 lub &K | Lokalna kontrola przepływu | Wyłącza lokalną kontrolę przepływu |
&K1 | Lokalna kontrola przepływu | Włącza lokalną sprzętową kontrolę przepływu typu RTS/CTS |
&K2 | Lokalna kontrola przepływu | Włącza programową kontrolę przepływu XON/XOFF |
&K3 | Lokalna kontrola przepływu | Włącza lokalną sprzętową kontrolę przepływu typu RTS/CTS |
&K4 | Lokalna kontrola przepływu | Włącza programową kontrolę przepływu XON/XOFF |
&L0 lub &L | Tryb dzwonienia | Wybierz tryb połączenia |
&M0 lub &M | Tryb kontroli błędów | Włącz tryb asynchroniczny bez kontroli błędów (tak samo jak polecenie&Q0)) |
&P0 lub &P | Parametry wybierania impulsowego | Stosunek sygnału do przerwy dla U.S./Canada (39% impuls / 61% przerwa) |
&P1 | Parametry wybierania impulsowego | Stosunek sygnału do przerwy dla U.K./Hong Kong (33% impuls / 67% przerwa) |
&Q0 lub &Q | Tryb kontroli błędów | Tryb asynchroniczny bez korekcji błędów. Brak buforowania danych. ASB wyłączone. |
&Q5 | Tryb kontroli błędów | Korekcja błędów zgodna ze standardem V.42 (wymaga włączonej kontroli przepływu) |
&Q6 | Tryb kontroli błędów | Tryb asynchroniczny z włączonym ASB (wymaga włączonej kontroli przepływu) |
&Q8 | Tryb kontroli błędów | Alternatywny protokół korekcji błędów (MNP) |
&Q9 | Tryb kontroli błędów | Warunkowa kompresja danych: V.42bis = tak, MNP5 = nie. |
&S0 lub &S | Starowanie sygnałem DSR | Zawsze włączony (wartość domyślna) |
&S1 | Starowanie sygnałem DSR | Zachowanie zgodne ze specyfikacją EIA (Sygnał aktywny po uzyskaniu sygnału wybierania, nieaktywny po zerwaniu połączenia) |
&T0 lub &T | Test modemu | Działanie uzależnione od typu i producenta modemu. Występuje w niektórych modelach. |
&U0 lub &U | Modulacja Trellis (TCM - Trellis code modulation) | Włącz V.32 TCM |
&U1 | Modulacja Trellis (TCM - Trellis code modulation) | Wyłącz V.32 TCM |
&V0 lub &V1 | Wyświetla aktywne | (i często przechowywane w pamięci) skonfigurowane profile ustawień (lub polecenie ATI4 |
&W0 lub &W | Zapisz profil | W pamięci NVRAM (można stosować polecenia &W0, &W1 itp. dla wielu profili) Część ustawień nie może być zapisana, informacje o nich dostępne są po wywołaniu komend &V lub ATI4 |
&Y0 lub &Y | Wybierz konfigurację ładowaną podczas uruchamiania | Załaduj profil numer 0 (wartość domyślna) |
&Y1 | Wybierz konfigurację ładowaną podczas uruchamiania | Załaduj profil numer 1 |
&Zn =x | Wyzeruj modem i załaduj zachowany profil o numerze n | Należy podkreślić, iż wszelkie znaki w linii następujące po komendzie &Z są ignorowane |
Tabela B.3. Polecenia z ukośnikiem i znakiem procent
Komenda | Opis | Komentarz |
---|---|---|
\A0 lub \A | Maksymalny rozmiar bloku MNP w znakach | maksymalnie 64 znaki |
\A1 | Maksymalny rozmiar bloku MNP w znakach | maksymalnie 128 znaków |
\A2 | Maksymalny rozmiar bloku MNP w znakach | maksymalnie 192 znaki |
\A3 | Maksymalny rozmiar bloku MNP w znakach | maksymalnie 256 znaków |
%C0 lub %C | Włączenie/wyłączenie kompresji danych | Wyłączona |
%C1 | Włączenie/wyłączenie kompresji danych | Włączona kompresja MNP5 |
%C2 | Włączenie/wyłączenie kompresji danych | Włączona kompresja V.42bis (BTLZ) |
%C3 | Włączenie/wyłączenie kompresji danych | Włączona kompresja MNP5 oraz V.42bis (BTLZ) |
%D0 lub %D | Kompresja danych | Rozmiar słownika BLTZ: 512 |
%D1 | Kompresja danych | Rozmiar słownika BLTZ: 1024 |
%D2 | Kompresja danych | Rozmiar słownika BLTZ: 2048 |
%D3 | Kompresja danych | Rozmiar słownika BLTZ: 512 |
%E0 lub %E1 | Metoda wyjścia do trybu poleceń | Wyjście do trybu poleceń wyłączone |
%E1 | Metoda wyjścia do trybu poleceń | Metoda +++AT (domyślna) |
%E2 | Metoda wyjścia do trybu poleceń | Metoda: Break AT |
%E3 | Metoda wyjścia do trybu poleceń | Obie metody równocześnie |
%E4 | Metoda wyjścia do trybu poleceń | Wyłącz wyświetlanie tekstu OK po znakach +++ |
%E5 | Metoda wyjścia do trybu poleceń | Włącz wyświetlanie tekstu OK po znakach +++ |
\J0 lub \J | Automatyczne ustawianie szybkości DTE | Wyłączona |
\J1 | Automatyczne ustawianie szybkości DTE | Szybkość portu szeregowego (DTE) jest dopasowywana do szybkości połączenia. |
\N0 lub \N | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie zwykłe (poniżej znajdują się definicje) |
\N1 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie bezpośrednie - bez korekcji |
\N2 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie niezawodne-automatyczne w standardzie MNP |
\N3 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie niezawodne-automatyczne |
\N4 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie niezawodne w standardzie V.42bis z detekcją fazy |
\N5 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie niezawodne-automatyczne w standardzie V.42bis auto z detekcją fazy |
\N6 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączenie niezawodne w standardzie V.42 z detekcją fazy |
\N7 | Rodzaj zastosowanego algorytmu korekcji błędów | Połączanie niezawodne-automatyczne w standardzie V.42 auto z detekcją fazy |
Połączenie bezpośrednie, jest najprostszym rodzajem połączenia bez korekcji błędów lub kompresji danych. Dla tego rodzaju połączenia, prędkość połączenia komputer-modem i modem-modem musi być identyczna.
Zwykłe połącznie wykorzystuje kontrolę przepływu (sprzętową lub programową) buforując dane wysyłane i otrzymywane, co pozwala na przesyłanie danych z prędkością inną niż w relacji komputer<—>modem. Na przykład, komputer wysyła dane z prędkością 57kbps, jednak wykorzystanie kompresji, powoduje iż modem w rzeczywistości przesyła dane z prędkością 28,8kbps. Ten typ połączenia jest wykorzystywany przez większość modemów.
Połączenie niezawodne, jest podobne w połączenia zwykłego, jeżeli jednak z jakichś powodów tryb kompresji danych i korekcji błędów nie może być uruchomiony i utrzymany, połączenie zostaje zerwane. (W tym trybie, modem zapewnia iż każda transmisja będzie niezawodna, jeżeli jest to niemożliwe połączenie musi zostać zerwane)
Podobnie jak wyżej, połączenie niezawodne-automatyczne jest prawie identyczne, różni się jedynie tym iż modem będzie ponawiał próby wynegocjowania algorytmu kompresji lub korekcji błędów, aby powrócić do trybu niezawodnego połączenia. Ten tryb jest najczęściej wykorzystywany.
Tabela B.4. Rejestry S
Rejestr | Zakres | Wartość domyślna | Funkcja |
---|---|---|---|
S0 | 0-255 dzwonków | 1-2 | Liczba dzwonków po którym zostanie odebrane połączenie. Nie odpowiadaj jeżeli 0 |
S1 | 0-255 dzwonków | 0 | Jeżeli wartość zapisana w rejestrze S0 jest większa niż 0 to odliczane są dzwonki przed odebranie połączenia. |
S2 | 0-127 ASCII | 43 + | Kod znaku przejścia do trybu poleceń (ESC) |
S2 | >127 | brak zdefiniowania kodu ESC | |
S3 | 0-127 ASCII | 13 CR | Kod znaku powrotu karetki |
S4 | 0-127 ASCII | 10 LF | Kod znaku przejścia do następnej linii |
S5 | 0-32, 127 ASCII | 8 BS | Kod znaku usuwania |
S6 | 2-255 sekund | 2 | Czas oczekiwania na sygnał wybierania (informacje o wybieraniu "ślepym" znajdują się tutaj:Xn |
S7 | 1-255 sekund | 30-60 | Czas oczekiwania na sygnał zdalnego modemu |
S8 | 0-255 sekund | 2 | Długość przerwy określonej przecinkiem w numerze telefonu |
S9 | 1-255 1/10-ta sekundy | 6 | Czas wymagany na wykrycie i rozpoznanie nośnej |
S10 | 1-255 1/10-ta sekundy | 7-14 | Czas pomiędzy utratą nośnej i rozłączeniem |
S11 | 50-255 milisekund | 70-95 | Długość i odsŧępy między sygnałami w wybieraniu tonowym. |
S12 | 0-255 1/50-te sekundy | 50 | Dodatkowa przerwa otaczająca sekwencję +++. |
S36 | Określa zachowanie modemu jeżeli połączenie z korekcją błędów nie powiedzie się
| 7 | Szybkość ustawiana przy nieudanej negocjacji |
S37 |
| 0 | Prędkość negocjacji parametrów (wartość początkowa przy rozpoczynaniu negocjacji) |
Wiele modemów posiada kilkadziesiąt lub kilkaset rejestrów S, jednak tylko kilkanaście pierwszych stanowi nieformalny standard. Można zmieniać ich zawartość za pomocą polecenia: ATSn
=N
, zaś sprawdzać ich aktualne ustawienie za pomocą polecenia: ATSn
? (np: polecenie AT S10
spowoduje, iż modem będzie oczekiwał 7 sekund na odpowiedź zdalnego modemu, oraz zwróci informację o ostatniej liczbie dzwonków.)=70
S1?
Jeżeli zestaw zasad dla danego kraju jest niedostępny, to należy go stworzyć z wykorzystaniem poniższego szablonu. Jest to naprawdę proste, nie należy się tego obawiać.
Nie zapomnij przesłać swojego zestawu zasad do opiekuna programu KPPP. Nowo stworzony plik z zestawem zasad, może być sprawdzony pod kątem błędów skadniowych z wykorzystaniem opcji
przy uruchamianiu KPPP w linii poleceń. Następnie powinien zostać zainstalowany w katalogu -r
plik_zasad
${KDEDIR}/share/apps/kppp/Rules
lub ${HOME}/.kde/share/apps/kppp/Rules
co spowoduje, że będzie można go wybrać w oknie konfiguracji kosztów połaczeń.
################################################################ # # Disclaimer/License # This Template ist (c) by Mario Weilguni <mweilguni@kde.org> # It ist licensed under the same terms as the kppp package, # which it is part of # ################################################################ # # Jest to przykładowy zestaw zasad obliczania kosztów dla programu kppp # Możesz wykorzystać go jako szablon do stworzenia własnego zestawu zasad. # Jeżeli tak zrobisz, to usuń wszelkie komentarze i dodaj swoje, co pozwoli innym # użytkownikom na łatwiejsze sprawdzenie twojego zestawu zasad # # Podpisz plik zasad swoim imieniem i adresem email, tak aby opiekun mógł się z tobą # skontaktować w razie potrzeby # # UWAGA: zasady w tym zestawie nie mają większego sensu, i stanowią jedynie # przykład dla celów demonstracyjnych # # UWAGA NA NAZWY PLIKÓW: # jeżeli stworzysz swój zestaw zasad, zawsze używaj "_" w nazwie pliku # zamiast spacji, oraz dodaj rozszerzenie ".rst # np. plik "Taryfa dzienna TPSA" # --> powinien nazywać się "Taryfa_dzienna_TPSA.rst" # # Z góry dziękuję, Bernd Wuebben # wuebben@math.cornell.edu / wuebben@kde.org ################################################################ ################################################################ # # NAZWA ZESTAWU ZASAD. Wymagana w celach rozliczania kosztów. # ################################################################ name=default ################################################################ # ustawienia dotyczące stosowanej waluty ################################################################ # określa PLN (polski złoty) jako symbol waluty, nie jest to opcja wymagana # wartością domyślną jest = "$") currency_symbol=PLN # Określenie umiejscowienia (right/left) symbolu waluty (nie jest to opcja wymagana). # wartością domyślną jest: "right") currency_position=right # Określenie ilości miejsc po przecinku. # (nie jest wymagane, wartość domyślna to "2" currency_digits=2 ################################################################ # ustawienia połączenia ################################################################ # UWAGA: poniższe warunki są sprawdzane z góry do dołu, co oznacza, że # OSTATNI pasujący warunek, jest wykorzystany do obliczenia kosztu # W poniżej linii wprowadza się opłatę stałą za połączenie. Czyli jeżeli nie musisz płacić # za samo połączenie wpisz tutaj "0" lub usuń linię. per_connection=0.0 # minimalny koszt każdego połączenia. Jeżeli wynikający z czasu koszt połączenia jest mniejszy # od poniższej wartości, to do obliczeń brana jest wpisana tu wartość minimum_costs=0.0 # Płacisz .74 PLN za pierwsze 3 minuty (180 sekund) niezależnie czy twoje połączenie # trwa 1 sekundę czy też 180 sekund. # Poniższe zasada ma priorytet przez pierwsze 180 sekund połączenia, niezależnie od innych # zasad. Zobacz w rysunek costgraphs.gif w katalogu docs dystrybucji kppp # dla graficznej ilustracji działania tej zasady flat_init_costs=(0.74,180) # To jest zasada domyślna, wykorzystywana gdy żadna inna zasada nie pasuje do warunku # Pierwszy element "0.1" to cena za jednostkę połączenia, zaś "72" to czas trwania w sekundach. # Czyli poniższa zasada oznacza:: "Co 72 sekundy dodaj 0.1 do podsumowania kosztów" default=(0.1, 72) # # bardziej skomplikowane zasady: # # od poniedziałku do niedzieli, od północy do 23.59 koszt połączenia wynosi 0,2 za każde 72 sekundy on () between () use (0.2, 2) # analogicznie jak wyżejon (monday..sunday) between () use (0.2, 2) # analogicznie jak wyżej. Należy używać 24 godzinnego zapisu czasu, gdyż inaczej # obliczenia nie będą działać poprawnie on (monday..sunday) between (0:00..23:59) use (0.2, 2) # dotyczy piątku, soboty, niedzieli i poniedziałku od godziny 8-mej rano do 1-szej po południu on (friday..monday) between (8:00..13:00) use(0.3,72) # UWAGA: on(monday..friday) between (21:00..5:00) use (0.4,2) # NIE dotyczy soboty od godziny 0.00 do 5.00, a jedynie od zakres poniedziałku do piątku. # w przypadku podanej daty (Boże Narodzenie) on (12/25) between () use (0.3,72) # zakres dat i jeden dzień tygodnia on (12/25..12/27, 12/31, 07/04, monday) between () use (0.4, 72) # w przypadku wielkanocy wprowadzamy on (easter) between () use (0.3,72) # 50 dni po wielkanocy (wielki poniedziałek) on (easter+50) between () use (0.3,72) on (thursday) between (20:00..21:52) use (8.2, 1) # Zasady typu "on()" omawiane wyżej dotyczą aktualnego czasu. Możesz również stworzyć zasadę # uzależnioną od czasu trwania połączenia w sekundach poprzez podanie tego czasu # jako trzeciego argumentu w instrukcji "use()". # Na przykład, powiedzmy że standardowa stawka nocna wynosi 0.20 za minutę, # i zmniejsza się o 20% po jednej godzinie od połączenia. Wyglądać to będzie tak: on () between (19:30..08:00) use (0.20, 60) on () between (19:30..08:00) use (0.16, 60, 3600) # Należy zwrócić uwagę na kolejność zasad, są one interpetowane w kolejności # pojawiania się
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team