Mi hanno proposto un problema: isolare i dispositivi connessi ad un'interfaccia del router e rendere impossibile l'accesso alle altre interfacce e al management del router pur garantendo l'accesso ad Internet ai dispositivi connessi a questa interfaccia.
Ho pensato di approfittare di questo quesito per presentare una soluzione basata su VRF anziché su regole di firewall.
Virtual Routing and Forwarding
VRF, impostata su un'interfaccia, costituisce una tabella di routing indipendente.
L'accesso a risorse raggiungibili attraverso la tabella di routing main deve essere specificato manualmente (route leaking).
I servizi di management del router sono di default accessibili esclusivamente dalla VRF main.
che VRF sia...
Dichiariamo la nuova VRF sull'interfaccia del router da isolare.
/ip vrf
add interfaces=ether3 name=vrf1
Dichiariamo una default route all'interno della VRF che punti ad un gateway raggiungibile attraverso la main routing table.
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=[IP gateway]@main routing-table=vrf1
Da notare l'uso del @main per indicare la tabella di routing a cui fare riferimento per cercare il gateway
Ora è indispensabile fare in modo che il traffico che proviene da Internet e che appartiene alle connessioni aperte dai dispositivi nella VRF, possa "saltare" nella VRF.
Marchiamo quindi le connessioni aperte da questi dispositivi e poi il traffico che arriva da Internet appartenente a queste connessioni.
/ip firewall mangle
add action=mark-connection chain=prerouting \
connection-state=new in-interface=ether3 new-connection-mark=vrf1
add action=mark-routing chain=prerouting \
connection-mark=vrf1 in-interface=ether1 new-routing-mark=vrf1
Fatto!!
I dispositivi connessi all'interfaccia su cui abbiamo configurato la VRF potranno accedere ad Internet ma non potranno né accedere alla LAN né fare management del router.
Comments