Oprettelse af IPSec GRE tunnel mellem Mikrotik hEX S og Juniper SRX via USB-modem

Formålet

Det er nødvendigt at organisere en VPN-tunnel mellem to enheder, såsom Mikrotik og Juniper SRX-serien.

Hvad har vi

Fra Mikrotik valgte vi på Mikrotiks hjemmeside en model, der kan understøtte hardwarekryptering af IPSec. Efter vores mening viste den sig at være tilstrækkelig kompakt og billig, nemlig Mikrotik hEXS.

USB-modemmet blev købt hos den nærmeste mobiloperatør, modellen var Huawei E3370. Ingen operationer til at låse det op fra operatøren blev udført. Alt er standard og er indgraveret af operatøren.

I systemet er den centrale router Juniper SRX240H installeret.

Hvad er lykkedes

Vi har formået at implementere et system, der gør det muligt gennem mobiloperatøren, uden at have en statisk adresse, at skabe en IPSec-forbindelse via modem, som indpakker GRE-tunnelen.

Dette tilslutningsskema anvendes og fungerer på USB-modemer fra Beeline og MegaFon.

Konfigurationen er som følger:

I systemet er Juniper SRX240H installeret
Lokal adresse: 192.168.1.1/24
Ekstern adresse: 1.1.1.1/30
GW: 1.1.1.2

Fjernpunkt

Mikrotik hEX S
Lokal adresse: 192.168.152.1/24
Ekstern adresse: Dynamisk

En lille diagram til at forstå arbejdet:

Oprettelse af IPSec GRE tunnel mellem Mikrotik hEX S og Juniper SRX via USB-modem

Konfiguration af Juniper SRX240:

Version af software JUNOS Software Release [12.1X46-D82]

Konfiguration af Juniper

grænseflader {
    ge-0\/0\/0 {
        beskrivelse Internet-1;
        enhed 0 {
            familie inet {
                adresse 1.1.1.1\/30;
            }
        }
    }
    gr-0\/0\/0 {
        enhed 1 {
            beskrivelse GRE-Tunnel;
            tunnel {
                kilde 172.31.152.2;
                destination 172.31.152.1;
            }
            familie inet;    
    vlan {
        enhed 0 {
            familie inet {
                adresse 192.168.1.1\/24;
            }
        }
    st0 {
        enhed 5 {
            beskrivelse "Område - 192.168.152.0\/24";
            familie inet {
                mtu 1400;
            }
        }
routing-options {
    statisk {
        rute 0.0.0.0\/0 næste-hop 1.1.1.2;
        rute 192.168.152.0\/24 næste-hop gr-0\/0\/0.1;
        rute 172.31.152.0\/30 næste-hop st0.5;
    }
    router-id 192.168.1.1;
}
sikkerhed {
    ike {
        traceoptions {
            fil vpn.log størrelse 256k filer 5;
            flag alle;
        }
        politik ike-gretunnel {
            tilstand aggressiv;
            beskrivelse område-192.168.152.0;
            forslag-sæt standard;
            foruddelagt nøgle ascii-text "mysecret"; ## SECRET-DATA
        }
        gateway gw-gretunnel {
            ike-politik ike-gretunnel;
            dynamisk inet 172.31.152.1;
            ekstern-grænseflade ge-0\/0\/0.0;
            version v2-only;
        }
    ipsec {
        }
        politik vpn-policy0 {
            perfekt-fremad-hemmelighed {
                nøgler gruppe2;
            }
            forslag-sæt standard;
        }
        vpn vpn-gretunnel {
            bindel-grænseflade st0.5;
            df-bit kopi;
            vpn-overvågning {
                optimeret;
                kilde-grænseflade st0.5;
                destination-ip 172.31.152.1;
            }
            ike {
                gateway gw-gretunnel;
                no-anti-replay;
                ipsec-politik vpn-policy0;
                installere-interval 10;
            }
            etablere-tunneler straks;
        }
    }
    politikker {  
        fra-zone vpn til-zone vpn {
            politik st-vpn-vpn {
                match {
                    kilde-adresse enhver;
                    destination-adresse enhver;
                    ansøgning enhver;
                }
                så {
                    tillade;
                    log {
                        session-init;   
                        session-close;
                    }
                    tælle;
                }
            }
        }
        fra-zone tillid til-zone vpn {
            politik st-trust-to-vpn {
                match {
                    kilde-adresse enhver;
                    destination-adresse enhver;
                    ansøgning enhver;
                }
                så {                  
                    tillade;
                    log {
                        session-init;
                        session-close;
                    }
                    tælle;
                }
            }
        }
        fra-zone vpn til-zone tillid {
            politik st-vpn-to-trust {
                match {
                    kilde-adresse enhver;
                    destination-adresse enhver;
                    ansøgning enhver;
                }
                så {
                    tillade;
                    log {
                        session-init;
                        session-close;
                    }
                    tælle;
                }
            }
        }
    zoner {                             
        sikkerheds-zone tillid {
                vlan.0 {
                    host-indgående-trafik {
                        system-services {
                            alle;
                        }
                        protokoller {
                            alle;
                        }
                    }
                }
        sikkerheds-zone vpn {
            grænseflader {
                st0.5 {
                    host-indgående-trafik {
                        protokoller {
                            ospf;
                        }
                    }
                }
                gr-0\/0\/0.1 {
                    host-indgående-trafik {
                        system-services {
                            alle;
                        }
                        protokoller {
                            alle;        
                        }
                    }
                }
        sikkerheds-zone untrust {
            grænseflader {
                ge-0\/0\/0.0 {
                    host-indgående-trafik {
                        system-services {
                            ping;
                            ssh;
                            ike;
                        }
                    }
                }
            }
        }
vlns {                                 
    vlan-lokal {
        vlan-id 5;
        l3-grænseflade vlan.1;
    }

Mikrotik hEX S Konfiguration:

RouterOS version [6.44.3]

Mikrotik Konfiguration

/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

Resultat:
Fra Juniper SRX

netscreen@srx240> ping 192.168.152.1  
PING 192.168.152.1 (192.168.152.1): 56 data bytes
64 bytes from 192.168.152.1: icmp_seq=0 ttl=64 time=29.290 ms
64 bytes from 192.168.152.1: icmp_seq=1 ttl=64 time=28.126 ms
64 bytes from 192.168.152.1: icmp_seq=2 ttl=64 time=26.775 ms
64 bytes from 192.168.152.1: icmp_seq=3 ttl=64 time=25.401 ms
^C
--- 192.168.152.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 25.401/27.398/29.290/1.457 ms

Fra Mikrotik

net[admin@GW-LTE-] > ping 192.168.1.1 
  SEQ HOST                                     SIZE TTL TIME  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 
    sent=5 received=5 packet-loss=0% min-rtt=34ms avg-rtt=40ms max-rtt=51ms 

Konklusioner

Efter det udførte arbejde fik vi en stabil forbindelse VPN Tunnel, fra den fjerne netværk har vi adgang til hele netværket, som ligger bag juniper, og omvendt.

Jeg anbefaler ikke at bruge IKE2 i denne opsætning, der opstod en situation, hvor IPsec ikke blev etableret efter genstart af enhed.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster