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

showmount -e не работает с одного узла

Когда я бегу:

showmount -e <IP>
rpc mount export: RPC: Unable to receive; errno = Connection reset by peer

mount <IP>:/path /mnt
mount.nfs: Connection reset by peer

Но

mount -t nfs -c vers=3 <IP>:/path /mnt

работает

Клиент и сервер (freenas 9.3) находятся в одной подсети. Как это решить?

Убедитесь, что пакеты не блокируются брандмауэром. Я бы рекомендовал выпустить iptables -L -v до и после выпуска showmount команда. Если вы видите, что счетчики слева увеличиваются для правила DROP, скорее всего, вам нужно вставить правило, разрешающее подключение клиентов NFS. Вот некоторая информация из http://www.cyberciti.biz/faq/centos-fedora-rhel-iptables-open-nfs-server-ports/:

Portmapper назначает каждую службу NFS порту динамически во время запуска службы. Как разрешить легитимным клиентам NFS доступ к серверу NFS с помощью брандмауэра iptables RHEL / Fedora / CentOS Linux 5.x?

Вам необходимо открыть следующие порты: a] TCP / UDP 111 - RPC 4.0 portmapper

б] TCP / UDP 2049 - NFSD (сервер nfs)

c] Статические порты карты портов - различные порты TCP / UDP, определенные в файле / etc / sysconfig / nfs. Настройте службы NFS для использования фиксированных портов

Однако NFS и portmap - довольно сложные протоколы. Брандмауэр должен быть установлен на каждом хосте и на пограничных брандмауэрах для защиты демонов NFS от удаленного доступа, поскольку серверы NFS никогда не должны быть доступны извне. Однако по умолчанию portmapper назначает каждую службу NFS порту динамически во время запуска службы.

Динамические порты не могут быть защищены брандмауэрами фильтрации портов, такими как iptables. Во-первых, вам необходимо настроить службы NFS для использования фиксированных портов. Откройте / etc / sysconfig / nfs, введите:

vi / и т.д. / sysconfig / nfs

Измените директиву config следующим образом, чтобы установить неиспользуемые порты TCP / UDP:

TCP-порт, который должен прослушивать rpc.lockd. LOCKD_TCPPORT = номер-порта блокировки

UDP-порт должен прослушивать rpc.lockd. LOCKD_UDPPORT = номер-порта блокировки

Порт rpc.mountd должен прослушивать. MOUNTD_PORT = номер порта монтирования

Rquotad порта должен слушать. RQUOTAD_PORT = rquotad-номер-порта

Порт rpc.statd должен прослушивать. STATD_PORT = статд-номер-порта

Должен использоваться statd исходящего порта. По умолчанию порт является случайным STATD_OUTGOING_PORT = statd-outgoing-port-numbe

Вот пример листинга с одного из моих производственных серверов NFS:

LOCKD_TCPPORT = 32803 LOCKD_UDPPORT = 32769 MOUNTD_PORT = 892 RQUOTAD_PORT = 875 STATD_PORT = 662 STATD_OUTGOING_PORT = 2020

Сохраните и закройте файлы. Перезапустите службы NFS и portmap:

перезапуск карты порта службы

перезапуск службы nfs

service rpcsvcgssd restart Обновить файлы / etc / sysconfig / iptables

Откройте / etc / sysconfig / iptables, введите:

vi / и т.д. / sysconfig / iptables

Добавьте следующие строки, убедившись, что они появляются перед окончательными строками LOG и DROP для цепочки RH-Firewall-1-INPUT:

-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 - m state --state NEW -p tcp --dport 111 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT - A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT -A RH -Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT -A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state - -state NEW -p udp --dport 662 -j A CCEP

Сохраните и закройте файл. Замените 192.168.1.0/24 на вашу фактическую комбинацию подсети / маски LAN. Вам необходимо использовать статические значения портов, определенные конфигурационным файлом / etc / sysconfig / nfs. Перезапустите сервис iptables:

перезапуск службы iptables