Помощь в настройке NFS через брандмауэр UFW на сервере Ubuntu

Вопрос или проблема

У меня есть локальный сервер. Спецификации ниже

Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:    22.04
Codename:   jammy

Я настроил файловую систему NFS, и она работала несколько месяцев. Однако я только что понял, что не включил брандмауэр UFW. Я это сделал, и вот текущие правила UFW

sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
2049                       ALLOW IN    192.168.5.0/24            
2049                       ALLOW IN    192.168.5.249             
8096/tcp                   ALLOW IN    192.168.5.0/24            
22/tcp                     ALLOW IN    192.168.5.0/24            
111                        ALLOW IN    192.168.5.0/24  

К сожалению, я больше не могу подключиться к своему NFS-серверу, и не могу понять, почему. Если я отключаю брандмауэр UFW, я снова могу подключиться, так что я знаю, что проблема в брандмауэре. Может кто-нибудь помочь, пожалуйста?

Результаты RPCinfo:

rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  60077  mountd
    100005    1   tcp  40319  mountd
    100005    2   udp  47683  mountd
    100005    2   tcp  35457  mountd
    100005    3   udp  43621  mountd
    100005    3   tcp  50491  mountd
    100024    1   udp  43570  status
    100024    1   tcp  33041  status
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049
    100021    1   udp  40469  nlockmgr
    100021    3   udp  40469  nlockmgr
    100021    4   udp  40469  nlockmgr
    100021    1   tcp  35909  nlockmgr
    100021    3   tcp  35909  nlockmgr
    100021    4   tcp  35909  nlockmgr

Ответ или решение

Чтобы решить проблему с подключением к вашему NFS-серверу через брандмауэр UFW на Ubuntu Server, вам необходимо убедиться, что все необходимые порты и службы, используемые NFS, правильно настроены в правилах UFW.

Шаг 1: Понимание необходимых портов

NFS обычно использует следующие порты:

  • TCP и UDP 2049 — основной порт NFS.
  • TCP и UDP 111 — порт для rpcbind (portmapper), который помогает клиентам найти другие порты, используемые NFS.
  • TCP и UDP 60077 и различные другие порты — это порты, используемые службой mountd. Порты для mountd могут изменяться, так как они динамически назначаются, если только вы не сконфигурировали их статически.

Шаг 2: Проверка правил UFW

Из вашего вывода видно, что вы уже добавили правила для портов 2049 и 111, но не забывайте о других динамических портах, которые могут понадобиться.

Шаг 3: Настройка правил UFW

Для обеспечения корректной работы NFS добавьте правило, разрешающее все необходимые порты, связанные с mountd. Вы можете сделать это следующим образом:

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

    sudo ufw allow from 192.168.5.0/24 to any port 60000:61000 proto tcp
    sudo ufw allow from 192.168.5.0/24 to any port 60000:61000 proto udp

    Обратите внимание, что значения 60000:61000 являются общим диапазоном для mountd, используемым по умолчанию в типичных конфигурациях.

  2. Если вы хотите указать статические порты для mountd:
    Откройте файл конфигурации NFS, обычно это файл /etc/nfs.conf, и добавьте или измените следующие строки, чтобы задать статические порты:

    [mountd]
    Port=20048
    [rpcbind]
    Port=10000

    После внесения изменений перезапустите соответствующие службы:

    sudo systemctl restart nfs-server

    Затем добавьте соответствующие правила в UFW:

    sudo ufw allow from 192.168.5.0/24 to any port 20048
    sudo ufw allow from 192.168.5.0/24 to any port 10000

Шаг 4: Проверьте статус UFW

После внесения изменений проверьте статус UFW снова:

sudo ufw status verbose

Убедитесь, что все необходимые порты открыты.

Шаг 5: Попробуйте снова подключиться

Попробуйте снова подключиться к вашему NFS-серверу. Если проблема не решена, проверьте логи UFW и системные логи на наличие сообщений об ошибках, связанных с подключением, которые могут помочь вам в диагностике.

Заключение

Следуя указанным шагам, вы сможете настроить брандмауэр UFW для работы с вашим NFS-сервером. Убедитесь, что все порты, необходимые для NFS, открыты, и протестируйте подключение снова. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...