Название говорит об этом. 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