Добрый день.
Есть WEB-сервер. Для меня это чёрный ящик.
На FreeBSD у меня скрипт, который обращается curl-ом к этому серверу.
Я 11.3 обновил на 12.0-RELEASE-p9 с ядром GENERIC
После этого curl после 3-его запроса даёт тайм-аут и
curl: (7) Failed to connect to xyz.com port 443: Operation timed outС остальных систем, расположенных за разными провайдерами и в разных локациях, этот запрос без малейших тормозов возвращает мне ответ.
Соединение с ISP поднимает mpd.
В каком направлении смотреть?
> Добрый день.
> Есть WEB-сервер. Для меня это чёрный ящик.
> На FreeBSD у меня скрипт, который обращается curl-ом к этому серверу.
> Я 11.3 обновил на 12.0-RELEASE-p9 с ядром GENERICКак обновлял, бинарно или с исходников?
Софт пересобирал после обновления?> В каком направлении смотреть?
Пока не уточнил - в направлении portmaster -a или pkg update/upgrade
>> Добрый день.
>> Есть WEB-сервер. Для меня это чёрный ящик.
>> На FreeBSD у меня скрипт, который обращается curl-ом к этому серверу.
>> Я 11.3 обновил на 12.0-RELEASE-p9 с ядром GENERIC
> Как обновлял, бинарно или с исходников?Бинарно. Вначале младший релиз с патчами. Затем старший.
> Софт пересобирал после обновления?
Софт пересобрал
>> В каком направлении смотреть?
> Пока не уточнил - в направлении portmaster -a или pkg update/upgradeПорты не задействовал. Пакеты обновлял командами pkg update/upgrade.
> Порты не задействовал. Пакеты обновлял командами pkg update/upgrade.Поправь /etc/pkg/FreeBSD.conf:
Найди
url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
Замени на
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
Затем pkg update/upgrade
>> Порты не задействовал. Пакеты обновлял командами pkg update/upgrade.
> Поправь /etc/pkg/FreeBSD.conf:
> Найди
> url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
> Замени на
> url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
> Затем pkg update/upgradeСделал. Проблема осталась.
P.S: курлыкают через прокси, который находится на этом сервере. Т.е. с разных систем с разных платформ (win/nix) добавляя ключ "-x proxy.abc.net:3128"
Я начал курлыкать непосредственно в системе, когда таймауты появились у остальных (кто обращается через прокси).
> Добрый день.
> Есть WEB-сервер. Для меня это чёрный ящик.
> На FreeBSD у меня скрипт, который обращается curl-ом к этому серверу.
> Я 11.3 обновил на 12.0-RELEASE-p9 с ядром GENERIC
> После этого curl после 3-его запроса даёт тайм-аут и
> curl: (7) Failed to connect to xyz.com port 443: Operation timed out
> В каком направлении смотреть?Вероятно у вас эта же проблема:
https://lists.freebsd.org/pipermail/freebsd-net/2019-July/05...
>> Добрый день.
>> Есть WEB-сервер. Для меня это чёрный ящик.
>> На FreeBSD у меня скрипт, который обращается curl-ом к этому серверу.
>> Я 11.3 обновил на 12.0-RELEASE-p9 с ядром GENERIC
>> После этого curl после 3-его запроса даёт тайм-аут и
>> curl: (7) Failed to connect to xyz.com port 443: Operation timed out
>> В каком направлении смотреть?
> Вероятно у вас эта же проблема:
> https://lists.freebsd.org/pipermail/freebsd-net/2019-July/05...Очень точное описание моей проблемы.
В треде указали 7 урлов с которыми возникли проблемы. Я споткнулся 4 из них:
curl -v https://185.134.205.105:443
curl -v https://136.243.1.231:443
curl -v https://144.76.196.4:443
curl -v http://94.127.191.194:80> Решение:
> https://reviews.freebsd.org/D20980В решении указаны 3 пача:
head/share/man/man4/tcp.4 (6 lines)
head/sys/netinet/tcp_subr.c (17 lines)
head/sys/netinet/tcp_var.h (1 line)Мне необходимо взять эти сырцы, разместить в систему и пересобрать ядро?
>> Решение:
>> https://reviews.freebsd.org/D20980
> В решении указаны 3 пача:
> head/share/man/man4/tcp.4 (6 lines)
> head/sys/netinet/tcp_subr.c (17 lines)
> head/sys/netinet/tcp_var.h (1 line)
> Мне необходимо взять эти сырцы, разместить в систему и пересобрать ядро?Ну систему пересобирать необязательно, там только исправление для man tcp.
Нужно пересобрать ядро и выключить sysctl переменную, которую добавляет патч net.inet.tcp.ts_offset_per_conn=0Сделать это можно так:
# cd /usr/src
# fetch https://reviews.freebsd.org/file/data/qmrz3ypmfjyeqg7ce4ow/P...
# patch -p1 < D20980.diff
ну и дальше
# make -s buildkernel installkernel
> Сделать это можно так:
> # cd /usr/src
> # fetch https://reviews.freebsd.org/file/data/qmrz3ypmfjyeqg7ce4ow/P...
> # patch -p1 < D20980.diff
> ну и дальше
> # make -s buildkernel installkernelЯ Вам очень благодарен! Моя проблема решилась.