modified on 21 lip 2010 at 09:15 ••• 13 604 views

PPP AAA

Z MikroTik Wiki

Spis treści

Informacje Ogólne

Wstęp

Ten dokument dostarcza informacje o konfiguracji i przykładach zarządzania PPP. Uwzględnia to użytkowników asynchronicznego PPP, PPTP, L2TP, OpenVPN, PPPoE i ISDN.

Specyfikacja

Wymagane pakiety: system

Wymagane licencje: level1

Poziom Home menu: /ppp

Opis

MikroTik RouterOS obsługuje Uwierzytelnianie (Authentication), Autoryzację i Accounting (AAA).

Lokalne uwierzytelnianie dokonuje się przy użyciu bazy danych użytkownika i profilu. Bieżąca konfiguracja danego użytkownika jest ustalana na podstawie poszczególnych danych użytkownika z bazy danych, powiązanych z nimi danymi z bazy profilu oraz danych ustawionych jako domyślne dla usługi z której chce skorzystać użytkownik. Domyślne ustawienia profilu z bazy danych profilu mają najmniejszy priorytet podczas gdy ustawienia użytkownika z bazy danych użytkownika mają najwyższy priorytet, jednym tylko wyjątkiem: niektóre adresy IP mają pierwszeństwo przed obszarami IP w ustawieniach local-address i remote-address, które zostaną omówione później.

Obsługa uwierzytelnienia RADIUS daje dostawcy usług oraz administratorowi sieci możliwość zarządzania dostępem użytkownika do PPP i tworzenie baz danych począwszy od serwerów do dużych sieci. MikroTik RouterOS ma wbudowanego klienta RADIUS, który może uwierzytelniać połączenia PPP, PPPoE, PPTP, L2TP, OpenVPN i ISDN. Atrybuty odebrane z serwera RADIUS zastępują te ustawione w domyślnym profilu, lecz jeśli jakieś parametry nie zostały odebrane, pobrane zostaną z odpowiednich profili domyślnych.

Lokalne Profile Użytkownika PPP

Poziom Home menu: /ppp profile

Opis

Profile PPP są używane w celu zdefiniowania domyślnych wartości rekordów dostępu użytkownika przechowywanych w podmenu /ppp secret. Ustawienia w /ppp secret bazy danych użytkownika zastępują ustawienia /ppp profile, pominąwszy pojedyncze adresy IP, które zawsze mają pierwszeństwo przed obszarami IP określonymi parametrami local-address lub remote-address

Opis Własności

bridge (name) - nazwa interfejsu mostka; do którego zostanie automatycznie dodany tunel PPP w przypadku gdy negocjacje BCP zakończą się sukcesem (to znaczy, w przypadku gdy oba peery obsługują BCP i mają skonfigurowany ten parametr)

change-tcp-mss) (yes | no | default; domyślnie: default) - modyfikuje ustawienia połączenia TCP MSS

  • yes - dostosowuje wartość połączenia MSS
  • no - nie dostosowuje wartości połączenia MSS
  • default - uzyskuje tę wartość z domyślnego profilu interfejsu; jest ona taka sama jak w przypadku no, jeśli jest to domyślny profil interfejsu

dns-server (IP address) - adres IP serwera DNS

idle-timeout - (time) - określa długość czasu po którym połączenie zostanie zerwane, jeśli nie odnotowano żadnej aktywności. Nie ma czasu ustawionego domyślnie

  • 0s - nie jest określony czas zerwania połączenia

incoming-filter (name) - nazwa łańcucha firewalli dla nadchodzących pakietów. Określony łańcuch uzyskuje kontrolę nad każdym pakietem przychodzącym od klienta. Łańcuch ppp powinien być ręcznie dodany a zasady z action=jump jump-target=ppp powinny być dodane do innych powiązanych łańcuchów, aby ta funkcja działała. Celem uzyskania dodatkowych informacji, sprawdź dział z przykładami.

local-address (IP addressname) - adresy IP lub nazwy pól adresowych IP dla serwera PPP

name (name) - nazwa profilu PPP

only-one (yes | no | default: default) - określa czy użytkownik może mieć więcej niż jedno połączenie w tym samym czasie

  • yes - użytkownik nie może mieć więcej niż jednego połączenia naraz
  • no - użytkownik może mieć więcej niż jedno połączenie jednocześnie
  • default - uzyskuje tę wartość z domyślnego profilu interfejsu; działanie takie same jak w przypadku no, jeśli jest to domyślny profil interfejsu

outgoing-filter (name) - nazwa łańcucha firewalli dla wychodzących pakietów. Określony łańcuch uzyskuje kontrolę nad każdym pakietem idącym do klienta. Łańcuch ppp powinien być ręcznie dodany a zasady z action=jump jump-target=ppp powinny być dodane do innych powiązanych łańcuchów, aby ta funkcja działała. Celem uzyskania dodatkowych informacji, sprawdź dział z przykładami.

rate-limit (text; domyślnie: "") - ograniczenie współczynnika w formie rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] [rx-burst-threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst-time] [priority] [rx-rate-min[/tx-rate-min]]]] z punktu widzenia routera (więc "rx" jest uploadem klienta, a "tx" downloadem). Wszystkie współczynniki powinny być numerami z opcjonalnym "k" (1 000s) lub "M" (1 000 000s). Jeśli tx-rate nie jest określony, rx-rate jest także tx-ratem. Tak samo dla tx-burst-rate, tx-burst-threshold i tx-burst-time. Jeśli zarówno rx-burst-threshold i tx-burst-threshold nie są określone (lecz burst-rate jest), rx-rate i tx-rate są używane jako burst thresholds. Jeśli rx-burst-time i tx-burst-time nie są określone, domyślnie będzie to 1s. Priorytet przyjmuje wartość 1 - 8, gdzie 1 oznacza najwyższy priorytet, a 8 najniższy. Jeśli rx-rate-min i tx-rate-min nie są określone, używane są wartości rx-rate i tx-rate. Wartości rx-rate-min i 1tx-rate-min nie mogą przekroczyć wartości rx-rate i tx-rate.

remote-address (IP addressname) - adres IP lub nazwa obszaru adresu IP dla klientów PPP

session-timeout (time; domyślnie: 0s) - czas zakończenia sesji (maksymalny możliwy czas sesji) dla klienta. Po tym czasie użytkownik zostanie bezwarunkowo wylogowany.

  • 0 - czas zakończenia sesji nieokreślony

use-compression (yes | no | default; domyślnie: default) - określa czy użyć danych skompresowanych, czy nie

  • yes - dane skompresowane
  • no - dane nieskompresowane
  • default - uzyskuje tę wartość z profilu domyślnego interfejsu; działanie takie jak w przypadku no jeśli jest to profil domyślnego interfejsu

use-encryption (yes | no | required | default; domyślnie: default) - określa czy użyć szyfrowanie danych, czy nie

  • yes - dane szyfrowane
  • no - dane nieszyfrowane
  • required - wymaga szyfrowania
  • default - uzyskuje tę wartość z profilu domyślnego interfejsu; działanie takie jak w przypadku no jeśli jest to profil domyślnego interfejsu

use-vj-compression (yes | no | default; domyślnie: default) - określa czy użyć algorytm kompresji nagłówka Vana Jacobsona

  • yes - włączona kompresja nagłówka Vana Jacobsona
  • no - wyłączona kompresja nagłówka Vana Jacobsona
  • default - uzyskuje tę wartość z profilu domyślnego interfejsu; działanie takie jak w przypadku no jeśli jest to profil domyślnego interfejsu

wins-server (IP address) - adres IP serwera WINS, aby zastąpić klienta Windows

Uwagi

Są dwa domyślne profile, które nie mogę być usunięte:

[admin@rb13] ppp profile> print
Flags: * - default
 0 * name="default" use-compression=default use-vj-compression=default
     use-encryption=default only-one=default change-tcp-mss=yes

 1 * name="default-encryption" use-compression=default
     use-vj-compression=default use-encryption=yes only-one=default
     change-tcp-mss=yes
[admin@rb13] ppp profile>

Używaj kompresję Vana Jacobsona tylko jeśli musisz, gdyż może ona spowolnić komunikację lub zapchać kanały.

Argumenty incoming-filter i outgoing-filter dodają dynamiczne zasady jump do łańcucha ppp, gdzie argument jump-target będzie taki sam jak incoming-filter lub outgoing-filter w /ppp profile. Dlatego też łańcuch ppp powinien być ręcznie dodany przed zmianą tych argumentów.

Parametr only-one jest ignorowany jeśli używana jest autentykacja RADIUS.

Jeśli zaplanowanych jest więcej jak 10 jednoczesnych połączeń PPP, powinno się wyłączyć właściwość change-mss i używać zamiast niej jednej ogólnej zasady MSSS tablicy markowania, aby zredukować użycie procesora.

Przez konfigurację własności bridge uruchamiasz protokół BCP na połączeniu. Warto uruchomić także MRRU, aby połączenie było w stanie transmitować pełnowymiarowe ramki ethernetowe. Jeśli negocjacje BCP zakończone zostaną sukcesem, połączenie automatycznie zostanie dodane do określonego mostku. Zauważ, że mostek musi mieć odpowiedni adres MAC, lub inny port ethernetopodobny z odpowiednim adresem MAC, gdyż połączenie PPP nie ma adresu MAC.

Klient użyje fałszywy adres IP (10.112.112.x) jako zdalny adres końcowy jeśli zdalny adres nie jest znany. Nie będzie możliwe spingowanie tego adresu, i powinien być użyty jako brama dla ścieżek (jako domyślna ścieżka). To pomoże ustawieniom GSM/GPRS, gdzie serwery dial-in z jakichś powodów nie reklamują swoich adresów IP.

Przykład

Aby dodać profil ex, który przydziela routerowi adres 10.0.0.1, a adresy z pola ex klientom, filtrując ruch przychodzący od klienta przez łańcuch mypppclients:

[admin@rb13] ppp profile> add name=ex local-address=10.0.0.1 remote-address=ex
incoming-filter=mypppclients
[admin@rb13] ppp profile> print
Flags: * - default
 0 * name="default" use-compression=default use-vj-compression=default
     use-encryption=default only-one=default change-tcp-mss=yes

 1 * name="default-encryption" use-compression=default
     use-vj-compression=default use-encryption=yes only-one=default
     change-tcp-mss=yes
 2   name="ex" local-address=10.0.0.1 remote-address=ex use-compression=default
     use-vj-compression=default use-encryption=default only-one=default
     change-tcp-mss=default incoming-filter=mypppclients
[admin@rb13] ppp profile>

Lokalna Baza Danych Użytkownika PPP

Poziom Home menu: /ppp secret

Opis

Baza danych użytkownika PPP zawiera informacje o dostępie użytkownika PPP do profilu przypisanego do każdego użytkownika.

Opis Własności

caller-id (text; domyślnie: "") - dla PPTP i L2TP jest to adres IP, z którego musi się łączyć użytkownik. Dla PPPoE jest to adres MAC (pisany dużymi literami) z którego klient musi się łączyć. Dla ISDN jest to numer dzwoniącego (może to być dostarczane przez operatora, lub nie) z któego klient może dzwonić.

  • "" - brak ograniczeń

limit-bytes-in (integer; domyślnie: 0) - maksymalna liczba danych, jaką klient może wysłać, w bajtach, na sesję

limit-bytes-out (integer; domyślnie: 0) - maksymalna liczba danych, jaką klient może odebrać, w bajtach, na sesję

local-address (IP addressname) - adres IP lub nazwa pola adresowego IP dla serwera PPP

name (name) - nazwa użytkownika użyta do autoryzacji

password (text; domyślnie: "") - hasło użytkownika użyte do autoryzacji

profile (name; domyślnie: default) - nazwa profilu potrzebna razem z wpisem dostępowym do uwierzytelnienia

remote-address (IP addressname) - adres IP lub nazwa pola adresowego IP dla klienta PPP

routes (text) - ścieżki, które pojawiają się na serwerze, gdy klient jest połączony. Format ścieżki to: dst-address [[gateway][metric]] (na przykłąd, 10.1.0.0/24 10.0.0.1 1). Można określić kilka ścieżek oddzielając je przecinkami. Jeśli brama nie jest określona, użyty zostanie zdalny adres. Jeśli metryka nie jest określona, użyta zostanie metryka o wartości 1.

'service (any | async | l2tp | ovpn | pppoe | pptp; domyślnie: any) - określa usługi dostępne dla zwykłego użytkownika

Przykład

Aby dodać użytkownika ex z hasłem lkjrht i profil ex dostępny tylko dla usługi PPTP, wpisz następującą komendę:

[admin@rb13] ppp secret> add name=ex password=lkjrht service=pptp profile=ex
[admin@rb13] ppp secret> print
Flags: X - disabled
 #   NAME                   SERVICE CALLER-ID PASSWORD PROFILE REMOTE-ADDRESS
 0   ex                     pptp              lkjrht   ex      0.0.0.0
[admin@rb13] ppp secret>

Monitoring Aktywnych Użytkowników PPP

Poziom Home menu: /ppp active print

Opis Własności

address (tylko-do-odczytu: IP address) - adres IP, jaki klient otrzymał od serwera

bytes (tylko-do-odczytu: integerinteger - liczba bajtów przepływających przez to połączenie. Pierwsza liczba reprezentuje ilość danych transmitowanych z punktu widzenia routera, podczas gdy druga pokazuje ilość danych odebranych

caller-id (tylko-do-odczytu: text) - dla PPTP i L2TP jest to adres IP, z którego klient jest połaczony. Dla PPPoE jest to adres MAC, z którego połączony jest klient. Dla ISDN jest to numer dzwoniącego, z którego dzwoni klient

  • "" - brak ograniczeń

encoding (tylko-do-odczytu: text) - pokazuje szyfrowanie i kodowanie (oddzielone znakiem "/" jeśli jest asymetryczne) użyte w tym połączeniu

limit-bytes-in (tylko-do-odczytu: integer) - maksymalna liczba bajtów, jaką użytkownik może wysłać do routera

limit-bytes-out (tylko-do-odczytu: integer) - maksymalna liczba bajtów, jaką użytkownik może wysłać do klienta

name (tylko-do-odczytu: name) - nazwa użytkownika nadana podczas uwierzytelniania

'packets (tylko-do-odczytu: integerinteger) - ilość pakietów przetransferowanych przez to połączenie. Pierwsza liczba określa ilość danych transmitowanych z punktu widzenia routera, a druga odebranych

service (tylko-do-odczytu: async | l2tp | ovpn | ppoe | pptp) - usługa, z jakiej korzysta użytkownik

session-id (tylko-do-odczytu: text) - pokazuje identyfikator użytkownika

uptime (tylko-do-odczytu: time) - aktualny czas sesji użytkownika

Przykład

[admin@rb13] > /ppp active print
Flags: R - radius
 #   NAME         SERVICE CALLER-ID      ADDRESS        UPTIME   ENCODING
 0   ex           pptp    10.0.11.12     10.0.0.254     1m16s    MPPE128...
[admin@rb13] > /ppp active print detail
Flags: R - radius
 0   name="ex" service=pptp caller-id="10.0.11.12" address=10.0.0.254
     uptime=1m22s encoding="MPPE128 stateless" session-id=0x8180002B
     limit-bytes-in=200000000 limit-bytes-out=0
[admin@rb13] > /ppp active print stats
Flags: R - radius
 #   NAME         BYTES                 PACKETS
 0   ex           10510/159690614       187/210257
[admin@rb13] >

AAA Zdalnego Użytkownika PPP

Poziom Home menu: /ppp aaa

Opis Własności

accounting (yes | no; domyślnie: yes) - włącza zarządzanie RADIUS

interim-update (time; domyślnie: 0s) - czas Interim-Update

use-radius (yes | no; domyślnie: no) - włącza uwierzytelnianie użytkownika przez RADIUS

Uwagi

Odwołanie do bazy danych użytkownika RADIUS następuje tylko w przypadku gdy potrzebny login nie został znaleziony w lokalnej bazie danych użytkownika.

Przykład

Aby włączyć RADIUS AAA:

[admin@MikroTik] ppp aaa> set use-radius=yes
[admin@MikroTik] ppp aaa> print
        use-radius: yes
        accounting: yes
    interim-update: 0s
[admin@MikroTik] ppp aaa>