IPsec dovoluje spojit oddělené oblasti bezpečnými (šifrovanými) tunely. S počtem oblastí logicky narůstá i počet provázaných adresních prostorů (např. 192.168.0.0/24, 192.168.150.0/24, 172.16.30.0/24, 10.1.0.0/16, atd.), což může vést k velkému počtu Policies. Ty normálně popisují, že provoz z jednoho adresního prostoru do druhého má být veden tunelem do určité (IPsec) brány.
Konfiguračně přehlednějším řešením je využití dynamického směrování, kdy si routery zmíněných oblastí vymění informace o dostupných adresových prostorech, a tok pak mezi sebou směrují zcela automaticky. Zohlední tak například aktuálně vypadlé linky. Další nespornou výhodou je, že Policies obsahují pouze pravidla šifrující komunikaci mezi routery.
Konfigurace ukazuje nastavení pro tři routery A, B a C z pohledu routeru A.
K dynamickému směrování využijeme RIP. Ten bude potřebovat, aby byly směrovací linky (IP-IP tunely) reprezentované odděleným rozhraním. V následující konfiguraci pro ně použijeme rozsah 192.168.255.0/24, rozdrobený na linky s rozsahem /30 (4 IP adresy, tj. síťová, dvě adresy pro danou linku a broadcast).
/interface ipip add !keepalive local-address=192.168.255.1 mtu=1460 name=ipip-tunnel-a-b remote-address=192.168.255.2 add !keepalive local-address=192.168.255.5 mtu=1460 name=ipip-tunnel-a-c remote-address=192.168.255.6
Potom lze aktivovat RIP
/routing rip interface add interface=ipip-tunnel-a-b receive=v2 add interface=ipip-tunnel-a-c receive=v2 /routing rip neighbor add address=192.168.255.2 add address=192.168.255.6
a informovat o dostupných sítích (například 192.168.0.0/24 za routerem A)
/routing rip network add network=192.168.0.0/24 add network=192.168.255.0/30 add network=192.168.255.4/30
Kromě toho je samozřejmě nutné povolit příslušnou komunikaci na firewallu. Využijeme k tomu address-listy:
Filtrování pak bude následující. Povolíme na linkách mezi routery (ipip-tunnel-*) provoz RIPaddresses, forwarding mezi VPNnet, a na výstupním WAN portu do internetu (ether10-gtw) IPsec provoz linek mezi routery.
/ip firewall filter add chain=input dst-address-list=RIPaddresses in-interface=ipip-tunnel-a-b src-address-list=RIPaddresses add chain=input dst-address-list=RIPaddresses in-interface=ipip-tunnel-a-c src-address-list=RIPaddresses add chain=output dst-address-list=RIPaddresses out-interface=ipip-tunnel-a-b src-address-list=RIPaddresses add chain=output dst-address-list=RIPaddresses out-interface=ipip-tunnel-a-c src-address-list=RIPaddresses add chain=forward in-interface=ipip-tunnel-a-b src-address-list=VPNnet add chain=forward in-interface=ipip-tunnel-a-c src-address-list=VPNnet add chain=forward dst-address-list=VPNnet out-interface=ipip-tunnel-a-b add chain=forward dst-address-list=VPNnet out-interface=ipip-tunnel-a-c add chain=input dst-address=192.168.255.0/24 in-interface=ether10-gtw ipsec-policy=in,ipsec src-address=192.168.255.0/24 add chain=output dst-address=192.168.255.0/24 ipsec-policy=out,ipsec out-interface=ether10-gtw src-address=192.168.255.0/24
Nyní je nutné realizovat linky mezi tunely tak, aby byly zpracovány IPsec. Firewall bude vyžadovat povolení příslušného ESP/AH provozu, včetně UDP 500/4500. Samotný IPsec ale vystačí s jednoduchým nastavením
/ip ipsec proposal add auth-algorithms=sha512,sha256 enc-algorithms=aes-256-cbc name=strong pfs-group=modp4096
Brány A, B a C budou mít v následující konfiguraci WAN adresy 1.1.1.1, 1.1.1.2 a 1.1.1.3.
/ip ipsec peer add address=1.1.1.2/32 auth-method=rsa-key dh-group=modp4096 enc-algorithm=aes-256 hash-algorithm=sha256 key=brana-A lifetime=1h local-address=1.1.1.1 nat-traversal=no remote-key=brana-B add address=1.1.1.3/32 auth-method=rsa-key dh-group=modp4096 enc-algorithm=aes-256 hash-algorithm=sha256 key=brana-A lifetime=1h local-address=1.1.1.1 nat-traversal=no remote-key=brana-C
Policies vystačí s pouhým šifrováním linek mezi routery.
/ip ipsec policy add dst-address=192.168.255.2/32 proposal=strong sa-dst-address=1.1.1.2 sa-src-address=1.1.1.1 src-address=192.168.255.0/32 tunnel=yes add dst-address=192.168.255.6/32 proposal=strong sa-dst-address=1.1.1.3 sa-src-address=1.1.1.1 src-address=192.168.255.4/32 tunnel=yes
Tato základní konfigurace by měla být doprovázena i správným zabezpečením RIP. S ohledem na vymezení tohoto provozu na oddělené adaptéry se už jedná o relativně snadnou úpravu. Rovněž s ní je spojená správná správa (akceptace a odmítání) prefixů.
V neposlední řadě by bylo možné eliminovat tunelový mód a nahradit ho transportním. V takovém případě by brány a jejich RIP využily přímo dostupné venkovní IP adresy. Tato úprava však vyžaduje větší pečlivost, protože může dojít k nechtěným bezpečnostním incidentům.
-- LeoGalambos - 17 Sep 2016