[freebsd] странности с сетью при переходе на 13-ую версию

19 views
Skip to first unread message

Yaroslav Shvets

unread,
Dec 1, 2021, 2:01:07 PM12/1/21
to fre...@uafug.org.ua
Hello All.

FreeBSD 12.2-releng
Почтовый сервер: sendmail, dovecot
Все работало без приключений. ipfw довольно сложный.

При переходе на 13.0-releng, а потом на 13-stable наблюдается странное
поведение:

При перезагрузке сервера успешно стартуют и sendmail, и dovecot.
`netstat -an` показывают, что нужные порты успешно слушаются.
При этом, подключится telnet'ом то получается, то не получается.
То получается на localhost, но не получается на другие сетевые интерфейсы.
То можно подключиться к одному порту, но не получается к другому,
то после перезагрузки к другому уже нельзя, а к ранее неработавшему -
уже можно. Такое чувство, что после перезагрузки слушающие
порты работают/не работают в рэндомном порядке.

Рестарт сервисов уже после загрузки, как правило лечит.
И оба сервиса начинают нормально работать.
Вобщем, какая-то магия.
Sendmail - штатный,
dovecot-2.3.17_1

(ssh при этом работает нормально)

На <= 12.2-releng до этого много лет на тех же конфигах
все работало без странностей: если порт слушается и фаервол не
препятствует - то подключиться можно.

Кто-нибудь знает, что и где могло поломаться?

--
Yaroslav Shvets
_______________________________________________
freebsd mailing list
fre...@uafug.org.ua
http://mailman.uafug.org.ua/mailman/listinfo/freebsd

Taras Heichenko

unread,
Dec 1, 2021, 2:10:32 PM12/1/21
to Yaroslav Shvets, fre...@uafug.org.ua


> On 1 Dec 2021, at 21:01, Yaroslav Shvets <yaro...@shvets.name> wrote:
>
> Hello All.

Не могу гарантировать, более того, не могу сказать, почему это могло произойти при переходе
на 13, но выглядит как странности работы DNS. У вас резолвер где живет? Когда запускается?
--
Taras Heichenko
ta...@academ.kiev.ua

Eugene Grosbein

unread,
Dec 1, 2021, 4:32:02 PM12/1/21
to Yaroslav Shvets, fre...@uafug.org.ua
02.12.2021 2:01, Yaroslav Shvets пишет:

> Hello All.
>
> FreeBSD 12.2-releng
> Почтовый сервер: sendmail, dovecot
> Все работало без приключений. ipfw довольно сложный.
>
> При переходе на 13.0-releng, а потом на 13-stable наблюдается странное
> поведение:
>
> При перезагрузке сервера успешно стартуют и sendmail, и dovecot.
> `netstat -an` показывают, что нужные порты успешно слушаются.
> При этом, подключится telnet'ом то получается, то не получается.
> То получается на localhost, но не получается на другие сетевые интерфейсы.
> То можно подключиться к одному порту, но не получается к другому,
> то после перезагрузки к другому уже нельзя, а к ранее неработавшему -
> уже можно. Такое чувство, что после перезагрузки слушающие
> порты работают/не работают в рэндомном порядке.
>
> Рестарт сервисов уже после загрузки, как правило лечит.
> И оба сервиса начинают нормально работать.
> Вобщем, какая-то магия.
> Sendmail - штатный,
> dovecot-2.3.17_1
>
> (ssh при этом работает нормально)
>
> На <= 12.2-releng до этого много лет на тех же конфигах
> все работало без странностей: если порт слушается и фаервол не
> препятствует - то подключиться можно.
>
> Кто-нибудь знает, что и где могло поломаться?

Что угодно могло поломаться. Что значит "не получается" - connection refused? таймаут?
Что показывает tcpdump -npi lo0 ?

"Рестарт сервисов лечит" - это включает в себя загрузку правил ipfw по новой?
Если да, то уходит ли проблема, если вместо рестарта временно сделать
sysctl net.inet.ip.fw.enable=0 ?

В багзилле делал поиск по похожим проблемам для 13.0-RELEASE или 13.0-STABLE?

Yaroslav Shvets

unread,
Dec 1, 2021, 6:31:42 PM12/1/21
to Taras Heichenko, fre...@uafug.org.ua
Hello Taras Heichenko.

Нет. Дело не в резолвинге.
И не в правилах ipfw.
Одно из первых правил разрешает все via lo

Yaroslav Shvets

unread,
Dec 1, 2021, 6:41:52 PM12/1/21
to Eugene Grosbein, fre...@uafug.org.ua
Hello Eugene.

telnet 127.0.0.1 110
идут попытки - таймаут

Или, при следующей перезагрузке:
110 как положено открывается, но
перестает 995, или 143.
Закономерности не нашел.

> Что показывает tcpdump -npi lo0 ?

Посмотрю. Сервер постоянно используется.
Времени на эксперименты особо нет.

> "Рестарт сервисов лечит" - это включает в себя загрузку правил ipfw по новой?

Нет, только `service dovecot restart`
или `cd /etc/mail && make stop start`

> Если да, то уходит ли проблема, если вместо рестарта временно сделать
> sysctl net.inet.ip.fw.enable=0 ?

пробовал первым правилом все разрешать, но не помогает

> В багзилле делал поиск по похожим проблемам для 13.0-RELEASE или 13.0-STABLE?

Нет. Надеялся, что проблема известная и стандартная.

Почему думаю, что проблема в операционке или в моих руках -
потому что наблюдается одновременно на sendmail и dovecot.

Не упомянул: это виртуалка под ESXi какой-то не очень
старый. Сходу не скажу, но кажется 6.7

--
Yaroslav Shvets

Yaroslav Shvets

unread,
Dec 1, 2021, 6:44:17 PM12/1/21
to Taras Heichenko, fre...@uafug.org.ua
Hello.

Все попытки законнектиться telnet'ом выполнялись
только применительно к ip-адресам интерфейсов.
А вообще на машине bind крутится.

Eugene Grosbein

unread,
Dec 2, 2021, 1:10:26 AM12/2/21
to Yaroslav Shvets, fre...@uafug.org.ua
02.12.2021 6:41, Yaroslav Shvets пишет:

>>> FreeBSD 12.2-releng
>>> Почтовый сервер: sendmail, dovecot
>>> Все работало без приключений. ipfw довольно сложный.
>>>
>>> При переходе на 13.0-releng, а потом на 13-stable наблюдается странное
>>> поведение:

[skip]

> Посмотрю. Сервер постоянно используется.
> Времени на эксперименты особо нет.

Не стоит ставить dot-zero (13.0) на рабочие серверы.
Рекомендую откат на stable/12 хотя бы до выпуска 13.1

На тестовые машины ставить можно.

Yaroslav Shvets

unread,
Dec 2, 2021, 2:27:26 AM12/2/21
to Eugene Grosbein, fre...@uafug.org.ua
Hello Eugene Grosbein.

On Thu, 2 Dec 2021, 08:09, you wrote:

> 02.12.2021 6:41, Yaroslav Shvets пишет:
>
>>>> FreeBSD 12.2-releng
>>>> Почтовый сервер: sendmail, dovecot
>>>> Все работало без приключений. ipfw довольно сложный.
>>>>
>>>> При переходе на 13.0-releng, а потом на 13-stable наблюдается странное
>>>> поведение:
>
> [skip]
>
>> Посмотрю. Сервер постоянно используется.
>> Времени на эксперименты особо нет.
>
> Не стоит ставить dot-zero (13.0) на рабочие серверы.
> Рекомендую откат на stable/12 хотя бы до выпуска 13.1
>
> На тестовые машины ставить можно.

Обычно, так и происходит.
А тут черт дёрнул.

--
Yaroslav Shvets

Taras Heichenko

unread,
Dec 2, 2021, 4:31:46 AM12/2/21
to Yaroslav Shvets, fre...@uafug.org.ua
Hi!
Не настаиваю на своей версии. :) Но прошу не забывать, даже когда вы обращаетесь по IP
к интерфейсу, машинка, к которой вы обращаетесь, пытается выполнить backresolv на IP,
с которого вы приходите.

>
> --
> Yaroslav Shvets
> _______________________________________________
> freebsd mailing list
> fre...@uafug.org.ua
> http://mailman.uafug.org.ua/mailman/listinfo/freebsd

--
Taras Heichenko
ta...@academ.kiev.ua

Eugene Grosbein

unread,
Dec 2, 2021, 5:20:30 AM12/2/21
to Taras Heichenko, Yaroslav Shvets, fre...@uafug.org.ua
02.12.2021 16:31, Taras Heichenko пишет:

> Hi!
>
>> On 2 Dec 2021, at 01:44, Yaroslav Shvets <yaro...@shvets.name> wrote:
>>
>> Hello.
>>
>> On Thu, 2 Dec 2021, 01:31, you wrote:
>>
>>>
>>> Нет. Дело не в резолвинге.
>>> И не в правилах ipfw.
>>> Одно из первых правил разрешает все via lo
>>
>> Все попытки законнектиться telnet'ом выполнялись
>> только применительно к ip-адресам интерфейсов.
>> А вообще на машине bind крутится.
>
> Не настаиваю на своей версии. :) Но прошу не забывать, даже когда вы обращаетесь по IP
> к интерфейсу, машинка, к которой вы обращаетесь, пытается выполнить backresolv на IP,
> с которого вы приходите.

Приложение, выполняющее бекресолв по IP клиента, должно сначала узнать этот IP,
обычно это происходит уже после того, как подключение установлено.

Nike

unread,
Dec 2, 2021, 5:34:39 AM12/2/21
to Yaroslav Shvets, fre...@uafug.org.ua
Было похожее когда сеть была настроена по dhcp. Службы стартовали раньше, чем поднималась сеть.
А еще похожее было, когда сетевуха была usb'шной.
 
01.12.2021, 22:01, "Yaroslav Shvets" <yaro...@shvets.name>:

Taras Heichenko

unread,
Dec 2, 2021, 6:47:05 AM12/2/21
to Eugene Grosbein, fre...@uafug.org.ua
Hi!

> On 2 Dec 2021, at 12:19, Eugene Grosbein <eu...@grosbein.net> wrote:
>
>>>
>>> Все попытки законнектиться telnet'ом выполнялись
>>> только применительно к ip-адресам интерфейсов.
>>> А вообще на машине bind крутится.
>>
>> Не настаиваю на своей версии. :) Но прошу не забывать, даже когда вы обращаетесь по IP
>> к интерфейсу, машинка, к которой вы обращаетесь, пытается выполнить backresolv на IP,
>> с которого вы приходите.
>
> Приложение, выполняющее бекресолв по IP клиента, должно сначала узнать этот IP,
> обычно это происходит уже после того, как подключение установлено.

По тому описанию, которое было дано, выглядит именно так. Подключение установлено, это еще не удалось подключиться,
это куда-то постучали. И вот то, куда постучали, и начинает выяснять "кто стучится дверь моя". И если выяснить не получается,
то со стороны телнета так и будет выглядеть – не могу подключиться. Ярослав ведь не писал, что он там смотрел на tcpdump –
конкретики, что происходит, нет. А просто со стороны телнета – ну да, не удалось подключиться.

>
>

--
Taras Heichenko
ta...@academ.kiev.ua

Eugene Grosbein

unread,
Dec 2, 2021, 11:40:54 AM12/2/21
to Taras Heichenko, fre...@uafug.org.ua
02.12.2021 18:46, Taras Heichenko пишет:

> Hi!
>
>> On 2 Dec 2021, at 12:19, Eugene Grosbein <eu...@grosbein.net> wrote:
>>
>>>>
>>>> Все попытки законнектиться telnet'ом выполнялись
>>>> только применительно к ip-адресам интерфейсов.
>>>> А вообще на машине bind крутится.
>>>
>>> Не настаиваю на своей версии. :) Но прошу не забывать, даже когда вы обращаетесь по IP
>>> к интерфейсу, машинка, к которой вы обращаетесь, пытается выполнить backresolv на IP,
>>> с которого вы приходите.
>>
>> Приложение, выполняющее бекресолв по IP клиента, должно сначала узнать этот IP,
>> обычно это происходит уже после того, как подключение установлено.
>
> По тому описанию, которое было дано, выглядит именно так. Подключение установлено, это еще не удалось подключиться,
> это куда-то постучали. И вот то, куда постучали, и начинает выяснять "кто стучится дверь моя". И если выяснить не получается,
> то со стороны телнета так и будет выглядеть – не могу подключиться. Ярослав ведь не писал, что он там смотрел на tcpdump –
> конкретики, что происходит, нет. А просто со стороны телнета – ну да, не удалось подключиться.

В случае с TCP сетевые стеки клиента и сервера выполняют трехступенчатый handshake (SYN, SYN+ACK, ACK)
и приложение, которое слушает серверный сокет TCP только после этого узнаёт, что пришел новый клиент и
в это время уже может начать бекресолв или что там оно желает, но в это же время на клиенте
будет "connection established", то есть успешное подключение независимо от того, занимается
там дальше сервер бекресолвингом или нет.

Eugene Grosbein

unread,
Dec 2, 2021, 11:45:38 AM12/2/21
to Nike, Yaroslav Shvets, fre...@uafug.org.ua
02.12.2021 17:34, Nike пишет:

> Было похожее когда сеть была настроена по dhcp. Службы стартовали раньше, чем поднималась сеть.
> А еще похожее было, когда сетевуха была usb'шной.

Кстати да, хорошая мысль.

Выдачу ifconfig на виртуалке в студию. Для начала в рабочем состоянии, но желательно ещё и после загрузки в нерабочем,
до рестарта сервисов.

Andrey Blochintsev

unread,
Dec 2, 2021, 11:49:50 AM12/2/21
to fre...@uafug.org.ua
Hi!

On Thu, Dec 02, 2021 at 23:45 +0700, Eugene Grosbein wrote:

> 02.12.2021 17:34, Nike пишет:
> > Было похожее когда сеть была настроена по dhcp. Службы стартовали раньше, чем поднималась сеть.
> > А еще похожее было, когда сетевуха была usb'шной.
>
> Кстати да, хорошая мысль.
>
> Выдачу ifconfig на виртуалке в студию. Для начала в рабочем состоянии, но желательно ещё и после загрузки в нерабочем,
> до рестарта сервисов.


Ну и netstat-ом не мешает посмотреть, слушает кто-то нужный порт или нет. И на каких адресах слушает.

Yaroslav Shvets

unread,
Dec 3, 2021, 8:49:38 AM12/3/21
to Andrey Blochintsev, fre...@uafug.org.ua
Hello Andrey Blochintsev.

On Thu, 2 Dec 2021, 18:49, you wrote:

> On Thu, Dec 02, 2021 at 23:45 +0700, Eugene Grosbein wrote:
>
>> 02.12.2021 17:34, Nike пишет:
>>> Было похожее когда сеть была настроена по dhcp. Службы стартовали раньше, чем поднималась сеть.
>>> А еще похожее было, когда сетевуха была usb'шной.
>>
>> Кстати да, хорошая мысль.
>>
>> Выдачу ifconfig на виртуалке в студию. Для начала в рабочем состоянии, но желательно ещё и после загрузки в нерабочем,
>> до рестарта сервисов.
>
> Ну и netstat-ом не мешает посмотреть, слушает кто-то нужный порт или нет. И на каких адресах слушает.

`netstat -an | grep "LISTEN"`
показывал, что все необходимые порты слушаются

--
Yaroslav Shvets

Yaroslav Shvets

unread,
Dec 3, 2021, 9:01:51 AM12/3/21
to Eugene Grosbein, fre...@uafug.org.ua
Hello Eugene Grosbein.

On Thu, 2 Dec 2021, 18:45, you wrote:

> 02.12.2021 17:34, Nike пишет:
>> Было похожее когда сеть была настроена по dhcp. Службы стартовали раньше, чем поднималась сеть.
>> А еще похожее было, когда сетевуха была usb'шной.
>
> Кстати да, хорошая мысль.
>
> Выдачу ifconfig на виртуалке в студию. Для начала в рабочем состоянии, но желательно ещё и после загрузки в нерабочем,
> до рестарта сервисов.

Увы, уже не получится: откатился на 12.2-releng. Все работает штатно.

ip-адреса были статические
сетевые не usb: em0, em1, em2, em3 и т.д.

--
Yaroslav Shvets

Reply all
Reply to author
Forward
0 new messages