На этой неделе я получил свой первый маршрутизатор Mikrotik — CCR1009-8G-1S-1S+PC, который хочу использовать вместо Cisco ASA5505. Настроить CCR оказалось довольно просто: vlan’ы, маршрутизация, firewall chain’ы и ipsec — всё работает. Но вот пропускная способность ipsec немного разочаровала. Мой кабельный интернет должен выдавать 200 Мбит/с на загрузку и 40 Мбит/с на отдачу, и маршрутизатор CCR с NAT этим легко управляется. После прочтения http://wiki.mikrotik.com/wiki/Manual:IP/IPsec#Hardware_encryption я ожидал, что CCR будет обрабатывать ipsec с той же скоростью, что и обычный трафик. С AES256 + SHA1 мне едва удаётся вытягивать 10 Мбит/с, а с 3des — максимум около 30 Мбит/с, и то медленно.
VPN-концентратором служит Cisco ASA5540 с пропускной способностью 1 Гбит/с. Старый ASA5505 мог шифровать ipsec на скорости 100 Мбит/с, и CCR сконфигурирован как полноценная замена ASA5505 — ipsec-настройки совпадают со старыми:
Посмотрев статистику ipsec, кажется, что что-то не так. Но пока я не могу понять, что именно. Стоит ли мне сбросить ожидания или CCR должен спокойно обеспечивать 200/40 Мбит/с ipsec-трафика?
Хмм, серьезно подумываю купить ccr1009 взамен своему rb2011 для канала 100/100. Моя конфигурация зависит от l2tp через ipsec, поэтому я много читал про производительность ipsec на ccr1009. Оказалось, что у многих возникают проблемы, и полно обсуждений про ccr и ipsec. Кроме вас двоих, какой реальный throughput у людей в итоге? Может, мне все-таки взять старый RB1100AH?
Мне интересно, как долго существовала SA в момент, когда вы распечатали эти статистические данные? Даже на, казалось бы, идеально работающем IPsec-туннеле я вижу много значений, отличных от нуля, преимущественно в параметрах -state-. Проверив несколько маршрутизаторов, я не нашёл ни одного с полностью нулевыми значениями. Вы делали захват пакетов, чтобы убедиться, что трафик действительно шифруется?
Ещё один расстроенный/разочарованный клиент. К сожалению, у меня те же самые проблемы с производительностью на CCR1036 и CCR1016, что и у всех остальных. При использовании IPSec не удаётся получить скорость выше 25-30 Мбит/с на туннель. Скорость стабильно около 25 Мбит/с с редкими прыжками до 27-28 Мбит/с, но никогда выше 30 Мбит/с, и загрузка процессора никогда не поднимается выше 1% на любом из моих роутеров. У меня довольно минимальный access list, включён queuing, производится маркировка пакетов, а connection tracking активирован. Как и все остальные здесь, кто жалуется, я отчаянно нуждаюсь в быстром решении этой проблемы, и НЕТ, откат на RB1100AHx2 — это неприемлемый вариант!
Две причины этому: фрагментированные пакеты и пакеты, пришедшие в неправильном порядке. В статистике ipsec видно много ошибок state-sequence-errors, что означает, что пакеты приходят не по порядку и отбрасываются драйвером ipsec. Если это UDP-трафик, убедитесь, что пакеты отправляются такого размера, чтобы не требовалась фрагментация. Если это TCP, уменьшите TCP MSS до тех пор, пока пакет не перестанет фрагментироваться.
Итак, если у меня настроен роад-ворриор на l2tp/ipsec и я вижу много state-sequence-errors на MT, значит мне нужно уменьшить TCP MSS на клиентских машинах, которые подключаются к MT?
К сожалению, на одном из моих удалённых тестовых узлов, где используются туннели IPSec и IPIP, я уже уменьшил MSS до 1418 и пробовал новую функцию ограничения MSS, но скорости остались такими же, как я упоминал ранее. Есть какие-нибудь другие предложения?
Покопавшись немного и изучив десятки сообщений на этом форуме с фразой «ipsec poor performance», я выяснил, что смена алгоритмов аутентификации и шифрования с sha1 и 3des на sha512 и aes cbc 256 позволила мне увеличить максимальную пропускную способность примерно до 42,5 Мбит/с, что заметно лучше тех 30 Мбит/с, которые были раньше. Было бы просто замечательно, если бы Mikrotik смогли добиться тех самых 3,4 Гбит/с пропускной способности IPSec VPN, которые они рекламировали в других постах на форумах.
Аппаратное шифрование включается ТОЛЬКО при использовании алгоритмов SHA1 и AES-CBC. sha256, 3des, aes-gcm и другие будут работать в программном режиме.
Есть что-то очень тревожное в том, что когда я включаю «аппаратное шифрование» с использованием указанных выше алгоритмов, скорость становится хуже, чем до этого. В моих тестах, когда я пробовал SHA1 с AES-CBC 128, 192 или 256, максимальная скорость потока в одном направлении была всего 15 Мбит/с. Извините, если покажется, что я захватил эту тему.
Если бы только это было так просто увидеть в интерфейсе… что-то вроде отображения, какие алгоритмы аппаратно ускорены в System/Routerboard или System/Resources. Даже pfsense умеет так делать!