VPN z wirtualnym routingiem i forwardingiem / Mikrotik i Cisco
Z MikroTik Wiki
Przykład pokazuje jak ustawić VPN z użyciem Wirtualnego Routingu i Forwardingu (VRF). Wirtualny Routing i Forwarding jest technologią używaną w sieciach komputerowych pozwalającą na umieszczenie wielu instancji tablic routingu na jednym routerze w tym samym czasie. Ponieważ instancje routingu są niezależne, mogą być używane te same lub nachodzące na siebie adresy IP bez występowania konfliktu między nimi. Poniżej przedstawiono kroki, jak ustawić taka konfigurację:
Najpierw należy skonfigurować interfejs tunelu na Mikrotikowych Router1 i Router2.
Router1:
/ interface ipip add name="tunnel" local-address=218.100.100.29 remote-address=218.100.98.5 comment="" disabled=no
Router2:
/ interface ipip add name="tunnel" local-address=218.100.100.30 remote-address=218.100.98.5 comment="" disabled=no
Następnie powinniśmy przydzielić adresy IP dla interfejsów na Router1 i Router2
Router1:
add address=218.100.100.29/27 network=218.100.100.0 broadcast=218.100.100.31 interface=uplink comment="" disabled=no
add address=192.168.1.1/24 network=192.168.1.0 broadcast=192.168.1.255 interface=ether1 comment="" disabled=no
add address=172.16.1.1/30 network=172.16.1.0 broadcast=172.16.1.3 interface=tunnel comment="" disabled=no
Router2:
add address=218.100.100.30/27 network=218.100.100.0 broadcast=218.100.100.31 interface=uplink comment="" disabled=no
add address=192.168.2.1/24 network=192.168.2.0 broadcast=192.168.2.255 interface=ether1 comment="" disabled=no
add address=172.16.1.5/30 network=172.16.1.4 broadcast=172.16.1.7 interface=tunnel comment="" disabled=no
Na routerze Cisco utwórzmy instancję VRF:
cisco#conf t cisco(config)#ip vrf TEST cisco(config-vrf)#rd 10:10 cisco(config-vrf)#end
Tworzenie interfejsu na Router1 i dodanie do vrf TEST:
cisco#conf t cisco(config)#interface Tunnel 900 cisco(config-if)#ip vrf forwarding TEST cisco(config-if)#description Tunnel_to_Mikrotik_router1 cisco(config-if)#tunnel destination <IP_Adress_router1> cisco(config-if)#tunnel source Loopback1 cisco(config-if)#load-interval 30 cisco(config-if)#tunnel mode ipip cisco(config-if)#tunnel path-mtu-discovery cisco(config-if)#ip address 172.16.1.2 255.255.255.0 cisco(config-if)#end
Tworzenie interfejsu na Router2 i dodanie do vrf TEST:
cisco#conf t cisco(config)#interface Tunnel 901 cisco(config-if)#ip vrf forwarding TEST cisco(config-if)#description Tunnel_to_Mikrotik_router2 cisco(config-if)#tunnel destination <IP_Adress_router2> cisco(config-if)#tunnel source Loopback1 cisco(config-if)#load-interval 30 cisco(config-if)#tunnel mode ipip cisco(config-if)#tunnel path-mtu-discovery cisco(config-if)#ip address 172.16.1.6 255.255.255.0 cisco(config-if)#end
Ustawienie trasy i reguł na Mikrotiku i Cisco
Router1:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark=tun passthrough=yes
in-interface=ether1 src-address=192.168.1.0/24 disabled=no
/ip route rule
add add routing-mark=tun action=lookup table=tun
/ip route
add dst-address=192.168.2.0/24 gateway=172.16.1.2 routing-mark=tun
Router2:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark=tun passthrough=yes
in-interface=ether1 src-address=192.168.2.0/24 disabled=no
/ip route rule
add add routing-mark=tun action=lookup table=tun
/ip route
add dst-address=192.168.1.0/24 gateway=172.16.1.6 routing-mark=tun
Cisco Router:
cisco#conf t
cisco(config)#ip ro vrf TEST 192.168.1.0 255.255.255.0 Tunnel900
cisco(config)#ip ro vrf TEST 192.168.2.0 255.255.255.0 Tunnel901
cisco(config)#end
Można zrobić vpn bezpośrednio z Router1 do Router2, ale gdy mamy wielu klientów z wieloma routerami i wielu z nich ma takie same zakresy adresów to jest to wspaniałe i proste rozwiązanie.
Wszystkie adresy są przykładowe.
