Разыскивается протокол для доступа к NAS со следующими требованиями:
- Должен вывозить гигабит в любую сторону.
- Шифрование. Безопасность такая, чтоб не страшно было через интернет этим пользоваться.
- Отсутствие тупорылых ограничений в стиле «имена файлов не могут содержать запрещённые в венде символы», «каталоги не имеют reliable mtime».
- Метаданные (такие как mtime) не теряются при копировании и перемещении между локальной и удалённой ФС.
Что я рассматривал/пробовал:
- SSH (SFTP). По непонятным причинам медленный. scp просто упирается примерно в 30 МБ/с. gvfs и rsync выжимают 80 МБ/с между машинами на x86, но когда сервер — плата на ARM (helios4 NAS), оно тоже останавливается примерно на 30 МБ/с. Я ожидаю числа, более близкие к 125 МБ/с. Узкое место не в дисках. На ARM идёт жор процессора на 100%, на x86 нет. Есть некий патчсет HPN-SSH, который должен что-то ускорить, но патчить SSH не очень хочется из соображений секурности.
- FTP. Не годится из-за отсутствия шифрования, ещё эта наркомания с двумя соединениями, пассивным режимом, conntrack и т.д.
- SMB. Не годится из-за наркоманских ограничений на имена файлов, стрёмно использовать через интернет из-за критических уязвимостей в прошлом.
- NFS. Вроде не работает через интернет?
- WebDAV. Умеет ли он сохранять mtime при выгрузке файлов на сервер? Как минимум реализация в gvfs это не делает, насколько я вижу из кода. Если сам протокол это поддерживает, gvfs можно починить (gvfs-sftp я уже чинил).
Какие вообще остаются варианты нормального доступа к файлам по сети в 2021?