Następna strona Poprzednia strona Spis treści

26. Konfiguracja serwera PPP

Jak już wspominałem istnieje wiele metod na wykonanie tego zadania. To co chcę zaprezentować to sposób, którego używam (korzystając z wieloportowej karty Cycades i kilku linii telefonicznych na wspolnym numerze).

Jeśli ci się nie spodoba, możesz to zrobić na swój sposób. Zawsze chętnie w kolejnych wersjach tego dokumentu umieszczę inne sprawdzone metody. Jeśli znasz taką przyślij mi jej opis wraz ze swoimi uwagami.

Pamiętaj, ze w tej części mówimy jedynie o konfiguracji Linuxa jako sewera PPP. Nie zamierzam kiedykolwiek umieszczać tutaj informacji o konfigurowaniu specjalnych terminali dostępowych i innych tego typu zabawek.

Czekają mnie jescze eksperymenty z shadow password. Aktualnie prezentowane informacje NIE zawierają żanych udogoniej jakie można uzyskać korzystając z shadow password.

26.1 Kompilacja jądra

Wszelki wcześniejsze uwagi na temat wersji jądra i pakietu PPP są nadal aktualne. Zkładam, że przeczytałeś poprzednie rozdziały.

MUSISZ włączyć w jąrdze orzesyłanie pakietów (IP forwarding). Może to być dobry moment do włączenia również takich udogodniej jak zliczanie pakietóe (accounting) i firewall.

Jeśli korzystasz z kart wieloportowych muszisz oczywiscie korzystać z ich drajwerów.(zobacz Serial-JTZ).

26.2 Zarys konfiguracji serwera

Oferujemy konta PPP (i SLIP) oraz konta zwykłe sprawdzając tożsamość za pomocą identyfikatora i hasła. Jest to dla nas ułatwieniem, ponieważ uzytkownik korzystając z jednego konta ma dostęp do wszystkich usług.

Ponieważ jestemy organizacją edukacyjną, nie pobieramy opłat za korzystanie z systemu i nie musimy się martwić o zliczanie ruchu i naliczanie opłat.

Firewall działający pomiędzy naszą siecią a internetem ogranicza dostęp naszysch użytkowników do wybranych usług internetowych, ponieważ łącząc się z naszym serwerem pracują wewnątrz naszej sieci, lecz nie będzeimy tutaj rozwijać tego tematu.

Proces uruchomie połączenia PPP przez uzytwkonika posiadającego onto na serwerze wygląda następujaco:-

Serwer korzysta z indywidualnych plików /etc/ppp/options.ttyXX każdego portu wejściowego, gdzie jest zapisany zdalny numer IP (dynamiczny przydział numerów IP). Do zapewnienia komunikacji z komputerami sieci lokalnej i koputerem po drygiej stronie połączenia PPP serwer korzysta z proxyarp (włączonej przez odpowiednią opcję pppd) unikając uruchomienia takich programów jak routed lub gated.

Kiedy użytkownik zamyka połączenie PPP, pppd na serwerze to wykrywa, poleca modemowi przerwać połączenie likwidując w tym samym czasie łącze PPP.

26.3 Przygotowanie niezbędnego oprogramowania

Potrzebne będą następujące programy:-

26.4 Konfiguracja zwykłego konta

Zanim skonfigurujesz swój komputer jako serwer PPP, musi on wpierw umożliwiać dostęp użytkownikom di uch kont.

Nie zamieszcamy w tym dokumencie informacji jak to zrobić. Przeczytaj dokumentację programu getty i Serial-JTZ.

26.5 Konfiguracja plików z opcjami programu pppd

Musisz stworzyć plik z opcjami dotyczacymi wszystkich połączeń /etc/ppp/options. My używamy takich opcji:


asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem

Zauważ, że NIE korzystamy z trasowania - a w sczególności nie ma domyślnej trasy, ponieważ jako serwer PPP powinieneś jedynie zapewnić przesyłanie pakietów z komputer klienta do Internetu i twojej sieci lokalnej i z Internetu (sieci lokalnej) do komputera klienta.

Wszystko co jest wymagane do realizacji tego celu, to trasa do komputer klienta i użycie opcjie 'proxyarp' w programi pppd.

Opcja 'proxyarp' dodaje do tabeli apr serwera PPP ppozycją proxy arp (już wszystko jasne :), która powiadamia komputery sieci lokalnej, że wszystkie pa kiety przeznaczone dla klineta PPP należy przesyłać bezpośrednio do serwera - nie można jej niestety użyć przy routingu pakietów pomiędzy dwiema sieciami LAN - muszisz dodać do tabeli routingu odpowiednie trasy.

Prawdopodobnie chcesz aby użytkownicy twojego serwera PPP korzystali z dysnamicznego przydzielania adresów IP. Można to osiągnąć przypisując każdemu portowi szeregowemu inny adres IP. Zrobisz to umieszczając odpowiednią inforamacje w plikach /etc/ppp/options.ttyXX.

Po prostu umieść tam lokalny muer IP (serwera PPP) i numer IP, który ma być wykorzystywany przez ten port. Np.


kepler:slip01

W szczególności, zamiast numerów IP możesz podawać nazwy komputerów (ja sam pamiętem tylko numery najważniejszych komputerów i urządzeń, nazwy jest łatwiej zapamiętać).

26.6 KOnfiguracja pppd umożliwiająca zwkłym użytkownikom na uruchomienie połączenia

Ponieważ uruchomienie połązeniea PPP jest związane z konfiguracją urządzeń sieciowych i manipulowaniem tabelą routingu, dlatego wymagane są do tego specjalne uprawnienia - w rzeczywistości uprawnienia administratora.

Na szczęści pppd został zaprojektowany do takiego użycia i możemy włączyć bit suid root. Musisz po prostu wydać polecenie


chmod u+s /usr/sbin/pppd

Teraz atrybuty tego pliku powinny wygładać tak


-rwsr-xr-x   1 root     root        74224 Apr 28 07:17 /usr/sbin/pppd

Jeśli tego nie zrobisz, twoi użytkownicy nie będą mogli uruchomić połączenia PPP.

26.7 Ustanawianie ogólnego aliasu dla pppd

Aby uprościć użytkownikom pewne działania, w pliku /etc/bashrc tworzymy globalny alias, tak aby proste polecenie uruchamiało całą procedurę PPP po stronie serwera.

This looks like


alias ppp="exec /usr/sbin/pppd -detach"

Co to znaczy?

Użytkownicy, kótrzy logują się w ten sposób będą przedstawiani przez polecenie w mniej więcej tak
  6:24pm  up 3 days,  7:00,  4 users,  load average: 0.05, 0.03, 0.00
User     tty       login@  idle   JCPU   PCPU  what
hartr    ttyC0     3:05am  9:14                -

I to już wszystko... mówiłem, że zrobienie prostego serwera PPP jest banalne.


Następna strona Poprzednia strona Spis treści