English · Ελληνικά
Τα site-to-site links συνδέουν δίκτυα· το remote-access συνδέει ανθρώπους — το laptop στο αεροδρόμιο, το τηλέφωνο στο Wi-Fi του ξενοδοχείου, πίσω στο γραφείο με ασφάλεια. Αυτό χτίζει ένα σύγχρονο remote-access VPN IKEv2 σε IOS με ένα pool διευθύνσεων, split tunnelling, και auth ανά χρήστη — ο road-warrior αντίστοιχος του post site-to-site.
Το remote-access VPN έχει διαφορετικό σχήμα από το site-to-site: αντί για δύο σταθερούς peers, ένας client συνδέεται από οπουδήποτε, κάνει authenticate ως χρήστης, και του δίνεται μια διεύθυνση από ένα pool σαν να είχε συνδεθεί στο LAN του γραφείου. Σε σύγχρονο IOS ο καθαρός τρόπος να το κάνεις αυτό είναι το IKEv2 (FlexVPN) remote access — το ίδιο IKEv2 που ήδη ξέρεις, συν μια authorization policy που στέλνει config (τη διεύθυνση inside του client, DNS, και split-tunnel routes) στον client κατά τη διάρκεια του handshake.
Δύο μοντέλα auth έχουν σημασία: EAP / username-password για τους φυσικούς clients του OS και το Cisco Secure Client (πρώην AnyConnect πάνω από IKEv2), και βασισμένο σε πιστοποιητικά για διαχειριζόμενους στόλους. Θα χτίσουμε βασισμένο σε κωδικό με τοπικό αποθηκευτικό χώρο χρηστών (αντικατέστησέ το με RADIUS/TACACS+ για κλίμακα), ένα αποκλειστικό pool client, και split tunnelling ώστε μόνο κίνηση με προορισμό το γραφείο να μπαίνει στο tunnel. Ο δίδυμός του σε RouterOS — IKEv2 και SSTP road-warrior — είναι εδώ.
01
Όρισε ποιος μπορεί να συνδεθεί (AAA), ποια διεύθυνση παίρνει (pool), και τι config να του στείλεις (authorization policy — το κομμάτι που κάνει το remote-access διαφορετικό από το site-to-site).
R1(config)# aaa new-model R1(config)# aaa authentication login VPN-AUTH local R1(config)# aaa authorization network VPN-AUTHZ local R1(config)# username road.warrior secret 9 <scrypt-hash> # Pool διευθύνσεων από το οποίο ανατίθενται οι clients (δικό του subnet, δρομολογημένο στο LAN): R1(config)# ip local pool RA-POOL 10.99.0.10 10.99.0.200 # Τι ΣΤΕΛΝΟΥΜΕ στον client: pool inside, DNS, και split-tunnel routes. R1(config)# crypto ikev2 authorization policy RA-AUTHZ R1(config-ikev2-author-policy)# pool RA-POOL R1(config-ikev2-author-policy)# dns 10.10.0.53 R1(config-ikev2-author-policy)# route set access-list SPLIT-TUNNEL
02
Το profile τα δένει όλα μαζί: ο router κάνει authenticate με πιστοποιητικό (ώστε οι clients να τον εμπιστεύονται), οι clients κάνουν authenticate με EAP (username/password), και η authorization policy εφαρμόζεται σε επιτυχία.
R1(config)# crypto ikev2 profile RA-PROF R1(config-ikev2-profile)# match identity remote any # clients από οπουδήποτε R1(config-ikev2-profile)# authentication local rsa-sig # ο router παρουσιάζει πιστοποιητικό R1(config-ikev2-profile)# authentication remote eap query-identity # ο client χρησιμοποιεί EAP R1(config-ikev2-profile)# pki trustpoint RA-TP R1(config-ikev2-profile)# aaa authentication eap VPN-AUTH R1(config-ikev2-profile)# aaa authorization group eap list VPN-AUTHZ RA-AUTHZ R1(config-ikev2-profile)# virtual-template 1 # γεννάει interface ανά client
Το remote-access αντιστρέφει την κατεύθυνση του πιστοποιητικού σε σχέση με το site-to-site: εδώ ο router πρέπει να παρουσιάσει ένα πιστοποιητικό που ο client θα δεχτεί, αλλιώς η σύνδεση αποτυγχάνει στο authentication με ένα μη βοηθητικό σφάλμα. Ένα self-signed πιστοποιητικό σημαίνει ότι κάθε client δείχνει τρομακτική προειδοποίηση (ή αρνείται)· χρησιμοποίησε πιστοποιητικό από μια CA που ήδη εμπιστεύονται οι clients, και βεβαιώσου ότι το subject/SAN του ταιριάζει με το hostname που καλούν οι clients. Αυτή είναι η πιο συχνή αιτία «δεν συνδέεται και το log είναι κρυπτικό» για road-warrior IKEv2 — η κρυπτογραφία είναι εντάξει, η εμπιστοσύνη όχι.
03
Ένα virtual-template είναι το σχέδιο που το IOS κλωνοποιεί σε ένα interface virtual-access ανά client. Το split tunnelling — στέλνοντας μόνο routes γραφείου — κρατάει το Netflix του client έξω από το VPN σου και το uplink σου.
R1(config)# interface Virtual-Template1 type tunnel R1(config-if)# ip unnumbered GigabitEthernet0/1 # δανείσου το IP του LAN R1(config-if)# tunnel mode ipsec ipv4 R1(config-if)# tunnel protection ipsec profile RA-IPSEC # Split tunnel: μόνο αυτά τα δίκτυα περνάνε μέσα από το VPN· η υπόλοιπη # κίνηση του client χρησιμοποιεί απευθείας το δικό του internet. R1(config)# ip access-list standard SPLIT-TUNNEL R1(config-std-nacl)# permit 10.10.0.0 0.0.255.255 # Παράλειψε εντελώς το ACL για ΠΛΗΡΕΣ tunnel (όλη η κίνηση client μέσω γραφείου).
04
Το IKEv2 δουλεύει με φυσικούς clients OS και το Cisco Secure Client. Αν χρειάζεσαι να περάσεις εχθρικά firewalls που μπλοκάρουν το IKE, το SSL VPN (TLS/443) είναι το fallback — ίδια ιδέα, διαφορετικό transport. Μετά επιβεβαίωσε τα sessions.
R1# show crypto ikev2 sa # ένα SA ανά συνδεδεμένο client, READY R1# show crypto session detail # IP inside που ανατέθηκε, uptime, πακέτα R1# show ip interface brief | inc Virtual-Access # interfaces ανά client # Το SSL/TLS VPN (Secure Client πάνω από 443) είναι το fallback όπου το UDP 500/4500 # είναι μπλοκαρισμένο σε δίκτυα guest/ξενοδοχείου — αξίζει να το έχεις ως εναλλακτικό profile.
Συμπερασματα
Χτίζω remote-access VPN σε Cisco και MikroTik με IKEv2 για φυσικούς clients και SSL όπου ένα δίκτυο μπλοκάρει τα πάντα άλλα, σωστά πιστοποιητικά αντί για κοινόχρηστα PSK, authentication ανά χρήστη, και split tunnelling που είναι πραγματικά ρυθμισμένο σκόπιμα.
Κλεισε μια Discovery Call →