Бета-версия "ФПСУ-IP/Клиент" 6.0.6 для Linux.

NTT

Member
Добавили поддержку ARM: armhf и arm64
Большое спасибо за kmod в зависимостях,
но можно попросить довести дело до конца и добавить "| linux-headers-686-pae | linux-headers-amd64" после linux-headers-generic | linux-headers | raspberrypi-kernel-headers ?

Ну нету в debian пакета linux-headers, он там зависит от архитектуры процессора и имеет соответствующее наименование.
Да, install.sh, где ключик "--force-depends" позволяет сейчас обновить ip-client, но потом начинаются старые "кошмары" с неразрешёнными зависимостями:

BB --\ ip-client 6.0.3-0 <none>
Description: Amicon FPSU-IP/Client installer for Linux
Amicon FPSU-IP/Client is a VPN for Linux.
Homepage: http://www.amicon.ru
Priority: optional
Section: net
Maintainer: OOO "Amicon" <info@amicon.ru>
Architecture: all
Compressed Size: 0
Uncompressed Size: 1,638 k
Source Package: ip-client
Origin: (installed locally)
--\ Depends (10)
--- gcc
--- gtk2-engines-pixbuf
--- libc6
--- libccid
--- libgtk2.0-0 (>= 2.18.0)
--- libpcsclite1
--- linux-headers-generic | linux-headers | raspberrypi-kernel-headers (UNAVAILABLE)
--- make
--- module-init-tools | kmod
--- pcscd
--- Packages which depend on ip-client (0)
--\ Versions of ip-client (1)
BB 6.0.3-0
Пожалуйста... :(
 

bucas

New Member
Привет!

При поднятии туннеля пропадает tcp и udp связность с локальной сетью. По icmp при этом все ок.

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

Проверял на операционке с другим ядром и 5 верстией ip-client'а. Так же.

Это к кому?

upload_2018-12-12_15-51-52.png

upload_2018-12-12_15-49-23.png

upload_2018-12-12_15-46-32.png
 

Dmitriy

Администратор
Команда форума
Это похоже на блокировки со стороны ФПСУ-IP. Посмотреть можно зайдя в "Настройки VPN-Key" - "Блокировки" в состоянии соединения с банком.
 

bucas

New Member
Вопрос снят, у меня ключ проброшен по usbip. Конечно в эти настройки я не попадаю. Трафик заблокирован.
 

ivfk

New Member
Как временное решение, пока не вышла версия с поддержкой ядер 5.x.x попробовал пересобрать ядро и включить модуль в состав ядра.
Драйвер подцепился и работает под ubuntu 19.04 на версии ядра 5.0.23.

Если кому интересно - вот рецепт:
1. Нужно поправить AmiNFFltKern.c, в ядрах 5.x.x изменилось название для функции времени, которая используется в драйвере.

Вместо вызова функции do_gettimeofday(&timestamp) нужно вставить блок кода реализации самой этой функции:

- do_gettimeofday(&timestamp);
+ // do_gettimeofday(&timestamp);
+ struct timespec64 now;
+
+ ktime_get_real_ts64(&now);
+ timestamp.tv_sec = now.tv_sec;
+ timestamp.tv_usec = now.tv_nsec/1000;

Если собирать драйвер как модуль, а не в составе ядра, то возникают ошибки:
AmiNFFilter: Unknown symbol Ami_DEVN_ChangeDOWNAdapter (err -2)
AmiNFFilter: Unknown symbol Ami_net_inputoutput_complete (err -2)
...
Ошибки возникают из-за того, что для компиляции модуля используются функции из библиотеки AmiNFFltLib.a
Для того, чтобы использовать функцию из одного модуля в другом, эту функцию нужно явно экспортировать в одном модуле
EXPORT_SYMBOL(Ami_DEVN_ChangeAddrAdapter);
и импортиовать в другом:
extern void __calling_convention Ami_DEVN_ChangeAddrAdapter (KERN_netdevice netdev, const char *devname, int addr_len, const char *addr);
При этом экспортируемые функции появляются в файле Module.symvers

Чтобы этим не заниматься лучше скомпилировать драйвер в пространстве ядра, тогда экспортровать функции не требуется.
Для этого нужно поправить Makefile
-obj-m += $(MODULE_NAME).o
+obj-y += $(MODULE_NAME).o

В ядрах 5.x.x больше не используется SUBDIRS, вместо неё используется M=
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+ $(MAKE) -C $(KDIR) M=$(PWD) modules

В Makefile выставлено ограничение для использования только ядер 4.x.x
Нужно добавить, что ядра 5.x.x можно использовать.
+ALLOWEDKERNEL := 1
EXTRA_CFLAGS += -fno-common

Далее нужно скачать ядро, создать каталоги в нём и скопировать исправленные файлы в созданные каталоги.
Для компиляции ядра нужно около 30 Гб места на диске.

Для компиляции можно выбрать каталог:
drivers/net/amikon

Чтобы новый компонент отобразился в меню, нужно добавить информацию о нём в Kconfig
#vim drivers/net/amikon/Kconfig <<_EOF
config AMINFFILTER
tristate "Amikon NF Filter Driver"
help
Must be patched to support kernel 5.x.

Также нужно добавить информацию о новом компоненте для Makefile и Kconfig в родительских каталогах:
#vim ~/src/ubuntu-disco/drivers/Makefile
# Amikon custom driver
obj-y += net/amikon/

#vim ~/src/ubuntu-disco/drivers/Kconfig
source "drivers/net/amikon/Kconfig"
endmenu

Всё, можно компилировать ядро.
После компиляции нужно установить получившиеся файлы:
linux-headers-5.0.15.amikon.mod+_5.0.15.amikon.mod+-10.00.Custom_amd64.deb
linux-image-5.0.15.amikon.mod+_5.0.15.amikon.mod+-10.00.Custom_amd64.deb
 

Вложения

Сверху