modified on 22 sty 2010 at 11:52 ••• 176 views

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.