Монтирование nfs. указание src.port(s) на стороне клиента.

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

1fc3612
Интересующийся
Сообщения: 7
Зарегистрирован: 01 июл 2017, 21:48
Контактная информация:

Монтирование nfs. указание src.port(s) на стороне клиента.

Непрочитанное сообщение 1fc3612 » 05 июл 2017, 15:49

Имеется проблема. Может кто сталкивался. Есть nfs сервер. Всё работает в принципе нормально, но есть проблема. Суть в том что src.port на стороне клиента используется мало того, что из привилигированного диапазона, так ещё и выбирается псевдослучайным образом.
Есть вроде опиция insecure, которую следует указывать или /etc/exports (srv) или в /etc/fstab (client) или и там и там. Что-то я мыкался, мыкался, Wireshark в руки с capture filter: port 2049. Но толку ноль. Как использовались порты из привилигированного диапазона, так и используются. Как следствие проблемы с iptables.
К тому же у меня в /etc/sysctl.conf указан параметр со значениями:

Код: Выделить всё

net.ipv4.ip_local_port_range = 50000 65000
Но как я понимаю nfs имеет приоритет, или что-то подобное, над значениями указанными в /etc/sysctl.conf.
Вообщем вопрос в том, есть ли возможность, посадить клиента или на один (указанный пользователем порт). Или хотя на порт из верхнего диапазона (больше или выше 32768-и).
Может на nfs 3 следует перейти или ещё что.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Монтирование nfs. указание src.port(s) на стороне клиент

Непрочитанное сообщение Olej » 05 июл 2017, 16:27

1fc3612 писал(а):Суть в том что src.port на стороне клиента используется мало того, что из привилигированного диапазона, так ещё и выбирается псевдослучайным образом.
Есть вроде опиция insecure, которую следует указывать или /etc/exports (srv) или в /etc/fstab (client) или и там и там. Что-то я мыкался, мыкался, Wireshark в руки с capture filter: port 2049. Но толку ноль. Как использовались порты из привилигированного диапазона, так и используются. Как следствие проблемы с iptables.
1fc3612 писал(а):Вообщем вопрос в том, есть ли возможность, посадить клиента или на один (указанный пользователем порт). Или хотя на порт из верхнего диапазона (больше или выше 32768-и).
Может я сообщение неправильно понял ... но привилегированные порты - это 0-1023 они же well known или системные (в разных источниках), а порты 1024-49151 - это известные как зарегистрированные или пользовательские, а уже выше, 49152-65535 - это динамические или приватные порты.
См. https://www.speedguide.net/port.php?port=1598
Notes:
Well Known Ports: 0 through 1023.
Registered Ports: 1024 through 49151.
Dynamic/Private : 49152 through 65535.
Это к тому, что я не понял относительно цифры 2049 ... это не привилегированный порт.
1fc3612 писал(а): К тому же у меня в /etc/sysctl.conf указан параметр со значениями:

Код: Выделить всё

net.ipv4.ip_local_port_range = 50000 65000
Но как я понимаю nfs имеет приоритет, или что-то подобное, над значениями указанными в /etc/sysctl.conf.
Всякий сетевой сокет (соединение) имеет 2 конца соединения, и для каждого - свою пару IP:порт : удалённый конец и локальный.
Как я предполагаю, ваш параметр определяет только диапазон динамически выбираемых портов (и то только для серверов?), но только для локального конца сокета, к тому удалённому порту, который вас беспокоит, это, предполагаю, это не имеет никакого касательства.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Монтирование nfs. указание src.port(s) на стороне клиент

Непрочитанное сообщение Olej » 05 июл 2017, 16:33

1fc3612 писал(а): Есть вроде опиция insecure, которую следует указывать или /etc/exports (srv) или в /etc/fstab (client) или и там и там. Что-то я мыкался, мыкался, Wireshark в руки с capture filter: port 2049. Но толку ноль.
Относительно портов нужно начинать с того, что смотреть /etc/services (возможно вы всё это знаете, но я только напоминаю) - там всё написано. Относительно вами упоминаемого порта 2049:

Код: Выделить всё

nfs             2049/tcp        nfsd shilp      # Network File System
nfs             2049/udp        nfsd shilp      # Network File System
nfs             2049/sctp       nfsd shilp      # Network File System
И это не привилегированный порт.
Там же (/etc/services) можно, если пройтись поиском, найти ещё любопытные порты, относящиеся (зарегистрированные!) к NFS:

Код: Выделить всё

nfsd-keepalive  1110/udp                # Client status info
...
3d-nfsd         2323/tcp                # 3d-nfsd
3d-nfsd         2323/udp                # 3d-nfsd
...
mediacntrlnfsd  2363/tcp                # Media Central NFSD
mediacntrlnfsd  2363/udp                # Media Central NFSD
...
mountd          20048/tcp               # NFS mount protocol
mountd          20048/udp               # NFS mount protocol
nfsrdma         20049/tcp               # Network File System (NFS) over RDMA
nfsrdma         20049/udp               # Network File System (NFS) over RDMA
nfsrdma         20049/sctp              # Network File System (NFS) over RDMA

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей