Erstellung eines IPSec GRE-Tunnels zwischen Mikrotik hEX S und Juniper SRX über einen USB-Modem

Ziel

Es muss ein VPN-Tunnel zwischen zwei Geräten, wie Mikrotik und der Juniper SRX-Serie, eingerichtet werden.

Was wir haben

Wir haben auf der Mikrotik-Wiki-Seite ein Modell ausgewählt, das Hardware-Verschlüsselung für IPSec unterstützen kann. Aus unserer Sicht war das Mikrotik hEXS kompakt und preiswert.

Das USB-Modem wurde bei einem nahegelegenen Mobilfunkanbieter gekauft, das Modell war Huawei E3370. Wir haben keine Entkopplungsoperationen vom Anbieter durchgeführt. Alles war standardmäßig konfiguriert und vom Anbieter vorinstalliert.

Im Kern befindet sich der zentrale Router Juniper SRX240H.

Was erreicht wurde

Es wurde eine Arbeitsweise realisiert, die es ermöglicht, über den Mobilfunkanbieter, ohne statische Adresse, mit einem Modem eine IPsec-Verbindung herzustellen, in die ein GRE-Tunnel eingebettet ist.

Dieses Verbindungsschema wird verwendet und funktioniert mit den USB-Modems von Beeline und Megafon.

Die Konfiguration lautet wie folgt:

Im Kern befindet sich Juniper SRX240H
Lokale Adresse: 192.168.1.1/24
Externe Adresse: 1.1.1.1/30
GW: 1.1.1.2

Remote-Punkt

Mikrotik hEX S
Lokale Adresse: 192.168.152.1/24
Externe Adresse: Dynamisch

Eine kleine Übersicht zur Funktionsweise:

Erstellung eines IPSec GRE-Tunnels zwischen Mikrotik hEX S und Juniper SRX über einen USB-Modem

Konfiguration Juniper SRX240:

JUNOS Software Version [12.1X46-D82]

Juniper Konfiguration

schnittstellen {
    ge-0/0/0 {
        beschreibung Internet-1;
        einheit 0 {
            familie inet {
                adresse 1.1.1.1/30;
            }
        }
    }
    gr-0/0/0 {
        einheit 1 {
            beschreibung GRE-Tunnel;
            tunnel {
                quelle 172.31.152.2;
                ziel 172.31.152.1;
            }
            familie inet;
    vlan {
        einheit 0 {
            familie inet {
                adresse 192.168.1.1/24;
            }
        }
    st0 {
        einheit 5 {
            beschreibung "Bereich - 192.168.152.0/24";
            familie inet {
                mtu 1400;
            }
        }
routing-optionen {
    statisch {
        route 0.0.0.0/0 nächster-hop 1.1.1.2;
        route 192.168.152.0/24 nächster-hop gr-0/0/0.1;
        route 172.31.152.0/30 nächster-hop st0.5;
    }
    router-id 192.168.1.1;
}
sicherheit {
    ike {
        traceoptionen {
            datei vpn.log größe 256k dateien 5;
            flagge alle;
        }
        politik ike-gretunnel {
            modus aggressiv;
            beschreibung bereich-192.168.152.0;
            vorschlags-Set standard;
            vorab-geteilte-schlüssel ascii-text "mysecret"; ## SECRET-DATA
        }
        gateway gw-gretunnel {
            ike-politik ike-gretunnel;
            dynamisch inet 172.31.152.1;
            extern-schnittstelle ge-0/0/0.0;
            version v2-nur;
        }
    ipsec {
        }
        politik vpn-policy0 {
            perfekte-vorwärts-sicherheit {
                schlüssel gruppe2;
            }
            vorschlags-Set standard;
        }
        vpn vpn-gretunnel {
            binde-schnittstelle st0.5;
            df-bit kopieren;
            vpn-monitor {
                optimiert;
                quelle-schnittstelle st0.5;
                ziel-ip 172.31.152.1;
            }
            ike {
                gateway gw-gretunnel;
                kein-anti-wiedergabe;
                ipsec-politik vpn-policy0;
                installationsintervall 10;
            }
            tunneln sofort herstellen;
        }
    }
    politiken {  
        von-zone vpn zu-zone vpn {
            politik st-vpn-vpn {
                match {
                    quell-adresse beliebig;
                    ziel-adresse beliebig;
                    anwendung beliebig;
                }
                dann {
                    erlauben;
                    protokoll {
                        sitzungs-init;
                        sitzungs-schließen;
                    }
                    zählen;
                }
            }
        }
        von-zone vertrauen zu-zone vpn {
            politik st-trust-to-vpn {
                match {
                    quell-adresse beliebig;
                    ziel-adresse beliebig;
                    anwendung beliebig;
                }
                dann {                  
                    erlauben;
                    protokoll {
                        sitzungs-init;
                        sitzungs-schließen;
                    }
                    zählen;
                }
            }
        }
        von-zone vpn zu-zone vertrauen {
            politik st-vpn-to-trust {
                match {
                    quell-adresse beliebig;
                    ziel-adresse beliebig;
                    anwendung beliebig;
                }
                dann {
                    erlauben;
                    protokoll {
                        sitzungs-init;
                        sitzungs-schließen;
                    }
                    zählen;
                }
            }
        }
    zonen {                             
        sicherheits-zone vertrauen {
                vlan.0 {
                    host-eingehenden-verkehr {
                        system-dienste {
                            alle;
                        }
                        protokolle {
                            alle;
                        }
                    }
                }
        sicherheits-zone vpn {
            schnittstellen {
                st0.5 {
                    host-eingehenden-verkehr {
                        protokolle {
                            ospf;
                        }
                    }
                }
                gr-0/0/0.1 {
                    host-eingehenden-verkehr {
                        system-dienste {
                            alle;
                        }
                        protokolle {
                            alle;
                        }
                    }
                }
        sicherheits-zone untrust {
            schnittstellen {
                ge-0/0/0.0 {
                    host-eingehenden-verkehr {
                        system-dienste {
                            ping;
                            ssh;
                            ike;
                        }
                    }
                }
            }
        }
vlan {
    vlan-lokal {
        vlan-id 5;
        l3-schnittstelle 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

Das Ergebnis:
Von der Juniper SRX-Seite

netscreen@srx240> ping 192.168.152.1  
PING 192.168.152.1 (192.168.152.1): 56 Datenbytes
64 Bytes von 192.168.152.1: icmp_seq=0 ttl=64 Zeit=29.290 ms
64 Bytes von 192.168.152.1: icmp_seq=1 ttl=64 Zeit=28.126 ms
64 Bytes von 192.168.152.1: icmp_seq=2 ttl=64 Zeit=26.775 ms
64 Bytes von 192.168.152.1: icmp_seq=3 ttl=64 Zeit=25.401 ms
^C
--- 192.168.152.1 Ping-Statistiken ---
4 Pakete gesendet, 4 Pakete empfangen, 0% Paketverlust
Hin- und Rückreise min/avg/max/stddev = 25.401/27.398/29.290/1.457 ms

Von der Mikrotik-Seite

net[admin@GW-LTE-]> ping 192.168.1.1 
  SEQ HOST                                    SIZE TTL ZEIT  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 
    gesendet=5 empfangen=5 Paketverlust=0% min-rtt=34ms avg-rtt=40ms max-rtt=51ms 

Fazit

Nach der durchgeführten Arbeit haben wir eine stabile Verbindung erhalten. VPN Der Tunnel ermöglicht den Zugang zu dem gesamten Netzwerk, das hinter dem Juniper-Gerät liegt, und umgekehrt.

Ich empfehle nicht, in diesem Setup IKE2 zu verwenden, da es Situationen gegeben hat, in denen nach einem Neustart des jeweiligen Geräts die IPSec-Verbindung nicht hochgeht.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster