Δημιουργία IPSec GRE τούνελ μεταξύ Mikrotik hEX S και Juniper SRX μέσω USB Modem

στόχος

Είναι απαραίτητο να οργανωθεί ένα VPN Tunnel μεταξύ δύο συσκευών, όπως η Mikrotik και η Juniper της γραμμής SRX.

Τι έχουμε

Από τα Mikrotiks, επιλέξαμε ένα wiki Mikrotik στον ιστότοπο, ένα μοντέλο που μπορεί να υποστηρίξει κρυπτογράφηση υλικού IPSec, κατά τη γνώμη μας, αποδείχθηκε αρκετά συμπαγές και φθηνό, δηλαδή το Mikrotik hEXS.

Το USB Modem αγοράστηκε από τον πλησιέστερο πάροχο κινητής τηλεφωνίας, το μοντέλο ήταν Huawei E3370. Δεν πραγματοποιήσαμε καμία επέμβαση για αποσύνδεση από τον χειριστή. Όλα είναι στάνταρ και ραμμένα από τον ίδιο τον χειριστή.

Ο πυρήνας έχει έναν κεντρικό δρομολογητή Juniper SRX240H.

Τι συνέβη

Ήταν δυνατή η υλοποίηση ενός σχήματος εργασίας που επιτρέπει τη χρήση ενός τελεστή κινητής τηλεφωνίας, χωρίς στατική διεύθυνση, χρησιμοποιώντας ένα μόντεμ για τη δημιουργία μιας σύνδεσης IPsec στην οποία είναι τυλιγμένο το GRE Tunnel.

Αυτό το σχήμα σύνδεσης χρησιμοποιείται και λειτουργεί σε μόντεμ USB Beeline και Megafon.

Η διαμόρφωση είναι η εξής:

Το Juniper SRX240H είναι εγκατεστημένο στον πυρήνα
Τοπική Διεύθυνση: 192.168.1.1/24
Εξωτερική Διεύθυνση: 1.1.1.1/30
GW: 1.1.1.2

απομακρυσμένο σημείο

Mikrotik hEX S
Τοπική Διεύθυνση: 192.168.152.1/24
Εξωτερική Διεύθυνση: Dynamic

Ένα μικρό διάγραμμα για την κατανόηση της εργασίας:

Δημιουργία IPSec GRE τούνελ μεταξύ Mikrotik hEX S και Juniper SRX μέσω USB Modem

Διαμόρφωση Juniper SRX240:

Έκδοση έκδοσης λογισμικού JUNOS [12.1X46-D82]

Διαμόρφωση Juniper

interfaces {
    ge-0/0/0 {
        description Internet-1;
        unit 0 {
            family inet {
                address 1.1.1.1/30;
            }
        }
    }
    gr-0/0/0 {
        unit 1 {
            description GRE-Tunnel;
            tunnel {
                source 172.31.152.2;
                destination 172.31.152.1;
            }
            family inet;    
    vlan {
        unit 0 {
            family inet {
                address 192.168.1.1/24;
            }
        }
    st0 {
        unit 5 {
            description "Area - 192.168.152.0/24";
            family inet {
                mtu 1400;
            }
        }
routing-options {
    static {
        route 0.0.0.0/0 next-hop 1.1.1.2;
        route 192.168.152.0/24 next-hop gr-0/0/0.1;
        route 172.31.152.0/30 next-hop st0.5;
    }
    router-id 192.168.1.1;
}
security {
    ike {
        traceoptions {
            file vpn.log size 256k files 5;
            flag all;
        }
        policy ike-gretunnel {
            mode aggressive;
            description area-192.168.152.0;
            proposal-set standard;
            pre-shared-key ascii-text "mysecret"; ## SECRET-DATA
        }
        gateway gw-gretunnel {
            ike-policy ike-gretunnel;
            dynamic inet 172.31.152.1;
            external-interface ge-0/0/0.0;
            version v2-only;
        }
    ipsec {
        }
        policy vpn-policy0 {
            perfect-forward-secrecy {
                keys group2;
            }
            proposal-set standard;
        }
        vpn vpn-gretunnel {
            bind-interface st0.5;
            df-bit copy;
            vpn-monitor {
                optimized;
                source-interface st0.5;
                destination-ip 172.31.152.1;
            }
            ike {
                gateway gw-gretunnel;
                no-anti-replay;
                ipsec-policy vpn-policy0;
                install-interval 10;
            }
            establish-tunnels immediately;
        }
    }
    policies {  
        from-zone vpn to-zone vpn {
            policy st-vpn-vpn {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {
                    permit;
                    log {
                        session-init;   
                        session-close;
                    }
                    count;
                }
            }
        }
        from-zone trust to-zone vpn {
            policy st-trust-to-vpn {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {                  
                    permit;
                    log {
                        session-init;
                        session-close;
                    }
                    count;
                }
            }
        }
        from-zone vpn to-zone trust {
            policy st-vpn-to-trust {
                match {
                    source-address any;
                    destination-address any;
                    application any;
                }
                then {
                    permit;
                    log {
                        session-init;
                        session-close;
                    }
                    count;
                }
            }
        }
    zones {                             
        security-zone trust {
                vlan.0 {
                    host-inbound-traffic {
                        system-services {
                            all;
                        }
                        protocols {
                            all;
                        }
                    }
                }
        security-zone vpn {
            interfaces {
                st0.5 {
                    host-inbound-traffic {
                        protocols {
                            ospf;
                        }
                    }
                }
                gr-0/0/0.1 {
                    host-inbound-traffic {
                        system-services {
                            all;
                        }
                        protocols {
                            all;        
                        }
                    }
                }
        security-zone untrust {
            interfaces {
                ge-0/0/0.0 {
                    host-inbound-traffic {
                        system-services {
                            ping;
                            ssh;
                            ike;
                        }
                    }
                }
            }
        }
vlans {                                 
    vlan-local {
        vlan-id 5;
        l3-interface vlan.1;
    }

Διαμόρφωση Mikrotik hEX S:

Έκδοση λογισμικού RouterOS [6.44.3]

Διαμόρφωση 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

Το αποτέλεσμα:
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

Από την πλευρά του 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 

Ευρήματα

Μετά τη δουλειά που έγινε, λάβαμε ένα σταθερό VPN Tunnel, από το απομακρυσμένο δίκτυο έχουμε πρόσβαση σε ολόκληρο το δίκτυο που βρίσκεται πίσω από το juniper και, κατά συνέπεια, πίσω.

Δεν συνιστώ τη χρήση του IKE2 σε αυτό το σχήμα, υπήρχε μια κατάσταση που μετά την επανεκκίνηση μιας ή άλλης συσκευής, το IPSec δεν αυξάνεται.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο