Het creƫren van een IPSec GRE-tunnel tussen Mikrotik hEX S en Juniper SRX via USB-modem.

Doel

Een VPN-tunnel moet worden opgezet tussen twee apparaten, zoals Mikrotik en Juniper van de SRX-reeks.

Wat we hebben

Voor de Mikrotiks hebben we op de website van Mikrotik Wiki een model gekozen dat hardwarematige IPSec-encryptie kan ondersteunen. Dit model lijkt ons redelijk compact en voordelig, namelijk de Mikrotik hEXS.

De USB-modem is aangeschaft bij de dichtstbijzijnde mobiele operator, het model was Huawei E3370. We hebben geen stappen ondernomen om het van de operator los te koppelen. Alles is standaard en geflitst door de operator zelf.

In de kern is de centrale router Juniper SRX240H geĆÆnstalleerd.

Wat is gelukt

We hebben een werkingsschema gerealiseerd dat het mogelijk maakt om via een mobiele operator, zonder een statisch adres, via de modem een IPsec-verbinding te creƫren waarin een GRE-tunnel wordt verpakt.

Dit aansluitschema wordt gebruikt en werkt op USB-modems van Beeline en MegaFon.

De configuratie is als volgt:

In de kern is Juniper SRX240H geĆÆnstalleerd.
Lokale adres: 192.168.1.1/24
Extern adres: 1.1.1.1/30
GW: 1.1.1.2

Afstandsgebied

Mikrotik hEX S
Lokale adres: 192.168.152.1/24
Extern adres: Dynamisch

Een kleine diagram ter verduidelijking van de werking:

Het creƫren van een IPSec GRE-tunnel tussen Mikrotik hEX S en Juniper SRX via USB-modem.

Configuratie Juniper SRX240:

Versie van de software JUNOS Software Release [12.1X46-D82]

Configuratie Juniper

interfaces {
    ge-0\/0\/0 {
        beschrijving Internet-1;
        eenheid 0 {
            familie inet {
                adres 1.1.1.1\/30;
            }
        }
    }
    gr-0\/0\/0 {
        eenheid 1 {
            beschrijving GRE-Tunnel;
            tunnel {
                bron 172.31.152.2;
                bestemming 172.31.152.1;
            }
            familie inet;    
    vlan {
        eenheid 0 {
            familie inet {
                adres 192.168.1.1\/24;
            }
        }
    st0 {
        eenheid 5 {
            beschrijving "Area - 192.168.152.0\/24";
            familie inet {
                mtu 1400;
            }
        }
routing-opties {
    statisch {
        route 0.0.0.0\/0 volgende-hop 1.1.1.2;
        route 192.168.152.0\/24 volgende-hop gr-0\/0\/0.1;
        route 172.31.152.0\/30 volgende-hop st0.5;
    }
    router-id 192.168.1.1;
}
beveiliging {
    ike {
        trace-opties {
            bestand vpn.log grootte 256k bestanden 5;
            vlag alle;
        }
        beleid ike-gretunnel {
            modus aggressief;
            beschrijving area-192.168.152.0;
            voorstel-set standaard;
            vooraf gedeelde sleutel ascii-tekst "mysecret"; ## SECRET-DATA
        }
        gateway gw-gretunnel {
            ike-beleid ike-gretunnel;
            dynamisch inet 172.31.152.1;
            externe-interface ge-0\/0\/0.0;
            versie v2-only;
        }
    ipsec {
        }
        beleid vpn-beleid0 {
            perfecte-forward-secrecy {
                sleutels groep2;
            }
            voorstel-set standaard;
        }
        vpn vpn-gretunnel {
            bind-interface st0.5;
            df-bit kopiƫren;
            vpn-monitor {
                geoptimaliseerd;
                bron-interface st0.5;
                bestemmings-ip 172.31.152.1;
            }
            ike {
                gateway gw-gretunnel;
                geen-anti-replay;
                ipsec-beleid vpn-beleid0;
                installatie-interval 10;
            }
            tunnels onmiddellijk tot stand brengen;
        }
    }
    beleidsregels {  
        van-zone vpn naar-zone vpn {
            beleid st-vpn-vpn {
                match {
                    bron-adres elk;
                    bestemming-adres elk;
                    toepassing elk;
                }
                dan {
                    toestaan;
                    log {
                        sessie-init;   
                        sessie-sluiten;
                    }
                    tellen;
                }
            }
        }
        van-zone vertrouwd naar-zone vpn {
            beleid st-trust-to-vpn {
                match {
                    bron-adres elk;
                    bestemming-adres elk;
                    toepassing elk;
                }
                dan {                  
                    toestaan;
                    log {
                        sessie-init;
                        sessie-sluiten;
                    }
                    tellen;
                }
            }
        }
        van-zone vpn naar-zone vertrouwen {
            beleid st-vpn-to-trust {
                match {
                    bron-adres elk;
                    bestemming-adres elk;
                    toepassing elk;
                }
                dan {
                    toestaan;
                    log {
                        sessie-init;
                        sessie-sluiten;
                    }
                    tellen;
                }
            }
        }
    zones {                             
        beveiligingszone vertrouwen {
                vlan.0 {
                    host-inbound-verkeer {
                        systeemdiensten {
                            alles;
                        }
                        protocollen {
                            alles;
                        }
                    }
                }
        beveiligingszone vpn {
            interfaces {
                st0.5 {
                    host-inbound-verkeer {
                        protocollen {
                            ospf;
                        }
                    }
                }
                gr-0\/0\/0.1 {
                    host-inbound-verkeer {
                        systeemdiensten {
                            alles;
                        }
                        protocollen {
                            alles;        
                        }
                    }
                }
        beveiligingszone untrust {
            interfaces {
                ge-0\/0\/0.0 {
                    host-inbound-verkeer {
                        systeemdiensten {
                            ping;
                            ssh;
                            ike;
                        }
                    }
                }
            }
        }
vlanen {                                 
    vlan-lokaal {
        vlan-id 5;
        l3-interface vlan.1;
    }

Configuratie Mikrotik hEX S:

RouterOS versie [6.44.3]

Configuratie Mikrotik

/ip address
add address=172.31.152.1/24 comment=GRE-Tunnel interface=gre-srx network=172.31.152.0
add address=192.168.152.1/24 comment=Local-Area interface=bridge network=192.168.152.0

/interface gre
add comment=GRE-Tunnel-SRX-HQ !keepalive local-address=172.31.152.1 name=gre-srx remote-address=172.31.152.2

/ip ipsec policy group
add name=srx-gre

/ip ipsec profile
add dh-group=modp1024 dpd-interval=10s name=profile1

/ip ipsec peer
add address=1.1.1.1/32 comment=GRE-SRX exchange-mode=aggressive local-address=172.31.152.1 name=peer2 profile=profile1

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=aes-256-cbc,aes-128-cbc,3des
add enc-algorithms=aes-128-cbc,3des name=proposal1

/ip route
add distance=10 dst-address=192.168.0.0/16 gateway=gre-srx

/ip ipsec identity
add comment=IPSec-GRE my-id=address:172.31.152.1 peer=peer2 policy-template-group=srx-gre secret=mysecret

/ip ipsec policy
set 0 disabled=yes
add dst-address=0.0.0.0/0 proposal=proposal1 sa-dst-address=1.1.1.1 sa-src-address=172.31.152.1 src-address=172.31.152.0/30 tunnel=yes

/ip address
add address=172.31.152.1/24 comment=GRE-Tunnel interface=gre-srx network=172.31.152.0
add address=192.168.152.1/24 comment=Local-Area interface=bridge network=192.168.152.0

Resultaat:
Vanuit Juniper SRX

netscreen@srx240> ping 192.168.152.1  
PING 192.168.152.1 (192.168.152.1): 56 data bytes
64 bytes van 192.168.152.1: icmp_seq=0 ttl=64 tijd=29.290 ms
64 bytes van 192.168.152.1: icmp_seq=1 ttl=64 tijd=28.126 ms
64 bytes van 192.168.152.1: icmp_seq=2 ttl=64 tijd=26.775 ms
64 bytes van 192.168.152.1: icmp_seq=3 ttl=64 tijd=25.401 ms
^C
--- 192.168.152.1 ping statistieken ---
4 pakketten verzonden, 4 pakketten ontvangen, 0% pakket verlies
ronde-trip min/avg/max/stddev = 25.401/27.398/29.290/1.457 ms

Vanuit Mikrotik

net[admin@GW-LTE-] > ping 192.168.1.1 
  SEQ HOST                                     SIZE TTL TIJD  STATUS                                                                                                                                               
    0 192.168.1.1                                56  64 34ms 
    1 192.168.1.1                                56  64 40ms 
    2 192.168.1.1                                56  64 37ms 
    3 192.168.1.1                                56  64 40ms 
    4 192.168.1.1                                56  64 51ms 
    verzonden=5 ontvangen=5 pakket-verlies=0% min-rtt=34ms avg-rtt=40ms max-rtt=51ms 

Conclusies

Na het voltooien van het werk hebben we stabiliteit gekregen VPN Tunnel, vanuit het externe netwerk is ons toegang tot het netwerk dat zich achter Juniper bevindt, en vice versa.

Ik raad aan om in dit schema geen IKE2 te gebruiken, er ontstonden situaties waarbij na het herstarten van een van de apparaten IPSec niet opgestart werd.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster