БъздаванС Π½Π° IPSec GRE Ρ‚ΡƒΠ½Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ Mikrotik hEX S ΠΈ Juniper SRX Ρ‡Ρ€Π΅Π· USB ΠΌΠΎΠ΄Π΅ΠΌ

Π¦Π΅Π»

НСобходимо Π΅ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° VPN Ρ‚ΡƒΠ½Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π²Π΅ устройства, ΠΊΠ°Ρ‚ΠΎ Mikrotik ΠΈ Juniper ΠΎΡ‚ линията SRX.

Какво имамС

ΠžΡ‚ Mikrotiks ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ wiki Mikrotik Π½Π° уСбсайта, ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° IPSec Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅, спорСд нас сС ΠΎΠΊΠ°Π·Π° доста ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ ΠΈ Π΅Π²Ρ‚ΠΈΠ½, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Mikrotik hEXS.

USB ΠΌΠΎΠ΄Π΅ΠΌΠ° Π΅ Π·Π°ΠΊΡƒΠΏΠ΅Π½ ΠΎΡ‚ Π½Π°ΠΉ-близкия ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ бСшС Huawei E3370. НС смС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° отдСлянС ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Всичко Π΅ стандартно ΠΈ ΡˆΠΈΡ‚ΠΎ ΠΎΡ‚ самия ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

Π―Π΄Ρ€ΠΎΡ‚ΠΎ ΠΈΠΌΠ° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»Π΅Π½ Ρ€ΡƒΡ‚Π΅Ρ€ Juniper SRX240H.

Какво стана

Π‘Π΅ΡˆΠ΅ възмоТно Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ Ρ€Π°Π±ΠΎΡ‚Π½Π° схСма, която позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»Π΅Ρ‚ΡŠΡ‡Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π±Π΅Π· статичСн адрСс, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠΎΠ΄Π΅ΠΌ Π·Π° създаванС Π½Π° IPsec Π²Ρ€ΡŠΠ·ΠΊΠ°, Π² която Π΅ ΠΎΠ±Π²ΠΈΡ‚ Ρ‚ΡƒΠ½Π΅Π»ΡŠΡ‚ GRE.

Π’Π°Π·ΠΈ схСма Π½Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° 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
Π’ΡŠΠ½ΡˆΠ΅Π½ адрСс: Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½

Малка Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°:

БъздаванС Π½Π° IPSec GRE Ρ‚ΡƒΠ½Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ Mikrotik hEX S ΠΈ Juniper SRX Ρ‡Ρ€Π΅Π· USB ΠΌΠΎΠ΄Π΅ΠΌ

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π½Π° Juniper SRX240:

ВСрсия Π½Π° софтуСра JUNOS [12.1X46-D82]

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π½Π° Ρ…Π²ΠΎΠΉΠ½Π°

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

ΠžΡ‚ страна Π½Π° ΠœΠΈΠΊΡ€ΠΎΡ‚ΠΈΠΊ

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 Ρ‚ΡƒΠ½Π΅Π», ΠΎΡ‚ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ цялата ΠΌΡ€Π΅ΠΆΠ°, която сС Π½Π°ΠΌΠΈΡ€Π° Π·Π°Π΄ Ρ…Π²ΠΎΠΉΠ½Π°, ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

НС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ IKE2 Π² Ρ‚Π°Π·ΠΈ схСма, имашС ситуация, Ρ‡Π΅ слСд рСстартиранС Π½Π° Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎ устройство IPSec Π½Π΅ сС ΠΈΠ·Π΄ΠΈΠ³Π°.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€