PPP HOWTO pl 26 (2)


Linux PPP HOWTO: Konfiguracja serwera PPP 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:- Zadzwonienie i zestawienie połączenia między modemami. Wejscie na swoje konto podając identyfikator i hasło W wierszu zachęty wydanie polecenia ppp które uruchamia PPP na serwerze. Uruchomienie PPP na komputrze klienta (niezależnie czy jest tam Linux, Windows, DOS, MAC czy cokolwiek- to już ich problem). 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:- Odpowioednio skompilownae is konfogurowane jądro Linuxa. Odpowiednia wersja pakietu pppd. Program 'getty', który w sposób inteligentny radzi sobie z połączeniami modemowymi. Korzystamy z getty_ps2.0.7h, lecz na myśl przychodzi również mgetty. Wiem, że mgetty może rozpoznać połączenie korzystające z pap/chap (pap jest wykorzystywane przez Windows95) i automatycznie uruchomic pppd, lecz jescze tego nie wykorzystuje. Działający serwer DNS, dostępny dla twoich użytkowników korzystających z PPP. Jeśli to możliwe, powinieneś posiadac własny serwer DNS... 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? exec : to znaczy, że w miejsce działającego programu (w tym przypadku powłoki) zostaje uruchomiony inny program. pppd -detach : uruchom program pppd i NIE odłączaj się od terminala. W ten sposób po zakończeniu połączenia jesteśmy pewni, że nie pozostanie żaden niepotrzebny proces użytkownika. 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

Wyszukiwarka