MikroTik RADIUS: εγκατάσταση και βέλτιστες πρακτικές για ISP
Το RADIUS είναι το σημείο όπου η εμπορική απόφαση («ο πελάτης έχει πληρώσει, έχει πακέτο 200/20») γίνεται δικτυακή πραγματικότητα. Σε δίκτυο με MikroTik, η σωστή ρύθμιση δεν είναι δύσκολη — αλλά οι λεπτομέρειες που παραλείπονται είναι αυτές που σε ξυπνούν στις 3 τα πρωί. Ο οδηγός καλύπτει PPPoE και DHCP, αλλαγή ταχύτητας χωρίς αποσύνδεση (CoA), αναστολή, accounting και τα λάθη που συναντάμε συχνότερα.
Τι κάνει τι
Ο MikroTik (BNG) είναι ο NAS: τερματίζει τις συνεδρίες των συνδρομητών και ρωτά τον RADIUS server. Ο RADIUS απαντά σε δύο ερωτήματα:
- Authentication/Authorization — «επιτρέπεται αυτός ο χρήστης και με ποιες παραμέτρους;» (ταχύτητα, IP/pool, address list, φίλτρα).
- Accounting — «τι κατανάλωσε και πόσο έμεινε συνδεδεμένος;» (Start/Interim/Stop records).
Ο κανόνας που κρατά το δίκτυο καθαρό: μία πηγή αλήθειας. Η ταχύτητα και η κατάσταση του συνδρομητή ορίζονται από τον RADIUS, όχι χειροκίνητα πάνω στο PPP secret του router. Αν κάποιος μπορεί να «διορθώσει» ταχύτητα τοπικά στον router, θα το κάνει — και το σύστημα χρέωσης θα λέει άλλα.
Ρύθμιση στον MikroTik
Τα τέσσερα σημεία που χρειάζονται ρύθμιση:
- RADIUS client: διεύθυνση server, shared secret, υπηρεσίες
pppκαιdhcp, καιsrc-addressαν ο router έχει πολλές διεπαφές — αλλιώς ο server βλέπει άλλη IP από την αναμενόμενη και απορρίπτει τα πακέτα. - PPP AAA:
use-radius=yes,accounting=yes,interim-updateστα 5–10 λεπτά. Πολύ μικρό interim φορτώνει άσκοπα τη βάση, πολύ μεγάλο αφήνει «φαντάσματα» συνεδρίες μετά από πτώση. - Incoming (CoA/Disconnect): ενεργό, ώστε ο server να μπορεί να αλλάξει ταχύτητα ή να κόψει συνεδρία χωρίς να πειραχτεί ο router.
- Profiles και pools: ένα ουδέτερο PPP profile ως βάση, με την ταχύτητα να έρχεται από τον RADIUS.
Τα attributes που κάνουν τη δουλειά
Mikrotik-Rate-Limit— η ταχύτητα, στη μορφήupload/download. Υποστηρίζει burst, priority και όρια ανά συνεδρία:20M/200M 30M/300M 20M/200M 30 8για burst 30 δευτ.Framed-IP-AddressήFramed-Pool— στατική IP ή pool. Για δίκτυα με CGNAT, το pool ορίζει και τη ζώνη NAT.Mikrotik-Address-List— βάζει τη συνεδρία σε address list, π.χ. για ήπια αναστολή (walled garden) χωρίς αποσύνδεση.Session-Timeout/Idle-Timeout— χρήσιμα σε hotspot, όχι σε μόνιμες συνδέσεις.Delegated-IPv6-PrefixκαιFramed-IPv6-Prefixγια dual-stack: το πρόθεμα του συνδρομητή έρχεται από τον RADIUS, όπως η IPv4.
Αλλαγή πακέτου χωρίς αποσύνδεση
Όταν ο πελάτης αναβαθμίζει, δεν υπάρχει λόγος να πέσει η σύνδεσή του. Ο
server στέλνει CoA (Change of Authorization) στη ζωντανή συνεδρία με το νέο
Mikrotik-Rate-Limit. Η αναβάθμιση εφαρμόζεται σε δευτερόλεπτα και ο
συνδρομητής δεν καταλαβαίνει τίποτα. Το Disconnect-Message μένει για τις
περιπτώσεις που όντως θέλετε τερματισμό — αναστολή, αλλαγή pool, μεταφορά σε
άλλο BNG.
Ήπια αναστολή αντί για διακοπή
Για απλήρωτο λογαριασμό, το «κόψιμο» είναι η χειρότερη πρώτη κίνηση: ο πελάτης βλέπει «δεν έχω internet» και τηλεφωνεί ως βλάβη. Στείλτε τον σε captive portal με address list και επιτρέψτε πρόσβαση στην πύλη πληρωμής και στα DNS. Ο πελάτης διαβάζει γιατί κόπηκε, πληρώνει, και η επανασύνδεση γίνεται αυτόματα με CoA.
DHCP/IPoE αντί για PPPoE
Σε δίκτυα οπτικών ινών ή σε καθαρό IPoE, ο ίδιος RADIUS εξυπηρετεί το DHCP: ο MikroTik ρωτά με βάση το MAC (και προαιρετικά Option 82 — DHCP relay information, δηλαδή πόρτα/switch), και ο server επιστρέφει IP, ταχύτητα και address list. Πλεονεκτήματα: κανένα PPPoE overhead, καμία ρύθμιση στο CPE. Μειονέκτημα: η ταυτοποίηση βασίζεται στο MAC/πόρτα, οπότε το inventory πρέπει να είναι σωστό — αλλιώς μια αλλαγή router του πελάτη γίνεται κλήση υποστήριξης.
Τα πέντε λάθη που βλέπουμε συχνότερα
- Shared secret ίδιο σε όλους τους routers. Ένα compromised μηχάνημα ξεκλειδώνει το AAA όλου του δικτύου.
- Ταχύτητα ρυθμισμένη τοπικά σε PPP profile «για να δουλέψει προσωρινά», που μένει για χρόνια και διαφωνεί με τη χρέωση.
- Χωρίς accounting ή με interim-update απενεργοποιημένο: δεν ξέρετε ποιος είναι online, δεν μπορείτε να χρεώσετε όγκο, και οι ζωντανές συνεδρίες δεν καθαρίζουν.
- Κανένα δεύτερο RADIUS server. Ένας μόνο server σημαίνει ότι μια συντήρηση = καμία νέα σύνδεση σε όλο το δίκτυο.
- Απόρριψη χωρίς λόγο. Χωρίς καταγραφή του Reply-Message και του αιτίου απόρριψης, το «δεν συνδέεται ένας πελάτης» γίνεται μισή μέρα δουλειάς.
Πώς το ελέγχετε ότι δουλεύει
/log print where topics~"radius"στον MikroTik για την αυθεντικοποίηση, και/ppp active printγια τις ζωντανές συνεδρίες.- Στον server: πίνακες accounting με Start/Stop, και έλεγχος ότι δεν συσσωρεύονται ανοιχτές συνεδρίες χωρίς Stop.
- Δοκιμή CoA σε δικό σας λογαριασμό: αλλάξτε πακέτο και επιβεβαιώστε ότι άλλαξε το rate limit χωρίς αποσύνδεση.
- Δοκιμή αναστολής/επανασύνδεσης από άκρη σε άκρη, με πραγματική πληρωμή δοκιμής.
Συχνές ερωτήσεις
Χρειάζομαι FreeRADIUS ή αρκεί το panel;
Και τα δύο μοντέλα δουλεύουν, αρκεί οι χρήστες και οι ταχύτητες να έρχονται από τη βάση του συστήματος χρέωσης. Το κρίσιμο δεν είναι ποιος daemon απαντά, αλλά ότι δεν υπάρχει δεύτερη λίστα χρηστών.
Μπορώ να αλλάξω ταχύτητα χωρίς να πέσει ο πελάτης;
Ναι, με CoA στη ζωντανή συνεδρία. Αν το CoA δεν είναι ενεργό, η αλλαγή απαιτεί αποσύνδεση.
Δουλεύει το ίδιο σε Cisco/Juniper/Ubiquiti;
Η λογική είναι ίδια, τα attributes αλλάζουν (vendor-specific). Ένα σύστημα που υποστηρίζει πολλούς κατασκευαστές πρέπει να στέλνει το σωστό σετ ανά NAS.
Πόσο συχνά πρέπει να στέλνω interim updates;
Τα 5–10 λεπτά είναι καλή ισορροπία: αρκετά συχνά για ορατότητα και χρέωση όγκου, αρκετά αραιά για να μη φορτώνουν τη βάση σε χιλιάδες συνεδρίες.
Σχετική ανάγνωση
- Captive portal και αυτόματη αναστολή συνδρομητών.
- Αυτοματοποίηση τιμολόγησης — τι ενεργοποιεί την αναστολή και την επανασύνδεση.
- Εναλλακτική του Splynx — τι να προσέξετε σε μεταφορά RADIUS χωρίς διακοπή.