KorDen Posted May 7, 2017 Share Posted May 7, 2017 (edited) Пытаюсь запустить 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, но если вдруг что-то из желаемого на нем не взлетит, хотелось бы иметь возможности протестировать без него. Edited May 8, 2017 by KorDen 1 Quote Link to comment Share on other sites More sharing options...
yoman Posted May 9, 2017 Share Posted May 9, 2017 У меня StrongSwan на роутере работает в качестве клиента. Роутер натит весь траффик из локальной сети в тоннель. При esp=aes128-sha2_256-modp4096 почти выдает заявленные провайдером 100Mbit. У вас траффик натится в тоннель или маршрутизируется? Как боретесь с тем, что ndms перезаписывает правила iptables для IPSec? Quote Link to comment Share on other sites More sharing options...
KorDen Posted May 9, 2017 Author Share Posted May 9, 2017 @yoman, нат можно отключить - делаете 'no ip nat Home' а дальше задаете что куда натить через ip static (типа ip static Home ISP). У меня IPsec в транспортном режиме, весь траффик ходит по IPIP-туннелям 44 минуты назад, yoman сказал: При esp=aes128-sha2_256-modp4096 почти выдает заявленные провайдером 100Mbit. А нагрузка на проц при этом какая, т.е. у вас тоже аппаратный криптомодуль работает без проблем, насколько я понимаю? Quote Link to comment Share on other sites More sharing options...
yoman Posted May 9, 2017 Share Posted May 9, 2017 (edited) 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% Edited May 9, 2017 by yoman Quote Link to comment Share on other sites More sharing options...
Александр Рыжов Posted May 9, 2017 Share Posted May 9, 2017 В 08.05.2017 в 00:12, KorDen сказал: работает, причем с аппаратным ускорением! Это как раз не удивительно. EIP93 включается в работу, как только по IPSec пробежит первый знакомый для него пакет. Quote Link to comment Share on other sites More sharing options...
KorDen Posted May 9, 2017 Author Share Posted May 9, 2017 25 минут назад, Александр Рыжов сказал: Это как раз не удивительно. EIP93 включается в работу, как только по IPSec пробежит первый знакомый для него пакет. Я думал, придется пересобирать strongswan с esp4_hw.ko, ведь там жестко забит esp4.ko, на практике же он только при запуске ругается что не может подгрузить, но не валится при этом, 3 часа назад, yoman сказал: Проблемы начинают возникать, когда кинетик переходит на резервный канал на модеме 4G, ... Кстати, встроенный ping checker зачем-то для каждой своей проверки переписывает все правила iptables, поэтому пришлось отказаться от встроенного механизма резервирования канала и писать свои скрипты. Да, с резервированием все очень печально, я сам с этим столкнулся (вначале с бесконечной перезаписью правил, затем со сложностями работа прошивочного IPsec за нат, если не использовать автоматические туннели) - пока без авторезервирования, думаю как все лучше реализовать. Quote Link to comment Share on other sites More sharing options...
yoman Posted May 9, 2017 Share Posted May 9, 2017 42 минуты назад, KorDen сказал: Да, с резервированием все очень печально, я сам с этим столкнулся (вначале с бесконечной перезаписью правил, затем со сложностями работа прошивочного IPsec за нат, если не использовать автоматические туннели) - пока без авторезервирования, думаю как все лучше реализовать. У меня примерно следующее: 1. monitor.sh, который пингует хосты через туннель, если что-то не так, то пингует напрямую. Если не удалось никак пропинговать, то меняет маршрут на модем и перезапускает StrongSwan 2. Второй скрипт положил в wan.d, таким образом при пропадании линка, также меняет маршрут на модем и перезапускает ipsec. 3. Третий скрипт отсеживает появление инета на основном канале и переключает все обратно... Ну и поверх всего этого еще скрипт, который мониторит правила iptables. Сейчас вот отлаживаю, чтобы все запускалось в правильном порядке. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted May 10, 2017 Share Posted May 10, 2017 В 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: Показать содержимое 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, но если вдруг что-то из желаемого на нем не взлетит, хотелось бы иметь возможности протестировать без него. Нужно выгружать сперва esp4_hw, а затем crypto_k, и только потом загружать esp4. Quote Link to comment Share on other sites More sharing options...
Le ecureuil Posted September 5, 2018 Share Posted September 5, 2018 В 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 в данный момент. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.