На этой неделе я получил свой первый маршрутизатор Mikrotik — CCR1009-8G-1S-1S+PC, который хочу использовать вместо Cisco ASA5505. Настроить CCR оказалось довольно просто: vlan’ы, маршрутизация, firewall chain’ы и ipsec — всё работает. Но вот пропускная способность ipsec немного разочаровала. Мой кабельный интернет должен выдавать 200 Мбит/с на загрузку и 40 Мбит/с на отдачу, и маршрутизатор CCR с NAT этим легко управляется. После прочтения я ожидал, что CCR будет обрабатывать ipsec с той же скоростью, что и обычный трафик. С AES256 + SHA1 мне едва удаётся вытягивать 10 Мбит/с, а с 3des — максимум около 30 Мбит/с, и то медленно.
VPN-концентратором служит Cisco ASA5540 с пропускной способностью 1 Гбит/с. Старый ASA5505 мог шифровать ipsec на скорости 100 Мбит/с, и CCR сконфигурирован как полноценная замена ASA5505 — ipsec-настройки совпадают со старыми:
Phase1 AES256 + SHA1 + DH Group 5
Phase2 AES256 + SHA1 (без pfs)
Посмотрев статистику ipsec, кажется, что что-то не так. Но пока я не могу понять, что именно. Стоит ли мне сбросить ожидания или CCR должен спокойно обеспечивать 200/40 Мбит/с ipsec-трафика?
[admin@MikroTik] /ip ipsec statistics> print
in-errors: 0
in-buffer-errors: 0
in-header-errors: 0
in-no-states: 0
in-state-protocol-errors: 9
in-state-mode-errors: 0
in-state-sequence-errors: 43105
in-state-expired: 0
in-state-mismatches: 0
in-state-invalid: 0
in-template-mismatches: 16591
in-no-policies: 0
in-policy-blocked: 0
in-policy-errors: 0
out-errors: 0
out-bundle-errors: 0
out-bundle-check-errors: 0
out-no-states: 866
out-state-protocol-errors: 297
out-state-mode-errors: 0
out-state-sequence-errors: 0
out-state-expired: 297
out-policy-blocked: 0
out-policy-dead: 0
out-policy-errors: 0
[admin@MikroTik] /ip ipsec> peer print
Flags: X - отключён, D - динамический
0 address=[Colo ASA5540] local-address=0.0.0.0 passive=no port=500 auth-method=pre-shared-key secret=":)" generate-policy=no policy-template-group=default exchange-mode=main send-initial-contact=yes
nat-traversal=no proposal-check=obey hash-algorithm=sha1 enc-algorithm=aes-256 dh-group=modp1536 lifetime=1d lifebytes=0 dpd-interval=2m dpd-maximum-failures=1
[admin@MikroTik] /ip ipsec> proposal print
Flags: X - отключён, * - по умолчанию
0 * name="default" auth-algorithms=md5,sha1,sha256,null enc-algorithms=3des,aes-128-cbc,aes-256-cbc,camellia-256,aes-256-ctr lifetime=30m pfs-group=modp1024
1 name="asa5540" auth-algorithms=sha1 enc-algorithms=aes-256-cbc lifetime=30m pfs-group=none
[admin@MikroTik] /ip ipsec> policy print
Flags: T - шаблон, X - отключён, D - динамический, I - неактивный, * - по умолчанию
0 T * group=default src-address=::/0 dst-address=::/0 protocol=all proposal=default template=yes
1 src-address=[public subnet] src-port=any dst-address=0.0.0.0/0 dst-port=any protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes sa-src-address=[CCR Wan address] sa-dst-address=[Colo ASA5540] proposal=asa5540 priority=0
VPN-концентратором служит Cisco ASA5540 с пропускной способностью 1 Гбит/с. Старый ASA5505 мог шифровать ipsec на скорости 100 Мбит/с, и CCR сконфигурирован как полноценная замена ASA5505 — ipsec-настройки совпадают со старыми:
Phase1 AES256 + SHA1 + DH Group 5
Phase2 AES256 + SHA1 (без pfs)
Посмотрев статистику ipsec, кажется, что что-то не так. Но пока я не могу понять, что именно. Стоит ли мне сбросить ожидания или CCR должен спокойно обеспечивать 200/40 Мбит/с ipsec-трафика?
[admin@MikroTik] /ip ipsec statistics> print
in-errors: 0
in-buffer-errors: 0
in-header-errors: 0
in-no-states: 0
in-state-protocol-errors: 9
in-state-mode-errors: 0
in-state-sequence-errors: 43105
in-state-expired: 0
in-state-mismatches: 0
in-state-invalid: 0
in-template-mismatches: 16591
in-no-policies: 0
in-policy-blocked: 0
in-policy-errors: 0
out-errors: 0
out-bundle-errors: 0
out-bundle-check-errors: 0
out-no-states: 866
out-state-protocol-errors: 297
out-state-mode-errors: 0
out-state-sequence-errors: 0
out-state-expired: 297
out-policy-blocked: 0
out-policy-dead: 0
out-policy-errors: 0
[admin@MikroTik] /ip ipsec> peer print
Flags: X - отключён, D - динамический
0 address=[Colo ASA5540] local-address=0.0.0.0 passive=no port=500 auth-method=pre-shared-key secret=":)" generate-policy=no policy-template-group=default exchange-mode=main send-initial-contact=yes
nat-traversal=no proposal-check=obey hash-algorithm=sha1 enc-algorithm=aes-256 dh-group=modp1536 lifetime=1d lifebytes=0 dpd-interval=2m dpd-maximum-failures=1
[admin@MikroTik] /ip ipsec> proposal print
Flags: X - отключён, * - по умолчанию
0 * name="default" auth-algorithms=md5,sha1,sha256,null enc-algorithms=3des,aes-128-cbc,aes-256-cbc,camellia-256,aes-256-ctr lifetime=30m pfs-group=modp1024
1 name="asa5540" auth-algorithms=sha1 enc-algorithms=aes-256-cbc lifetime=30m pfs-group=none
[admin@MikroTik] /ip ipsec> policy print
Flags: T - шаблон, X - отключён, D - динамический, I - неактивный, * - по умолчанию
0 T * group=default src-address=::/0 dst-address=::/0 protocol=all proposal=default template=yes
1 src-address=[public subnet] src-port=any dst-address=0.0.0.0/0 dst-port=any protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes sa-src-address=[CCR Wan address] sa-dst-address=[Colo ASA5540] proposal=asa5540 priority=0
