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.
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).
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:-
ppp które uruchamia PPP
na serwerze.
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.
Potrzebne będą następujące programy:-
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.
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
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.
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?
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.