LINUX.ORG.RU
ФорумAdmin

NFS + Iptables


0

0

Подскажите как можно заставить их работать вместе. Политика по умолчанию
Drop, пропускаю пакеты на
TCP 111
TCP 818
UDP 111
UDP 815
Но не монтируется :( К сожалению, что пишет при монтировании узнать не могу,
так как машина, которая это делает далеко, а на мою тачку правила в
файерволле разрешают все... До файерволла работало все на ура. Мне
говорили что есть протокол RPC и что надо его использовать, это так?
Заранее спасибо за помощь.

anonymous

Чтобы узнать какие порты TCP и UDP используются, дайте команду rpcinfo -p. Надо разрешить, а то монтирования не будет...

wildhoney
()
Ответ на: комментарий от wildhoney

К сожалению, по дефолту, порты только для rpc.nfsd точно известны, для остальных компонент NFS (mountd, quotad, lockd, statd) они назначаются как попало (чтобы убедиться rpcinfo -p && service nfsd restart && rpcinfo -p). Нужно в параметрах ядра (append="" в лило) указать статические порты, утянуть и поставить свежие утилиты, и пофиксить скрипты запуска nfs и nfslock, добавив опции для привязки к статическим портам (нужно еще пофиксить /etc/services), но это на сервере (конкретной ссылки на доку не помню, но подробную инструкцию могу организовать). На клиенте точно должен жить TCP/UDP 111 порт для RPC и, поскольку неизвестно на какие порты прибиндятся компоненты NFS, должен быть полностью открыт UDP.

login
()
Ответ на: комментарий от login

Спасибо, я настроил по совету wildhoney, но о том, что порты динамические узнал только от login, проверять не стал, т.к. не желательно останавливать сервис. Я посмотрел по манам своей системы и там говорится, что mountd & statd могут запускаться с жестким привязыванием портов. Я вот только не совсем понял зачем нужно передавать параметр ядру append, что именно в нем указывать, и что надо подправить в /etc/services. Буду рад за пояснения, еще раз спасибо за помощь!

anonymous
()
Ответ на: комментарий от anonymous

Останов NFS на короткое время никаких проблем не вызовет, клиенты могут даже незаметить этого (см опции hard, soft для NFS в man mount)

Перечислю что чем настраивается: сервис (порт) - где_копать

>portmap (111) - фиксирован

>statd (RND) - /etc/init.d/nfslock

>nfsd (2049) - фиксирован

>lockd (RND) - параметры ядра или модуля

>mountd (RND) - /etc/sysconfig/nfs

>rquotad (RND) - обновить quota и /etc/rpc /etc/services

Для mountd в файле /etc/sysconfig/nfs написать MOUNTD_PORT=уууу

Основная проблема с lockd и rquotad.

lockd лечится передачей параметров ядру (если NFS жестко вкомпилен) или модулю параметров (см доку по параметрам ядра). Для ядра добавить в /etc/lilo.conf:

>APPEND="lockd.tcpport=xxxx lockd.udpport=xxxx".

А для модуля в /etc/modules.conf добавить:

>options lockd nlm_udpport=xxxx nlm_tcpport=xxxx

Вроде так, но с модулями не пробовал

rquotad - нужно скачать исходники или свежий RPM (ver >= 3.08) c http://sourceforge.net/projects/linuxquota или у дистрибутора, установить. В фйле /etc/rpc проверить наличие:

>rquotad 100011 rquotaprog quota rquota

В файле /etc/services сделать строчки:

>rquotad xxxx/tcp >rquotad xxxx/udp

В /etc/services можно проверить на соответствие все назначаемые NFS порты и при необходимости исправить, потом самому понятней будет что открыто, а то годать придется через полгода

Для работы через iptables нужно открыть 111 порт по TCP и UDP, остальные только по UDP (NFS через TCP появился в последних ядрах, если он используется, то можно прикрыть 2049 UDP и его же открыть на TCP, но это я не пробовал)

login
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.