Πίσω στο blog

English  ·  Ελληνικά

MikroTik / RouterOS  ·  Οδηγος  ·  Ιουλιος 2026

MikroTik
Βασικα του IPv6

Οι ελληνικοί ISPs δίνουν IPv6 είτε το ζήτησες είτε όχι, και η επικίνδυνη κατάσταση είναι το "μισοανοιχτό" — ενεργοποιημένο, με addressing, και εντελώς χωρίς firewall, γιατί δεν υπάρχει πια NAT να κρύβει τους hosts σου. Αυτό είναι το IPv6 σε RouterOS φτιαγμένο σκόπιμα: πάρε ένα prefix από τον ISP, δώσ' το στο LAN, και βάλε του σωστό firewall. Το post IPv6 της Cisco, σε RouterOS.

MikroTik RouterOS IPv6 DHCPv6-PD SLAAC

Το IPv6 δεν είναι "IPv4 με μεγαλύτερες διευθύνσεις" — το operational model διαφέρει με τρόπους που έχουν σημασία από την πρώτη μέρα. Κανονικά δεν υπάρχει NAT: κάθε host παίρνει μια globally routable διεύθυνση, οπότε το τυχαίο firewall που παρείχε το NAT του IPv4 έχει φύγει. Το addressing είναι συνήθως αυτόματο μέσω SLAAC (οι hosts χτίζουν τη δική τους διεύθυνση από ένα prefix που διαφημίζει ο router) αντί για DHCP. Και δεν παίρνεις μία διεύθυνση από τον ISP σου — παίρνεις ένα prefix μέσω DHCPv6 Prefix Delegation (PD) που το κάνεις subnet στα δικά σου VLANs.

Το build είναι τέσσερα βήματα: ενεργοποίησε IPv6, ζήτησε ένα delegated prefix από τον ISP, διαφήμισε ένα /64 από αυτό στο LAN, και — το βήμα που δεν είναι προαιρετικό — γράψε ένα firewall IPv6, γιατί χωρίς αυτό κάθε εσωτερικός host είναι απευθείας προσβάσιμος από το internet. Καθρεφτίζει το Cisco IOS: IPv6 Fundamentals· η πειθαρχία firewall χτίζεται πάνω στο firewall του RouterOS.

Προαπαιτουμενα

01

Ενεργοποιησε το IPv6

Το RouterOS 7 έρχεται με IPv6 αλλά το αφήνει απενεργοποιημένο. Ενεργοποίησέ το και το forwarding πριν δουλέψει οτιδήποτε άλλο.

Terminal — ενεργοποιησε IPv6 και routing
> /ipv6 settings set disable-ipv6=no forward=yes
# Σε RouterOS 6 είναι πακέτο αντ' αυτού: /system package enable ipv6, reboot.
> /ipv6 settings print

02

Παρε ενα Prefix — DHCPv6-PD απο τον ISP

Ζήτησε από τον ISP ένα delegated prefix αντί για μία διεύθυνση. Το RouterOS το αποθηκεύει σε μια pool από την οποία μετά κόβεις /64s για κάθε εσωτερικό δίκτυο.

Terminal — ζητησε ενα prefix στο WAN, αποθηκευσε το σε pool
> /ipv6 dhcp-client add interface=ether1 request=prefix \
    pool-name=isp-pd pool-prefix-length=64 add-default-route=yes
> /ipv6 dhcp-client print
   status: bound   prefix: 2a02:...:1200::/56   # το delegated block
# Ένα /56 σου δίνει 256 /64s — ένα ανά VLAN, με περιθώριο.

03

Δωσε ενα /64 στο LAN — Addressing & RAs

Ανάθεσε μια διεύθυνση στο LAN από την pool, και το RouterOS διαφημίζει το prefix ώστε οι hosts να κάνουν autoconfigure μέσω SLAAC. Δεν χρειάζεται DHCP για βασική συνδεσιμότητα.

Terminal — διευθυνση LAN απο την delegated pool, RA on
# Πάρε ένα /64 από την pool για το bridge του LAN (το ::1 είναι ο router).
> /ipv6 address add interface=bridge from-pool=isp-pd address=::1 advertise=yes

# Το Neighbour Discovery διαφημίζει το prefix· οι hosts κάνουν SLAAC μόνοι τους.
# Το advertise=yes στη διεύθυνση ήδη πυροδοτεί RAs σε αυτό το interface.
> /ipv6 nd print
# Θες DNS στους hosts επίσης; Διαφήμισέ το μέσω RA (RDNSS):
> /ipv6 nd set [find] dns=2606:4700:4700::1111

04

Το Firewall — Δεν Υπαρχει NAT να σε Σωσει Μην το Παραλειψεις

Το πιο σημαντικό τμήμα. Με global διευθύνσεις και χωρίς NAT, κάθε εσωτερικός host είναι απευθείας προσβάσιμος από το internet τη στιγμή που ανεβαίνει το IPv6. Πρέπει να χτίσεις ένα firewall IPv6 — και πρέπει να επιτρέψεις ICMPv6, αλλιώς σπάει το πρωτόκολλο.

/ipv6 firewall filter — μια ελαχιστη ασφαλης βαση
# FORWARD: επίτρεψε established/related έξω και πίσω· κάνε drop νέα inbound.
> /ipv6 firewall filter
add chain=forward connection-state=established,related action=accept
add chain=forward connection-state=invalid action=drop
add chain=forward connection-state=new in-interface=ether1 action=drop \
    comment="no unsolicited inbound from WAN"

# INPUT: προστάτεψε τον router. ΚΡΙΣΙΜΑ επίτρεψε ICMPv6 ΠΡΙΝ το drop —
# το NDP, το PMTUD και το address config βασίζονται πάνω του· μπλόκαρέ το και το IPv6 καταρρέει.
add chain=input connection-state=established,related action=accept
add chain=input protocol=icmpv6 action=accept comment="ICMPv6 is mandatory"
add chain=input src-address-list=MGMT action=accept
add chain=input action=drop
⚠ Παγιδα — Το Μπλοκαρισμα ICMPv6 Χαλαει τα Παντα

Η μυϊκή μνήμη του IPv4 λέει "κάνε drop το ICMP, είναι απλά ping". Στο IPv6, το ICMPv6 μεταφέρει το Neighbour Discovery (την αντικατάσταση του ARP), τα Router Advertisements, και το Path MTU Discovery. Μπλόκαρέ το ολόκληρο και οι hosts δεν μπορούν να κάνουν resolve γείτονες, δεν μπορούν να κάνουν autoconfigure, και μεγάλα πακέτα εξαφανίζονται σιωπηλά — μια εκνευριστική αποτυχία "μισό internet φορτώνει". Πάντα accept protocol=icmpv6 πάνω από τον κανόνα drop σου. Αυτό είναι το νούμερο-ένα λάθος firewall IPv6, σε κάθε πλατφόρμα.

Βασικα Συμπερασματα

  1. Το IPv6 δεν έχει NAT by default — κάθε host είναι globally routable, οπότε το τυχαίο firewall του IPv4 έχει φύγει. "Ενεργοποιημένο αλλά χωρίς firewall" είναι η επικίνδυνη κατάσταση.
  2. Ενεργοποίησε IPv6 και forwarding ρητά — το RouterOS το φέρνει απενεργοποιημένο.
  3. Παίρνεις ένα prefix, όχι μια διεύθυνση. Ζήτησε DHCPv6-PD, αποθήκευσέ το σε pool, και κόψε /64s ανά δίκτυο — ένα /56 σου δίνει 256.
  4. Το SLAAC μέσω Router Advertisements κάνει auto-address τους hosts· διαφήμισε DNS μέσω RA αν θες και config resolver.
  5. Χτίσε το firewall IPv6 — είναι υποχρεωτικό, όχι προαιρετικό. Κάνε drop το ανεπιθύμητο inbound· αλλιώς το internet μπορεί να φτάσει κάθε host.
  6. Πάντα επίτρεψε ICMPv6. Μεταφέρει neighbour discovery, RAs, και PMTUD — μπλόκαρέ το και το IPv6 σπάει με μπερδεμένους τρόπους.

Ο ISP ενεργοποιησε IPv6 και τωρα δεν ξερεις τι ειναι εκτεθειμενο;

Το IPv6 χωρίς αντίστοιχο ruleset firewall ξανανοίγει κάθε πόρτα που το NAT έκλεινε κατά λάθος. Το deploy-άρω σωστά σε MikroTik και Cisco — prefix delegation, καθαρό addressing ανά VLAN, και κανόνες που μεταχειρίζονται το v6 τόσο σοβαρά όσο το v4.

Κλεισε μια Discovery Call →