Назад | Перейти на главную страницу

монтировать с использованием небезопасных портов для nfs

Название говорит об этом. mount иногда делает запросы монтирования / размонтирования NFS с незащищенных портов. Я считаю, что проблема вызвана тем, что все защищенные порты застревают в TIME_WAIT после периодов очень высокой активности монтирования (amd). Есть ли способ изменить это поведение? Я не хочу, чтобы запросы отправлялись из незащищенных портов, независимо от того, есть ли доступные безопасные порты или нет. Я бы предпочел, чтобы крепление зависло, пока оно ждет безопасного порта. Разрешение запросов от небезопасных портов на серверах NFS не является вариантом.

Я не видел ничего на страницах руководства по mount, nfs или mount.nfs для управления этим. Чтобы решить эту проблему, я попробовал net.ipv4.tcp_tw_reuse = 1, но, похоже, это не помогло.

Заранее спасибо.

Почему бы не использовать iptables для блокировки этих портов (диапазонов), которые вы не хотите использовать. Обязательно сделайте это правилом отклонения и не отбрасывайте его, в последнем случае это может занять больше времени, поскольку время попытки подключения истекло.

Типичное правило может выглядеть так:

    /sbin/iptables -I OUTPUT -d 0/0 -j REJECT --reject-with icmp-net-prohibited -p tcp --dport XX -o ethX
    /sbin/iptables -I OUTPUT -d 0/0 -j REJECT --reject-with icmp-net-prohibited -p udp --dport XX -o ethX

Для диапазона портов используйте:

--dport XX:YY

Для входящих:

    /sbin/iptables -I INPUT -s 0/0 -j REJECT --reject-with icmp-net-prohibited -p tcp --dport XX -i ethX
    /sbin/iptables -I INPUT -s 0/0 -j REJECT --reject-with icmp-net-prohibited -p udp --dport XX -i ethX

Обновление: возможно, добавление правильных параметров в rpc.mountd сработает для вас, из руководства:

-p  or  --port num
          Force rpc.mountd to bind to the specified port num, instead of using the random port number assigned by the portmapper.

В Debian вы делаете это в / etc / default / nfs-kernel-server, добавьте параметры в эту строку:

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information, 
# see rpc.mountd(8) or http://wiki.debian.org/?SecuringNFS
RPCMOUNTDOPTS=--manage-gids