modified on 20 lip 2010 at 12:36 ••• 50 089 views

Interfejs/PPTP

Z MikroTik Wiki

Spis treści

Informacje Ogólne

Wprowadzenie

PPTP (Point to Point Tunnel Protocol) wpiera szyfrowane tunele poprzez IP. Implementacja MikroTik RouterOS zapewnia klienta i serwer PPTP.

Główne zastosowania tunelowania PPTP:

  • Bezpieczny tunel router-do-routera poprzez Internet
  • Łączenie lokalnych sieci Intranetowych lub LAN-owych
  • Umożliwia dostęp do firmowego Intranetu/LAN-u dla zdalnych (mobilnych) klientów (pracowników)

Każde połączenie PPTP składa się z serwera i klienta. MikroTik RouterOS może funkcjonować jako serwer lub klient lub, w niektórych konfiguracjach, może być dla pewnych połączeń serwerem a dla innych klientem. Dla przykładu, klient utworzony poniżej może się łączyć z serwerem Windows 2000, innym routerem MikroTik lub innym routerem pracującym jako serwer PPTP.

Przewodnik Szybkiej Konfiguracji

Aby utworzyć tunel PPTP pomiędzy dwoma routerami MikroTik o adresach 10.5.8.104 (serwer PPTP) i 10.1.0.172 (klient PPTP):

  • Konfiguracja routera pracującego jako serwer PPTP:

1. Dodaj użytkownika:

[admin@PPTP-Server] ppp secret> add name=user password=passwd \
\... local-address=10.0.0.1 remote-address=10.0.0.2

2. Włącz serwer PPTP:

[admin@PPTP-Server] interface pptp-server server> set enabled=yes
  • Konfiguracja routera pracującego jako klient PPTP:

1. Dodaj klienta PPTP:

[admin@PPTP-Client] interface pptp-client> add user=user password=passwd \
\... connect-to=10.5.8.104 disabled=no

Specyfikacja

Wymagane pakiety: ppp

Wymagana licencja: Level1 (ograniczenie do 1 tunelu), Level3 (ograniczenie do 200 tuneli), Level5

Poziom menu: /interface pptp-server, /interface pptp-client

Standardy i technologie: PPTP (RFC 2637)

Wykorzystanie sprzętu: Niewielkie

Opis

PPTP jest bezpiecznym tunelem służącym do transportu ruchu IP przy użyciu PPP. PPTP enkapsuluje PPP w wirtualnych łączach działających poprzez IP. PPTP używa PPP i MPPE (Microsoft Point to Point Encryption) aby tworzyć szyfrowane łącza. Zastosowaniem tego protokołu jest tworzenie dobrze zarządzanych bezpiecznych połączeń między routerami jak i między routerami i klientami PPTP (oprogramowanie klienckie jest dostępne i/lub zawarte w prawie wszystkich systemach operacyjnych włącznie z Windowsami).

Wielołączowe PPP (Multilink PPP - MP) jest obsługiwane w celu zapewnienia MRRU (możliwość transportu pakietów o rozmiarze 1500 B i większych) i tworzenia połączeń mostkowych poprzez łącza PPP (przy użyciu Bridge Control Protocol (BCP), który pozwala na wysyłanie ramek Ethernetowych przez łącza PPP). W ten sposób możliwe jest zestawienie połączenia mostkowego bez EoIP. Mostek powinien mieć administracyjnie ustawiony adres MAC lub interfejs ethernetopodobny, ponieważ łącza PPP nie mają adresów MAC.

PPTP wspiera uwierzytelnianie PPP i zarządzanie dla każdego połączenia PPTP. Pełne uwierzytelnianie i ewidencjonowanie (prowadzenie statystyk dotyczących użytkowników)

Dodatkowe Zasoby

Konfiguracja Klienta PPTP

Poziom menu: /interface pptp-client

Opis Własności

add-default-route (yes | no; default: no) - określa, czy użyć serwera, z którym klient jest połączony, jako domyślny router (bramka)

allow (multiple choice: mschap2, mschap1, chap, pap; default: mschap2, mschap1, chap, pap) - protokół używany przez klienta w celu uwierzytelnienia

connect-to (IP address) - adres serwera PPTP, z którym będzie zestawiane połączenie

max-mru (integer; default: 1460) - Maximum Receive Unit. Optymalną wartością jest MRU interfejsu, na którym działa tunel, pomniejszoną o 40 (dla łącza ethernetowego 1500-bajtowego, ustaw MRU na 1460 aby uniknąć fagmentacji pakietów)

max-mtu (integer; default: 1460) - Maximum Transmission Unit.Optymalną wartością jest MTU interfejsu, na którym działa tunel, pomniejszoną o 40 (dla łącza ethernetowego 1500-bajtowego, ustaw MRU na 1460 aby uniknąć fagmentacji pakietów)

mrru (integer: 512..65535; default: disabled) - maksymalny rozmiar pakietów, jaki może być odebrany przez łącze. Jeżeli pakiet jest większy niż MTU tunelu, zostanie podzielony na wiele pakietów, pozwalając pakietom IP lub Ethernet o pełnym rozmiarze być przesłanym przez tunel

name (name; default: pptp-outN) - nazwa interfejsu

password (text; default: "") - hasło użytkownika używane do łączenia z serwerem

profile (name; default: default) - domyślny profil połączenia

user (text) - nazwa użytkownika w serwerze

Uwagi

Określanie MRRU oznacza włączanie MP (Multilink PPP) przez pojedyncze łącze. Ten protokół używany jest do rozdzielania dużych pakietów na mniejsze. W Windowsie może być to włączone w zakładce Sieci, przycisk Ustawienia, "Negocjuj multiłącze przez połączenia jednołączowe". Ich MRRU jest ustawione na 1614. To ustawienie jest użyteczne aby przezwyciężyć awarię PathMTU discovery. MP powinien być łączony na obu hostach.

Przykład

Aby ustawić klienta PPTP o nazwie test2 używającego nazwę użytkownika john i hasło john, aby łączył się z serwerem PPTP 10.1.1.12 i używał go jako domyślną bramkę:

[admin@MikroTik] interface pptp-client> add name=test2 connect-to=10.1.1.12 \
\... user=john add-default-route=yes password=john
[admin@MikroTik] interface pptp-client> print
Flags: X - disabled, R - running
  0 X  name="test2" max-mtu=1460 max-mru=1460 mrru=disabled connect-to=10.1.1.12
       user="john" password="john" profile=default add-default-route=yes
       allow=pap,chap,mschap1,mschap2
[admin@MikroTik] interface pptp-client> enable 0

Monitoring Klienta PPTP

Nazwa polecenia: /interface pptp-client monitor'

Opis Własności

encoding (text) - szyfrowanie i kodowanie (jeśli asymetryczne, oddzielone '/') używane w tym połączeni

idle-time (read-only: time) - upływ czasu od kiedy ostatni pakiet został przetransmitowany przez łącze

mru (read-only: integer) - efektywne MRU łącza

mtu (read-only: integer) - efektywne MTU łącza

status (text) - status klienta

  • dialing - próba zestawienia połączenia
  • verifying password... - połączenie z serwerem zostało zestawione, trwa weryfikacja hasła
  • connected - połączenie z serwerem
  • terminated - interfejs nie jest włączony, lub druga strona nie zestawia połączenia

uptime (time) - czas połączenia w dniach, godzinach, minutach i sekundach


Przykład

Przykład zestawionego połączenia:

[admin@MikroTik] interface pptp-client> monitor test2
     status: "connected"
     uptime: 6h44m9s
  idle-time: 6h44m9s
   encoding: "MPPE128 stateless"
        mtu: 1460
        mru: 1460
[admin@MikroTik] interface pptp-client>

Konfiguracja Serwera PPTP

Poziom menu: /interface pptp-server server

Opis

Serwer PPTP dla każdego połączone z nim klienta tworzy dynamiczny interfejs. Ilość połączeń PPTP zależy od poziomu licencji jaki posiadasz. Licencja Level1 pozwala na jednego klienta PPTP, Level3 i Level4 na 200 klientów, a licencje Level5 i Level6 nie mają ograniczenia ilości klientów PPTP.

Opis Własności

authentication (multiple choice: mschap2 | mschap1 | chap | pap; default: mschap2, mschap1, chap, pap) - algorytm uwierzytelnienia

default-profile (name; default: default) - domyślny profil użytkownika

enabled (yes | no; default: no) - określa, czy serwer PPTP jest włączony czy nie

keepalive-timeout (time; default: 10) - definiuje przedział czasu (w sekundach), po którym router zaczyna wysyłać pakiety keepalive co sekundę. Jeśli ruch będzie zerowy, i przez ten czas nie przyjdzie odpowiedź (np. 2* keepalive-timeout), nie odpowiadający klient uznany zostaje za rozłączony.

max-mru (integer; default: 1480) - Maximum Receive Unit.Optymalną wartością jest MRU interfejsu, na którym działa tunel, pomniejszoną o 20 (dla łącza ethernetowego 1500-bajtowego, ustaw MRU na 1420 aby uniknąć fagmentacji pakietów)

max-mtu (integer; default: 1480) - Maximum Transmission Unit.Optymalną wartością jest MTU interfejsu, na którym działa tunel, pomniejszoną o 20 (dla łącza ethernetowego 1500-bajtowego, ustaw MRU na 1420 aby uniknąć fagmentacji pakietów)

mrru (integer: 512..65535; default: disabled) - maksymalny rozmiar pakietów, jaki może być odebrany przez łącze. Jeżeli pakiet jest większy niż MTU tunelu, zostanie podzielony na wiele pakietów, pozwalając pakietom IP lub Ethernet o pełnym rozmiarze być przesłanym przez tunel

Uwagi

Określanie MRRU oznacza włączanie MP (Multilink PPP) przez pojedyncze łącze. Ten protokół używany jest do rozdzielania dużych pakietów na mniejsze. W Windowsie może być to włączone w zakładce Sieci, przycisk Ustawienia, "Negocjuj multiłącze przez połączenia jednołączowe". Ich MRRU jest ustawione na 1614. To ustawienie jest użyteczne aby przezwyciężyć awarię PathMTU discovery. MP powinien być łączony na obu hostach.

Przykład

Aby włączyć serwer PPTP:

[admin@MikroTik] interface pptp-server server> set enabled=yes
[admin@MikroTik] interface pptp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2,mschap1
  keepalive-timeout: 30
    default-profile: default
[admin@MikroTik] interface pptp-server server>

Interfejsy Tunelu PPTP

Poziom menu: /interface pptp-server

Opis

Są dwa typy obiektów interfejsów (tuneli) w konfiguracji serwera PPTP - statyczni użytkownicy i dynamiczne połączenia. Interfejs jest tworzony dla każdego zestawionego tunelu z danym serwerem. Statyczne interfejsy dodawane są administracyjnie, jeżeli jest potrzeba odwołania do konkretnej nazwy interfejsu (w regułach firewalla lub gdzieś indziej) stworzonej przez konkretnego użytkownika. Dynamiczne interfejsy dodawane są do tej listy automatycznie gdy użytkownik jest połączony i jego nazwa nie pasuje z istniejącym wpisem statycznym (np. w firewallu), więc, jeśli potrzebujesz trwałych reguł dla tego użytkownika, stwórz dla niego/niej wpis statyczny. W przeciwnym wypadku bezpiecznie jest użyć konfiguracji dynamicznej. Pamietaj, że w obu przypadkach użytkownicy PPP muszą być poprawnie skonfigurowani - statyczne wpisy nie nadpisują konfiguracji PPP.

Opis Własności

client-address (read-only: IP address) - pokazuje adres IP podłączonego klienta

encoding (text) - szyfrowanie i kodowanie (jeśli asymetryczne, oddzielone '/') używane w tym połączeniu

mru (read-only: integer) - MRU klienta

mtu (read-only: integer) - MTU klienta

name (name) - nazwa interfejsu

uptime (read-only: time) - pokazuje jak długo klient jest połączony

user (name) - nazwa użytkownika skonfigurowanego statycznie lub dodanego dynamicznie

Przykład

Aby dodać wpis statyczny dla użytkownika ex1:

[admin@MikroTik] interface pptp-server> add user=ex1
[admin@MikroTik] interface pptp-server> print
Flags: X - disabled, D - dynamic, R - running
  #     NAME                 USER         MTU   CLIENT-ADDRESS  UPTIME   ENC...
  0  DR <pptp-ex>            ex           1460  10.0.0.202      6m32s    none
  1     pptp-in1             ex1
[admin@MikroTik] interface pptp-server>

W tym przykładzie połączony już użytkownik ex wyświetlony jest poza tym, który właśnie został dodany. Teraz można się odwołać do interfejsu pptp-in1 w konfiguracji RouterOS jak zwykłego interfejsu.

Przykłady Aplikacji PPTP

Przykład Bezpiecznego Tunelu Router-do-Routera

Poniższy przykład przedstawia łączenie dwóch sieci intranetowych przy użyciu szyfrowanego tunelu PPTP poprzez Internet:

Grafika:pptp1.jpg

W tym przykładzie są dwa routery:

  • [HomeOffice]

Interfejs LocalHomeOffice 10.150.2.254/24

Interfejs ToInternet 192.168.80.1/24

  • [RemoteOffice]

Interfejs ToInternet 192.168.81.1/24

Interfejs LocalRemoteOffice 10.150.1.254/24

Każdy router podłączony jest do innego ISP. Jeden router ma dostęp do drugiego przez Internet.

Na serwerze PPTP musi zostać utworzony użytkownik dla klienta:

[admin@HomeOffice] ppp secret> add name=ex service=pptp password=lkjrht \
\... local-address=10.0.103.1 remote-address=10.0.103.2
[admin@HomeOffice] ppp secret> print detail
Flags: X - disabled
  0   name="ex" service=pptp caller-id="" password="lkjrht" profile=default
      local-address=10.0.103.1 remote-address=10.0.103.2 routes==""
[admin@HomeOffice] ppp secret>

Teraz użytkownik powinien zostać dodany do listy serwera PPTP:

[admin@HomeOffice] interface pptp-server> add user=ex
[admin@HomeOffice] interface pptp-server> print
Flags: X - disabled, D - dynamic, R - running
  #     NAME                 USER         MTU   CLIENT-ADDRESS  UPTIME   ENC...
  0     pptp-in1             ex
[admin@HomeOffice] interface pptp-server>

Na końcu, należy włączyć serwer:

[admin@HomeOffice] interface pptp-server server> set enabled=yes
[admin@HomeOffice] interface pptp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2
  keepalive-timeout: 30
    default-profile: default
[admin@HomeOffice] interface pptp-server server>

Dodaj klienta PPTP na routerze RemoteOffice:

[admin@RemoteOffice] interface pptp-client> add connect-to=192.168.80.1 user=ex \
\... password=lkjrht disabled=no
[admin@RemoteOffice] interface pptp-client> print
Flags: X - disabled, R - running
  0  R name="pptp-out1" mtu=1460 mru=1460 mrru=disabled connect-to=192.168.80.1
       user="ex" password="lkjrht" profile=default add-default-route=no
       allow=pap,chap,mschap1,mschap2
[admin@RemoteOffice] interface pptp-client>

Został stworzony tunel PPTP pomiędzy routerami. Tunel jest podobny do połączenia ethernetowego punkt-punkt pomiędzy routerami o adresach 10.0.103.1 i 10.0.103.2. Pozwala to na 'bezpośrednią' komunikację pomiędzy routerami poprzez sieć obcą.

Grafika:pptp2.jpg

Aby stworzyć trasę pomiędzy lokalnymi sieciami przez tunel PPTP trzeba dodać te trasy:

[admin@HomeOffice] > ip route add dst-address 10.150.1.0/24 gateway 10.0.103.2
[admin@RemoteOffice] > ip route add dst-address 10.150.2.0/24 gateway 10.0.103.1

Można to zrobić inaczej na serwerze PPTP używając parametru routes w konfiguracji użytkownika:

[admin@HomeOffice] ppp secret> print detail
Flags: X - disabled
  0   name="ex" service=pptp caller-id="" password="lkjrht" profile=default
      local-address=10.0.103.1 remote-address=10.0.103.2 routes==""

[admin@HomeOffice] ppp secret> set 0 routes="10.150.1.0/24 10.0.103.2 1"
[admin@HomeOffice] ppp secret> print detail
Flags: X - disabled
  0   name="ex" service=pptp caller-id="" password="lkjrht" profile=default
      local-address=10.0.103.1 remote-address=10.0.103.2
      routes="10.150.1.0/24 10.0.103.2 1"

[admin@HomeOffice] ppp secret>

Przetestujemy połączenie tunelowe PPTP:

[admin@RemoteOffice]> /ping 10.0.103.1
10.0.103.1 pong: ttl=255 time=3 ms
10.0.103.1 pong: ttl=255 time=3 ms
10.0.103.1 pong: ttl=255 time=3 ms
ping interrupted
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3/3.0/3 ms

Przetestujemy połączenie przez tunel PPTP do interfejsu LocalHomeOffice:

[admin@RemoteOffice]> /ping 10.150.2.254
10.150.2.254 pong: ttl=255 time=3 ms
10.150.2.254 pong: ttl=255 time=3 ms
10.150.2.254 pong: ttl=255 time=3 ms
ping interrupted
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3/3.0/3 ms

Aby stworzyć połączenie mostkowe LAN-owe poprzez bezpieczny tunel, spójrz na przykład w sekcji 'EoIP' podręcznika. Aby ustawić maksymalną prędkość ruchu przez tunel, zajrzyj do sekcji 'Queues'.

Łączenie Zdalnego Klienta przez tunel PPTP

Poniższy przykład ukazuje jak połączyć komputer ze zdalną siecią biurową poprzez szyfrowany kanał PPTP, dzięki czemu komputer otrzyma adres IP z tej samej sieci jaką ma zdalne biuro (bez potrzeby zestawiania połączenia mostkowego poprze tunel EoIP).

Przejrzyj proszę odpowiedni podręcznik opisujący jak skonfigurować klienta PPTP na oprogramowaniu, z którego korzystasz.

Grafika:pptp3.jpg

Router w tym przykładzie:

  • [RemoteOffice]

Interfejs ToInternet 192.168.81.1/24

Interfejs Office 10.150.1.254/24

Komputer klienta ma dostęp do routera poprzez Internet.

Należy skonfigurować użytkownika dla klienta na serwerze PPTP:

[admin@RemoteOffice] ppp secret> add name=ex service=pptp password=lkjrht
local-address=10.150.1.254 remote-address=10.150.1.2
[admin@RemoteOffice] ppp secret> print detail
Flags: X - disabled
  0   name="ex" service=pptp caller-id="" password="lkjrht" profile=default
      local-address=10.150.1.254 remote-address=10.150.1.2 routes==""

[admin@RemoteOffice] ppp secret>

Powinien zostać dodany użytkownik do listy serwera PPTP:

[admin@RemoteOffice] interface pptp-server> add name=FromLaptop user=ex
[admin@RemoteOffice] interface pptp-server> print
Flags: X - disabled, D - dynamic, R - running
  #     NAME                 USER         MTU   CLIENT-ADDRESS  UPTIME   ENC...
  0     FromLaptop           ex
[admin@RemoteOffice] interface pptp-server>

I należy włączyć serwer:

[admin@RemoteOffice] interface pptp-server server> set enabled=yes
[admin@RemoteOffice] interface pptp-server server> print
            enabled: yes
            max-mtu: 1460
            max-mru: 1460
               mrru: disabled
     authentication: mschap2
  keepalive-timeout: 30
    default-profile: default
[admin@RemoteOffice] interface pptp-server server>

Na końcu, należy włączyć proxy ARP na interfejsie 'Office':

[admin@RemoteOffice] interface ethernet> set Office arp=proxy-arp
[admin@RemoteOffice] interface ethernet> print
Flags: X - disabled, R - running
  #    NAME                 MTU   MAC-ADDRESS       ARP
  0  R ToInternet           1500  00:30:4F:0B:7B:C1 enabled
  1  R Office               1500  00:30:4F:06:62:12 proxy-arp
[admin@RemoteOffice] interface ethernet>

Konfiguracja PPTP dla Windows

Microsoft udostępnia klienta PPTP dla Windows NT, 2000, ME, 98SE i 98. Windows 98SE, 2000 i ME zawierają wsparcie w konfiguracji Windowsa lub automatycznie instalują PPTP. Dla 95, NT i 98 instalacja wymaga pobrania klienta ze strony Microsoftu. Wielu ISP-ów stworzyło dla swoich klientów strony pomocy z instalacją PPTP na Windowsie.

Instrukcje dla instalacji i konfiguracja klienta PPTP (VPN) - Windows 98SE

Jeśli jest zainstalowana usługa VPN (PPTP), wybierz 'Dial-up Networking' i 'Stwórz nowe połączenie'. Powinna być wybrana opcja stworzenia 'VPN'. Jeśli nie ma opcji 'VPN', postępuj wg poniższej instrukcji instalacji. Gdy zostaniesz zapytany o nazwę hosta lub adres IP serwera VPN, wpisz adres IP routera. Kliknij podwójnie na ikonkę 'nowy' i wpisz nazwę użytkownika i hasło (w celu uwierzytelnienia te dane muszą również być w bazie danych użytkowników na routerze lub na serwerze RADIUS).

Zestawienie połączenia trwa dziewięć sekund po wybraniu przycisku 'połącz'. Sugerujemy, aby edytować ustawienia połączenia aby odznaczyć 'NetBEUI', 'IPX/SPX compatible' i 'Log on to network'. Czas zestawienia będzie wynosił dwie sekundy po wybraniu przycisku 'połącz'.

Aby zainstalować usługę 'VPN' w Windows 98SE, idź do menu 'ustawienia' w menu start. Wybierz 'Panel Sterowania', a następnie 'Dodaj/Usuń Programy', wybierz zakładkę 'Konfiguracja Windows', wybierz oprogramownaie 'Komunikacja' i naciśnij 'Szczegóły'. Na dole listy wybierz 'Wirtualne Sieci Prywatne' do zainstalowania.

Rozwiązywanie Problemów

Opis

* Używam firewalla i nie mogę zestawić połączenia PPTP

Upewnij się, że otwarte są połączenia na porcie TCP 1723 w obie strony. Również protokół IP 47 powinien móc swobodnie przechodzić przez firewall.