PPP AAA
Z MikroTik Wiki
(Przekierowano z PPP User AAA)
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>
