Перейти к содержанию

Рекомендуемые сообщения

Опубликовано (изменено)

Пытаюсь запустить Strongswan из Entware-3x на Ultra II, для начала повторяя текущие настройки из прошивки.

Прошивочный говорит что у него

loaded plugins: charon random nonce openssl
                hmac attr kernel-netlink socket-default stroke updown eap-
                mschapv2 eap-dynamic xauth-generic xauth-eap error-notify
                systime-fix unity

Поставим что-то навроде, без eap:

Скрытый текст

strongswan - 5.5.1-2
strongswan-charon - 5.5.1-2
strongswan-mod-attr - 5.5.1-2
strongswan-mod-hmac - 5.5.1-2
strongswan-mod-kernel-netlink - 5.5.1-2
strongswan-mod-nonce - 5.5.1-2
strongswan-mod-openssl - 5.5.1-2
strongswan-mod-random - 5.5.1-2
strongswan-mod-socket-default - 5.5.1-2
strongswan-mod-stroke - 5.5.1-2
strongswan-mod-unity - 5.5.1-2
strongswan-mod-updown - 5.5.1-2
strongswan-mod-xauth-generic - 5.5.1-2
strongswan-utils - 5.5.1-2

 

Сделаем соединение, для начала с пассфразой (копия прошивочного):

Скрытый текст

conn test
    type=transport
    keyexchange=ikev2
    authby=psk
    ike=aes128-sha1-modp2048!
    esp=aes128-sha1-modp2048!
    left=1.2.3.4
    leftsubnet=1.2.3.4[4]
    leftid=e@e.a
    right=5.6.7.8
    rightsubnet=5.6.7.8[4]
    rightid=v@v.a
    auto=start

 

Теперь начинается интересное: по-умолчанию загружен модуль esp4_hw - при запуске естественно ругается что не может подгрузить esp4, но работает, причем с аппаратным ускорением!

charon: 11[IKE] CHILD_SA test{1} established with SPIs cef20fca_i ca0394c8_o and TS 1.2.3.4/32[ipencap] === 5.6.7.8/32[ipencap]
ndm: kernel: EIP93: build outbound ESP connection, (SPI=cadc4717)
ndm: kernel: EIP93: build  inbound ESP connection, (SPI=cef20fca)

Главное не забыть в фаерволе вручную разрешить входящие ESP (и, возможно, UDP/500; UDP/4500)

 

Но стоит выгрузить esp4_hw и загрузить esp4 - при запуске и попытке пинга (т.е. при установке ESP) роутер вообще уходит в ребут :( Меня конечно в первую очередь интересует работа с EIP93, но если вдруг что-то из желаемого на нем не взлетит, хотелось бы иметь возможности протестировать без него.

Изменено пользователем KorDen
Опубликовано

У меня StrongSwan на роутере работает в качестве клиента. Роутер натит весь траффик из локальной сети в тоннель.

При esp=aes128-sha2_256-modp4096 почти выдает заявленные провайдером 100Mbit.

У вас траффик натится в тоннель или маршрутизируется? Как боретесь с тем, что ndms перезаписывает правила iptables для IPSec?

Опубликовано

@yoman, нат можно отключить - делаете 'no ip nat Home' а дальше задаете что куда натить через ip static (типа ip static Home ISP). У меня IPsec в транспортном режиме, весь траффик ходит по IPIP-туннелям

44 минуты назад, yoman сказал:

При esp=aes128-sha2_256-modp4096 почти выдает заявленные провайдером 100Mbit.

А нагрузка на проц при этом какая, т.е. у вас тоже аппаратный криптомодуль работает без проблем, насколько я понимаю?

Опубликовано (изменено)
2 часа назад, KorDen сказал:

@yoman, нат можно отключить - делаете 'no ip nat Home' а дальше задаете что куда натить через ip static (типа ip static Home ISP). У меня IPsec в транспортном режиме, весь траффик ходит по IPIP-туннелям

А нагрузка на проц при этом какая, т.е. у вас тоже аппаратный криптомодуль работает без проблем, насколько я понимаю?

Проблема, в том, что StrongSwan в режиме клиента поднимает alias на eth3. Таким образом у меня на внешнем интерефейсе IP от провайдера и IP, полученный от сервера StrongSwan, в который и нужно натить трафиик. Сейчас нат приписывается скриптом _updown из плагина updown. Проблемы начинают возникать, когда кинетик переходит на резервный канал на модеме 4G, а правила iptables остаются с натом на ethernet. Приходится отлавливать это переключение скриптами. Кстати, встроенный ping checker зачем-то для каждой своей проверки переписывает все правила iptables, поэтому пришлось отказаться от встроенного механизма резервирования канала и писать свои скрипты.

'no ip nat home' решит для меня задачу не пускать клиентов в инет, пока не запустится StrongSwan

При включенном аппаратном криптомодуле и скорости ококло 80-90 Mbit softirq около 50%

Изменено пользователем yoman
Опубликовано
В 08.05.2017 в 00:12, KorDen сказал:

работает, причем с аппаратным ускорением!

Это как раз не удивительно. EIP93 включается в работу, как только по IPSec пробежит первый знакомый для него пакет.

Опубликовано
25 минут назад, Александр Рыжов сказал:

Это как раз не удивительно. EIP93 включается в работу, как только по IPSec пробежит первый знакомый для него пакет.

Я думал, придется пересобирать strongswan с esp4_hw.ko, ведь там жестко забит esp4.ko, на практике же он только при запуске ругается что не может подгрузить, но не валится при этом,

 

3 часа назад, yoman сказал:

Проблемы начинают возникать, когда кинетик переходит на резервный канал на модеме 4G, ... Кстати, встроенный ping checker зачем-то для каждой своей проверки переписывает все правила iptables, поэтому пришлось отказаться от встроенного механизма резервирования канала и писать свои скрипты.

Да, с резервированием все очень печально, я сам с этим столкнулся (вначале с бесконечной перезаписью правил, затем со сложностями работа прошивочного IPsec за нат, если не использовать автоматические туннели) - пока без авторезервирования, думаю как все лучше реализовать.

Опубликовано
42 минуты назад, KorDen сказал:

Да, с резервированием все очень печально, я сам с этим столкнулся (вначале с бесконечной перезаписью правил, затем со сложностями работа прошивочного IPsec за нат, если не использовать автоматические туннели) - пока без авторезервирования, думаю как все лучше реализовать.

У меня примерно следующее:

1. monitor.sh, который пингует хосты через туннель, если что-то не так, то пингует напрямую. Если не удалось никак пропинговать, то меняет маршрут на модем и перезапускает StrongSwan

2. Второй скрипт положил в wan.d, таким образом при пропадании линка, также меняет маршрут на модем и перезапускает ipsec.

3. Третий скрипт отсеживает появление инета на основном канале и переключает все обратно...

Ну и поверх всего этого еще скрипт, который мониторит правила iptables.

Сейчас вот отлаживаю, чтобы все запускалось в правильном порядке.

Опубликовано
В 5/8/2017 в 00:12, KorDen сказал:

Пытаюсь запустить Strongswan из Entware-3x на Ultra II, для начала повторяя текущие настройки из прошивки.

Прошивочный говорит что у него


loaded plugins: charon random nonce openssl
                hmac attr kernel-netlink socket-default stroke updown eap-
                mschapv2 eap-dynamic xauth-generic xauth-eap error-notify
                systime-fix unity

Поставим что-то навроде, без eap:

  Показать содержимое

Сделаем соединение, для начала с пассфразой (копия прошивочного):

  Показать содержимое

Теперь начинается интересное: по-умолчанию загружен модуль esp4_hw - при запуске естественно ругается что не может подгрузить esp4, но работает, причем с аппаратным ускорением!


charon: 11[IKE] CHILD_SA test{1} established with SPIs cef20fca_i ca0394c8_o and TS 1.2.3.4/32[ipencap] === 5.6.7.8/32[ipencap]
ndm: kernel: EIP93: build outbound ESP connection, (SPI=cadc4717)
ndm: kernel: EIP93: build  inbound ESP connection, (SPI=cef20fca)

Главное не забыть в фаерволе вручную разрешить входящие ESP (и, возможно, UDP/500; UDP/4500)

 

Но стоит выгрузить esp4_hw и загрузить esp4 - при запуске и попытке пинга (т.е. при установке ESP) роутер вообще уходит в ребут :( Меня конечно в первую очередь интересует работа с EIP93, но если вдруг что-то из желаемого на нем не взлетит, хотелось бы иметь возможности протестировать без него.

Нужно выгружать сперва esp4_hw, а затем crypto_k, и только потом загружать esp4.

  • 1 год спустя...
Опубликовано
В 09.05.2017 в 21:23, KorDen сказал:

Я думал, придется пересобирать strongswan с esp4_hw.ko, ведь там жестко забит esp4.ko, на практике же он только при запуске ругается что не может подгрузить, но не валится при этом,

 

Да, с резервированием все очень печально, я сам с этим столкнулся (вначале с бесконечной перезаписью правил, затем со сложностями работа прошивочного IPsec за нат, если не использовать автоматические туннели) - пока без авторезервирования, думаю как все лучше реализовать.

Ничего там не забито, он просто при старте пытается загрузить эти модули, и все: https://git.strongswan.org/?p=strongswan.git;a=blob;f=src/starter/netkey.c;h=b150d3e80beed726c944c1779268e847654c16fd;hb=HEAD#l47.

Можно даже racoon или libreswan использовать, все должно работать. Ядро в плане ускорителя никак не связано с userspace в данный момент.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.