Назад | Перейти на главную страницу

Туннель IPsec не работает

У меня есть статический туннель IPsec, настроенный между облачным сервером Debian, на котором запущен StrongSwan, и Juniper SRX 210. Туннель идет нормально, но никогда не остается в рабочем состоянии надолго, самое длинное может составлять около 1 часа. Я думаю, это потому, что по туннелю проходит не так много данных, и время ожидания истекает.

Конфигурация StrongSwan:

# ipsec.conf - strongSwan IPsec configuration file

config setup

# Add connections here.
conn vpn.mydomain.com
    auto=start
    keyexchange=ikev2
    authby=secret
    ike=aes128-sha256-modp2048s256
    ikelifetime=3h
    esp=aes128-sha256
    left=AAA.BBB.CCC.DDD
    leftid=@reverser.mydomain.com
    leftsubnet=192.168.2.0/24
    leftsourceip=192.168.2.2
    right=vpn.mydomain.com
    rightid=@vpn.mydomain.com
    rightsubnet=192.168.1.0/24
    dpdaction=hold
    dpddelay=60
    dpdtimeout=500

Конфигурация SRX (частичная):

proposal ike-vpn-proposal {
    authentication-method pre-shared-keys;
    dh-group group24;
    authentication-algorithm sha-256;
    encryption-algorithm aes-128-cbc;
}
policy ike-vpn-policy {
    mode aggressive;
    proposals ike-vpn-proposal;
    pre-shared-key ascii-text "SECRET"; ## SECRET-DATA    }
gateway vpn-local-gw {
    ike-policy ike-vpn-policy;
    address AAA.BBB.CCC.DDD;
    dead-peer-detection {
        interval 10;
        threshold 3;
    }
    local-identity hostname vpn.mydomain.com;
    remote-identity hostname reverser.mydomain.com;
    external-interface fe-0/0/7.0;
    version v2-only;
}


proposal ipsec-vpn-proposal {
    protocol esp;
    authentication-algorithm hmac-sha-256-128;
    encryption-algorithm aes-128-cbc;
}
policy ipsec-vpn-policy {
    perfect-forward-secrecy {
        keys group24;
    }
    proposals ipsec-vpn-proposal;
}
vpn vpn {
    bind-interface st0.0;
    ike {
        gateway vpn-local-gw;
        proxy-identity {
            local 192.168.1.0/24;
            remote 192.168.2.0/24;
        }
        ipsec-policy ipsec-vpn-policy;
    }
    establish-tunnels immediately;
}


security-zone trust {
    host-inbound-traffic {
        system-services {
            all;
        }
        protocols {
            all;
        }
    }
    interfaces {
        vlan.100;
    }
}
security-zone untrust {
    screen untrust-screen;
    interfaces {
        fe-0/0/7.0 {
            host-inbound-traffic {
                system-services {
                    dhcp;
                    ike;
                }
            }
        }
    }
}
security-zone vpn {
    interfaces {
        st0.0;
    }
}

Статус SRX IKE и IPsec:

root@dravis> show security ike security-associations
Index   State  Initiator cookie  Responder cookie  Mode           Remote Address
1402228 UP     3551524e1af4a5e3  9dbc38ed8519f12b  IKEv2          AAA.BBB.CCC.DDD

root@dravis> show security ipsec security-associations
  Total active tunnels: 0

root@dravis> show security ipsec inactive-tunnels
  Total inactive tunnels: 1
  Total inactive tunnels with establish immediately: 1
  ID     Port  Nego#  Fail#  Flag      Gateway          Tunnel Down Reason
  131073 500   8      0      600a29    AAA.BBB.CCC.DDD  Delete payload received

Статус StrongSwan:

Status of IKE charon daemon (strongSwan 5.2.1, Linux 3.16.0-4-amd64, x86_64):
  uptime: 92 days, since Aug 24 17:41:13 2016
  malloc: sbrk 1495040, mmap 0, used 312800, free 1182240
  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 2
  loaded plugins: charon aes rc2 sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm attr kernel-netlink resolve socket-default stroke updown
Listening IP addresses:
  AAA.BBB.CCC.DDD
  10.10.0.5
  192.168.2.2
Connections:
vpn.mydomain.com:  AAA.BBB.CCC.DDD...vpn.mydomain.com  IKEv2
vpn.mydomain.com:   local:  [reverser.mydomain.com] uses pre-shared key authentication
vpn.mydomain.com:   remote: [vpn.mydomain.com] uses pre-shared key authentication
vpn.mydomain.com:   child:  192.168.2.0/24 === 192.168.1.0/24 TUNNEL
Security Associations (1 up, 0 connecting):
vpn.mydomain.com[941]: ESTABLISHED 2 hours ago, AAA.BBB.CCC.DDD[reverser.mydomain.com]...EEE.FFF.GGG.HHH[vpn.mydomain.com]
vpn.mydomain.com[941]: IKEv2 SPIs: e3a5f41a4e525135_i 2bf11985ed38bc9d_r*, pre-shared key reauthentication in 15 minutes
vpn.mydomain.com[941]: IKE proposal: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048_256

Я считаю, что решил проблему, установив явные интервалы смены ключей с обеих сторон - 3 часа для IKE, 12 часов для IPsec.

Я не знаю, почему это решило проблему, что меня беспокоит, но туннель проработал несколько дней без проблем.