3

Я получаю сообщение об ошибке ниже при вводе showmount -e 192.168.56.2 на клиентском компьютере

[root@client ~]# showmount -e 192.168.56.2
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

Это моя конфигурация сервера NFS

NFS сервер IP 192.168.56.2

Это моя акция NFS

[root@www ~]# cat /etc/exports 
/files  192.168.56.7(rw,sync)

Это две службы, работающие на сервере

[root@www ~]# service rpcbind status
rpcbind (pid  2626) is running...
[root@www ~]# service nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 2716) is running...
nfsd (pid 2781 2780 2779 2778 2777 2776 2775 2774) is running...
rpc.rquotad (pid 2712) is running...

Это мое правило Iptables

[root@www ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Thu Oct 31 02:08:16 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:388]
-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Thu Oct 31 02:08:16 2013

Если я сбрасываю правило iptables на сервере, то мой клиент может видеть общий ресурс nfs

[root@client ~]# showmount -e 192.168.56.2
Export list for 192.168.56.2:
/files 192.168.56.7

Это означает проблему с правилом iptables, кто-нибудь может сказать мне, в чем проблема с моим правилом iptables, я пропускаю какой-либо другой порт? Как решить эти проблемы?

Я попробовал этот метод с моей клиентской машины, чтобы проверить, прослушивает порт или нет, и это вывод этого

[root@client ~]# telnet 192.168.56.2 111
Trying 192.168.56.2...
Connected to 192.168.56.2.
Escape character is '^]'.
[root@client ~]# telnet 192.168.56.2 2049
Trying 192.168.56.2...
Connected to 192.168.56.2.
Escape character is '^]'.

2 ответа2

2

NFS SERVER:

Настроить порты для rquotd(875/udp; 875/tcp), lockd(32803/tcp; 32769/udp), mountd(892/udp; 892/tcp), statd(10053/udp; 10053/tcp), statd_outgoing(10054/udp; 10054/ тср)

    vim /etc/sysconfig/nfs

При желании отключите поддержку NFS v3 и NFS v2, отредактировав строки 5 и 6 в /etc /sysconfig /nfs

    MOUNTD_NFS_V2="no"
    MOUNTD_NFS_V3="no"

Сохранить текущие правила Iptables для последующего использования

    iptables-save > pre-nfs-firewall-rules-server

Очистите и проверьте правила Iptables

    iptables -F
    iptables -L

Остановите и запустите NFS и связанные службы в следующей последовательности

   service rpcbind stop
   service nfslock stop
   service nfs stop
   service rpcbind start
   service nfslock start
   service nfs start

Убедитесь, что настроенная NFS и связанные с ней порты отображаются как заданные ранее, и отметили известные номера портов и протоколы уровня 4 OSI. Стандартные номера портов для rpcbind (или portmapper) - 111/udp, 111/tcp, а nfs - 2049/udp, 2049/tcp.

   rpcinfo -p | sort -k 3 

Восстановите pre-nfs-firewall-rules прямо сейчас

   iptables-restore < pre-nfs-firewall-rules-server

Напишите правила iptables для NFS-сервера (Примечание: адаптер Loopback должен быть разрешен, в противном случае вы увидите, что пакеты отброшены, а также при перезапуске службы nfs появится сообщение об ошибке ERROR {Запуск квот NFS: Невозможно зарегистрировать службу: RPC: Превышено время ожидания rpc.rquotad: невозможно зарегистрироваться (RQUOTAPROG, RQUOTAVERS, UDP). [FAILED]} для демона rquotad. Вы можете проверить это, добавив правило с целью перехода LOG внизу цепочек фильтров INPUT или OUTPUT)

   iptables -P INPUT DROP
   iptables -P OUTPUT DROP 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,111,2049,32769,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,111,2049,32803,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,111,2049,32769,875,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,111,2049,32803,875,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -I INPUT  -i lo -d 127.0.0.1 -j ACCEPT
   iptables -I OUTPUT  -o lo -s 127.0.0.1 -j ACCEPT
   iptables -L -n --line-numbers

Настроить каталог экспорта NFS

   vim /etc/exports 
   exportfs -av
   showmount -e
   rpcinfo -p

Остановите и запустите NFS и связанные службы в следующей последовательности

   service rpcbind stop
   service nfslock stop
   service nfs stop
   service rpcbind start
   service nfslock start
   service nfs start

NFS CLIENT:

Сохранить текущие правила Iptables для последующего использования

   iptables-save > pre-nfs-firewall-rules-client

Очистите и проверьте правила Iptables

   iptables -F
   iptables -L

Получите брандмауэрные порты NFS-сервера от клиентского компьютера и отметьте номера портов и протоколы уровня 4 OSI.

   rpcinfo -p 'ip-addr-nfs-server' | sort -k 3

Восстановите pre-nfs-firewall-rules прямо сейчас

   iptables-restore < pre-nfs-firewall-rules-client

Напишите правила iptables для клиента NFS (Примечание: адаптер Loopback должен быть разрешен, в противном случае вы увидите, что пакеты отброшены, а также при перезапуске службы nfs будет выплевывать ОШИБКА {Запуск квот NFS: Невозможно зарегистрировать службу: RPC: Превышено время ожидания rpc.rquotad: невозможно зарегистрироваться (RQUOTAPROG, RQUOTAVERS, UDP). [FAILED]} для демона rquotad. Вы можете проверить это, добавив правило с целью перехода LOG внизу цепочек фильтров INPUT или OUTPUT)

   iptables -P INPUT DROP
   iptables -P OUTPUT DROP
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --sports 10053,111,2049,32769,875,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --sports 10053,111,2049,32803,875,892 -m state --state ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p udp -m multiport --dports 10053,111,2049,32769,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.0/24 -p tcp -m multiport --dports 10053,111,2049,32803,875,892 -m state --state NEW,ESTABLISHED -j ACCEPT 
   iptables -I INPUT  -i lo -d 127.0.0.1 -j ACCEPT
   iptables -I OUTPUT  -o lo -s 127.0.0.1 -j ACCEPT
   iptables -L -n --line-numbers

Остановите и запустите NFS и связанные службы в следующей последовательности

   service rpcbind stop
   service nfslock stop
   service nfs stop
   service rpcbind start
   service nfslock start
   service nfs start

Список экспортов NFS-сервера

   showmount -e 'ip-addr-nfs-server'

Монтирование экспорта NFS вручную (постоянные монтирования могут быть настроены с помощью /etc /fstab)

   mount -t nfs ip-addr-nfs-server:/exported-directory /mount-point -o rw,nfsvers=3
   mount -t nfs ip-addr-nfs-server:/exported-directory /mount-point -o rw  --> For NFS4 version

Сконфигурируйте autofs, если автоматическое монтирование предпочтительнее для экспорта nfs и с домашними каталогами пользователей ldap (можно установить прямую и косвенную карты)

   vim /etc/auto.master    -> specify the mount point and map-name (Eg: auto.nfs)
   vim /etc/map-name
   service autofs stop
   service autofs start

Проверьте смонтированный экспорт NFS

   df -h -F nfs
   mount | grep nfs

Перечислите все псевдо-корневые каталоги экспорта NFS-V4 (NFS Lazy mount)

   ls /net/ip-addr-nfs-server
2

Список открытых портов для NFS слишком ограничен. Сначала вам придется открыть те же порты для UDP, затем вам нужно будет добавить еще 2 порта. Полный список открываемых портов:

 sunrpc     111/tcp    rpcbind  #SUN Remote Procedure Call
 sunrpc     111/udp    rpcbind  #SUN Remote Procedure Call
 nfsd-status    1110/tcp   #Cluster status info
 nfsd-keepalive 1110/udp   #Client status info
 nfsd       2049/tcp   nfs      # NFS server daemon
 nfsd       2049/udp   nfs      # NFS server daemon
 lockd      4045/udp   # NFS lock daemon/manager
 lockd      4045/tcp

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .