Bug 38449 - Ошибка при запуске сервиса socket:Protocol not supported
Summary: Ошибка при запуске сервиса socket:Protocol not supported
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: coturn (show other bugs)
Version: unstable
Hardware: x86 Linux
: P5 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-07 15:31 MSK by Antonov Alexander
Modified: 2020-05-07 19:32 MSK (History)
1 user (show)

See Also:


Attachments
Лог сервера. (5.71 KB, text/plain)
2020-05-07 15:31 MSK, Antonov Alexander
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Antonov Alexander 2020-05-07 15:31:44 MSK
Created attachment 8761 [details]
Лог сервера.

Воспроизводится в p9 и Sisyphus, в Fedora не воcпроизводится с аналогичной конфигурацией и версией coturn.

В конфиг /etc/coturn/turnserver.conf добавлены\раскомментированы строки:

fingerprint
lt-cred-mech
use-auth-secret
static-auth-secret=7e8983849a22a703c1f8500ea0dfcd4646f9ea1781b1e2ff749e39f4f1f56ffd
total-quota=100
stale-nonce
no-multicast-peers

После запуска сервиса coturn в логах появляются ошибки:
journalctl -u coturn
мая 07 10:10:19 server-9-x86-64-minimal turnserver[16534]: socket: Protocol not supported
мая 07 10:10:19 server-9-x86-64-minimal turnserver[16534]: socket: Protocol not supported
мая 07 10:10:19 server-9-x86-64-minimal turnserver[16534]: socket: Protocol not supported
мая 07 10:10:19 server-9-x86-64-minimal turnserver[16534]: socket: Protocol not supported
мая 07 10:10:19 server-9-x86-64-minimal turnserver[16534]: socket: Protocol not supported

При этом сервер работает, проверил подключение к нему с помощью nexcloud talk.

Если оставить конфиг /etc/coturn/turnserver.conf по умолчанию и запустить сервис то появляются такие же ошибки о не поддерживаемом протоколе.

Приложил лог запуска сервера /var/log/turn_3632_2020-05-06.log
Comment 1 Arseny Maslennikov 2020-05-07 19:29:00 MSK
Если запустить coturn под strace -f -e trace=%net -o /run/turnserver/trace.log, то, помимо прочего, увидите следующее:

# grep '^271002' /run/turnserver/trace.log 
271002 socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP <unfinished ...>
271002 <... socket resumed>)            = -1 EPROTONOSUPPORT (Protocol not supported)
<...>

Поддержка SCTP у нас как минимум в un-def ядрах на добровольной основе:

# zcat /proc/config.gz | grep SCTP
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_IP_VS_PROTO_SCTP=y
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_OBJCNT is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=m

Т. е. если сказать от рута `modprobe sctp` или отключить его в конфигурации coturn, то coturn ругаться не будет.

Я не в курсе, как дела у федориных ядер; возможно, там собирают IP_SCTP=y.
Comment 2 Arseny Maslennikov 2020-05-07 19:32:15 MSK
(In reply to Antonov Alexander from comment #0)
> При этом сервер работает, проверил подключение к нему с помощью nexcloud
> talk.

Значит, работает не только у меня; приятно это слышать! Спасибо вам, что пощупали.