forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.UNIX.BSD

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 21.10.2018, 08:30
Eugene Grosbein
Guest
 
Сообщений: n/a
По умолчанию прекрасный RPC

Eugene Grosbein написал(а) к All в Oct 18 07:52:39 по местному времени:

Привет!

После ребута машины ВНЕЗАПНО сломался rsync-сервис,
запускаемый из inetd. Полез разбираться:

$ fgrep rsync /var/log/messages
Oct 21 06:08:37 host <daemon.err> inetd[50635]: rsync/tcp: bind: Address already in use

Што?!

$ fgrep rsync /etc/services
rsync 873/tcp
rsync 873/udp
$ sockstat | fgrep 873
root mountd 1620 5 udp6 :873 *:
root mountd 1620 6 tcp6 :873 *:
root mountd 1620 7 udp4 :873 *:
root mountd 1620 8 tcp4 :873 *:

Прекрасный RPC. mountd по дефолту использует функцию bindresvport_sa()
чтобы сесть на динамический привилегированный порт и в текущей реализации
FreeBSD это IPPORTRANGELOW с дефолтами:

net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023

То есть, любой сервис, использующий порты от 600 то 1023 и запускаемый
после mountd (или nfs-сервера, который запустит mountd по зависимости),
так неиллюзорно рискует.

Сюда кроме rsyncd входит spamd с его портом 783, ipp (631),
ldaps (636), dhcp-failover (647, 847), imaps (993), pop3s (995)...

А вообще что угодно из /etc/services, там ещё какой-то ha-cluster есть,
порты kerberos, iscsi, ircs, ftps, telnets... и много другого.

И так-то это не то чтобы совсем новость, но проверил на своих серверах
с dhcp-failover и NFS-клиентом и mountd, конечно, я там не прибивал
к порту, как когда-то делал и mountd там сел на порт 620 и только
по этой случайности dhcpd успешно занял свой tcp/647 для кластера.

Пошел везде прибивать гвоздями, благо у нас есть mountd_flags="-p 620"

Eugene
--- slrn/1.0.3 (FreeBSD)
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 07:52. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot