Skapande av IPSec GRE-tunnel mellan Mikrotik hEX S och Juniper SRX via USB-modem

Syftet

Det är nödvändigt att organisera en VPN-tunnel mellan två enheter, såsom Mikrotik och Juniper SRX-serien.

Vad har vi?

Från Mikrotik valde vi en modell på Mikrotiks wiki som kan stödja hårdvarukryptering IPSec. Enligt vår åsikt är den tillräckligt kompakt och prisvärd, nämligen Mikrotik hEXS.

USB-modemet köptes hos den närmaste mobiloperatören, modellen var Huawei E3370. Inga åtgärder för att låsa upp det från operatören genomfördes. Allt är standard och har implanterats av operatören.

I kärnan finns den centrala router Juniper SRX240H.

Vad har lyckats?

Det har lyckats att implementera ett arbetsschema som gör det möjligt att skapa en IPsec-anslutning via mobiloperatören utan att ha en statisk adress, genom modemet, där en GRE-tunnel kapslas in.

Denna anslutningsschema används och fungerar på USB-modem från Beeline och Megafon.

Konfigurationen är följande:

I kärnan finns Juniper SRX240H.
Lokalt adress: 192.168.1.1/24
Extern adress: 1.1.1.1/30
GW: 1.1.1.2

Fjärrpunkt

Mikrotik hEX S
Lokalt adress: 192.168.152.1/24
Extern adress: Dynamisk

En liten diagram för att förstå hur det fungerar:

Skapande av IPSec GRE-tunnel mellan Mikrotik hEX S och Juniper SRX via USB-modem

Konfiguration Juniper SRX240:

Version av programvaran JUNOS Software Release [12.1X46-D82]

Konfiguration Juniper

gränssnitt {
    ge-0/0/0 {
        beskrivning Internet-1;
        enhet 0 {
            familj inet {
                adress 1.1.1.1/30;
            }
        }
    }
    gr-0/0/0 {
        enhet 1 {
            beskrivning GRE-Tunnel;
            tunnel {
                källa 172.31.152.2;
                destination 172.31.152.1;
            }
            familj inet;    
    vlan {
        enhet 0 {
            familj inet {
                adress 192.168.1.1/24;
            }
        }
    st0 {
        enhet 5 {
            beskrivning "Område - 192.168.152.0/24";
            familj inet {
                mtu 1400;
            }
        }
routing-alternativ {
    statisk {
        rutt 0.0.0.0/0 nästa-hop 1.1.1.2;
        rutt 192.168.152.0/24 nästa-hop gr-0/0/0.1;
        rutt 172.31.152.0/30 nästa-hop st0.5;
    }
    router-id 192.168.1.1;
}
säkerhet {
    ike {
        spårningsalternativ {
            fil vpn.log storlek 256k filer 5;
            flagga alla;
        }
        policy ike-gretunnel {
            läge aggressiv;
            beskrivning område-192.168.152.0;
            förslagsuppsättning standard;
            förhandsdelad nyckel ascii-text "mysecret"; ## SECRET-DATA
        }
        gateway gw-gretunnel {
            ike-policy ike-gretunnel;
            dynamisk inet 172.31.152.1;
            extern-gränssnitt ge-0/0/0.0;
            version v2-endast;
        }
    ipsec {
        }
        policy vpn-policy0 {
            perfekt-framåt-hemlighet {
                nycklar grupp2;
            }
            förslagsuppsättning standard;
        }
        vpn vpn-gretunnel {
            bind-gränssnitt st0.5;
            df-bit kopiera;
            vpn-övervakning {
                optimerad;
                källa-gränssnitt st0.5;
                destinations-ip 172.31.152.1;
            }
            ike {
                gateway gw-gretunnel;
                ingen-anti-replay;
                ipsec-policy vpn-policy0;
                installera-intervall 10;
            }
            etablera-tunnlar omedelbart;
        }
    }
    policies {  
        från-zon vpn till-zon vpn {
            policy st-vpn-vpn {
                matcha {
                    käll-adress någon;
                    destinations-adress någon;
                    applikation någon;
                }
                då {
                    tillåta;
                    logg {
                        session-init;   
                        session-close;
                    }
                    räkna;
                }
            }
        }
        från-zon trust till-zon vpn {
            policy st-trust-till-vpn {
                matcha {
                    käll-adress någon;
                    destinations-adress någon;
                    applikation någon;
                }
                då {                  
                    tillåta;
                    logg {
                        session-init;
                        session-close;
                    }
                    räkna;
                }
            }
        }
        från-zon vpn till-zon trust {
            policy st-vpn-till-trust {
                matcha {
                    käll-adress någon;
                    destinations-adress någon;
                    applikation någon;
                }
                då {
                    tillåta;
                    logg {
                        session-init;
                        session-close;
                    }
                    räkna;
                }
            }
        }
    zoner {                             
        säkerhets-zon trust {
                vlan.0 {
                    host-ingångstrafik {
                        system-tjänster {
                            alla;
                        }
                        protokoll {
                            alla;
                        }
                    }
                }
        säkerhets-zon vpn {
            gränssnitt {
                st0.5 {
                    host-ingångstrafik {
                        protokoll {
                            ospf;
                        }
                    }
                }
                gr-0/0/0.1 {
                    host-ingångstrafik {
                        system-tjänster {
                            alla;
                        }
                        protokoll {
                            alla;        
                        }
                    }
                }
        säkerhets-zon untrust {
            gränssnitt {
                ge-0/0/0.0 {
                    host-ingångstrafik {
                        system-tjänster {
                            ping;
                            ssh;
                            ike;
                        }
                    }
                }
            }
        }
vlan {
    vlan-lokal {
        vlan-id 5;
        l3-gränssnitt 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

Resultatet:
Från 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

Från 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 

Slutsatser

Efter avslutat arbete fick vi stabilitet VPN Tunnel, från det fjärrnätverk som vi har tillgång till alla nätverk som ligger bakom Juniper, och vice versa.

Jag rekommenderar inte att använda IKE2 i detta schema, det har uppstått situationer där IPsec inte startar efter omstart av enheten.

Källa: habr.com

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster