LINUX.ORG.RU
решено ФорумAdmin

Проблема с монтированием nfs


0

1

Есть 2 ПК связанные по средствам коммутатора DES -1005D на обоих установлена Ubuntu 11.10. 1-й - 192.168.100.2 Сервер 2-й - 192.168.100.4 Клиент Пинги идут без задержек и потерь. Пытаюсь расшарить доступ к папке /home/snow/doc через nfs

На клиенте при наборе # mount.nfs 192.168.100.2:/home/snow/doc /mnt выдает connection time-out Порты открыты: # netstat -lt | grep nfs tcp 0 0 *:nfs *:* LISTEN tcp6 0 0 [::]:nfs [::]:* LISTEN

В это же время, если в качестве сервера выступает 192.168.100.4 То папки прописанные в /etc/exports На машину 192.168.100.2 монтируются без проблем. Просьба помочь разобраться в ситуации На интерфейс eth0 192.168.100.2 в момент попытки смонтировать, пакеты с запросами на порт 2049 доходят, но ответа почему-то нет...


Ответ на: комментарий от nixtrian

Мне тоже кажется что проблема на сервере. Судя по syslog, проблем при старте /etc/init.d/nfs-kernel-server нет. Да же не знаю куда копать дальше

Snowly ()

Пакеты tcp или udp? В том плане, что вы не показали ни дамп пакетов, не то, слушается ли udp порт.

В iptables точно открыты порты? В DNS или в /etc/hosts машины прописаны?

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

При запуске mount.nfs на клиенте, на eth0 сервера приходит tcp пакет

192.168.100.4 192.168.100.2 TCP Source port: agentx (705) Destination port: nfs (2049) Header length: 40 bytes Flags: 0x02 (SYN)

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

При этом ответа нет /etc/hosts выглядит следующим образом: 127.0.0.1 localhost 127.0.1.1 ILoveSnow

# The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters

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

Думаю порты открыты

iptables -L
Chain. INPUT (policy DROP)
target     prot opt source               destination         
 
ACCEPT     all  --  192.168.100.4        anywhere            
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:nfs 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:sunrpc 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:4000 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:4002 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:4003 
ACCEPT     udp  --  anywhere             anywhere            udp spt:4003 
ACCEPT     udp  --  anywhere             anywhere            udp spt:nfs
Chain OUTPUT (policy DROP)
target     prot opt source               destination         
bad_packets  tcp  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  192.168.100.4        anywhere 

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

Ну теперь ещё покажите вывод iptables-save на сервере, только прочитайте про LORCODE и поствьте теги pre, чтобы текст был читаемый.

А в /etc/hosts попробуйте добавить запись для 192.168.100.4, хотя скорее всего просто перекрыт порт в iptables.

mky ★★★★★ ()
Ответ на: комментарий от Snowly

Что такое bad_packets? И либо «iptables-save», либо «iptables -L -n -v», чтобы были видны интерфейсы.

mky ★★★★★ ()
Ответ на: комментарий от Snowly

Прошу прощения за свою некомпетентность.

# Generated by iptables-save v1.4.10 on Sun May 13 03:24:26 2012
*nat
:PREROUTING ACCEPT [15:734]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [1167:67425]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE 
COMMIT
# Completed on Sun May 13 03:24:26 2012
# Generated by iptables-save v1.4.10 on Sun May 13 03:24:26 2012
*mangle
:PREROUTING ACCEPT [5344:2674233]
:INPUT ACCEPT [5344:2674233]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6016:1045277]
:POSTROUTING ACCEPT [6010:1042552]
COMMIT
# Completed on Sun May 13 03:24:26 2012
# Generated by iptables-save v1.4.10 on Sun May 13 03:24:26 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:bad_packets - [0:0]
:icmp_p - [0:0]
:tcp_p - [0:0]
:udp_p - [0:0]
-A INPUT -p tcp -j bad_packets 
-A INPUT -i br0 -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -p tcp -j tcp_p 
-A INPUT -i eth0 -p udp -j udp_p 
-A INPUT -i eth0 -p icmp -j icmp_p 
-A INPUT -s 192.168.100.4/32 -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 2049 -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 111 -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 4000 -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 4002 -j ACCEPT 
-A INPUT -p tcp -m tcp --sport 4003 -j ACCEPT 
-A INPUT -p udp -m udp --sport 4003 -j ACCEPT 
-A INPUT -p udp -m udp --sport 2049 -j ACCEPT 
-A FORWARD -p tcp -j bad_packets 
-A FORWARD -i br0 -j ACCEPT 
-A FORWARD -i lo -j ACCEPT 
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -j bad_packets 
-A OUTPUT -o eth0 -j ACCEPT 
-A OUTPUT -o br0 -j ACCEPT 
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -s 192.168.100.4/32 -j ACCEPT 
-A bad_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset 
-A bad_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn:" 
-A bad_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP 
-A icmp_p -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A icmp_p -p icmp -m icmp --icmp-type 11 -j ACCEPT 
-A icmp_p -p icmp -j DROP 
-A tcp_p -p tcp -j DROP 
-A udp_p -p udp -j DROP 
COMMIT
# Completed on Sun May 13 03:24:26 2012

Snowly ()
Ответ на: комментарий от Snowly
 iptables -L -n -v 

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 4856 2675K bad_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 5511 2828K ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
   19   880 tcp_p      tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
   30  2129 udp_p      udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    0     0 icmp_p     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.100.4        0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:2049 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:111 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:4000 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:4002 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:4003 
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:4003 
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:2049 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 bad_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 5520 1037K bad_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
 6217 1078K ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      br0     0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.100.4        0.0.0.0/0           

Chain bad_packets (3 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x12/0x12 state NEW reject-with tcp-reset 
   46  5288 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW LOG flags 0 level 4 prefix `New not syn:' 
   46  5288 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW 

Chain icmp_p (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 11 
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain tcp_p (1 references)
Snowly ()
Ответ на: комментарий от xpahos

Выполняю rpcinfo -p в соответствии с результатами открываю порты. После выполненных действий результат команды iptables -L -n -v выглядит примерно так:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1390  831K bad_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
   12  1056 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 1516  859K ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    6   360 tcp_p      tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    8   656 udp_p      udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    0     0 icmp_p     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:111 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:111 
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:58928 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:41800 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:2049 
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:2049 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:34557 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 bad_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1511  187K bad_packets  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
 1644  195K ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      br0     0.0.0.0/0            0.0.0.0/0           
   12  1056 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:111 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:111 
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:58928 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:41800 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:2049 
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:2049 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:34557 

Chain bad_packets (3 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x12/0x12 state NEW reject-with tcp-reset 
    0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW LOG flags 0 level 4 prefix `New not syn:' 
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW 

Chain icmp_p (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 8 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 11 
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain tcp_p (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    6   360 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain udp_p (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    8   656 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0 
Тем не менее при попытке смонтировать выдает таймаут

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

Подскажите есть ли возможность временно отключить фильтрацию пакетов?

По идее, с этого и надо было начинать решать проблему. ;)

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

Судя по tcpdump пакеты доходят но ответа нет

tcpdump -n -i eth0 host 192.168.100.4 and port 2049
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
00:48:42.998188 IP 192.168.100.4.848 > 192.168.100.2.2049: Flags [S], seq 2534587332, win 14600, options [mss 1460,sackOK,TS val 342855 ecr 0,nop,wscale 4], length 0
00:48:45.998086 IP 192.168.100.4.848 > 192.168.100.2.2049: Flags [S], seq 2534587332, win 14600, options [mss 1460,sackOK,TS val 343606 ecr 0,nop,wscale 4], length 0
00:48:52.006203 IP 192.168.100.4.848 > 192.168.100.2.2049: Flags [S], seq 2534587332, win 14600, options [mss 1460,sackOK,TS val 345108 ecr 0,nop,wscale 4], length 0

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

Проблема решена! Всем кто помогал ОГРОМНОЕ СПАСИБО!!!

iptables -F
iptables-save

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

Лучше не отключать фильтрацию пакетов, а просто ставить в начало правило, гарантировано пропускающее нужны трафик. Допустим, в вашем случае:

iptables -I INPUT -s 192.168.100.4 -j ACCEPT

iptables -I OUTPUT -d 192.168.100.4 -j ACCEPT

tcpdump показывет пакеты прямо с интерфейса, до того, как к пакету будут применены правила iptables. В вашем конкретном случае вы не туда добавляете порты. Вы открываете порты дописывая их в цепочку INPUT, а нужно вставлять в начало цепочек tcp_p и udp_p, причём когда пакет идёт в INPUT'e, нужно указывать не source port, а destination. Допустим:

iptables -I tcp_p -p tcp --dport 2049 -j ACCEPT

Счётчики правил показывают сколько пакетов подошло под это правло. В вашем случае в цепочке tcp_p было «грохнуто» 6 пакетов, причём так как ранее у вас ACCEPT для state RELATED,ESTABLISHED, то это все пакеты, пытающиеся установить соединение.

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