Portál AbcLinuxu, 25. dubna 2024 08:12


Dotaz: NFS a firewall na straně klienta

lobodpav avatar 6.8.2007 19:01 lobodpav | skóre: 8 | Ostrava
NFS a firewall na straně klienta
Přečteno: 749×
Odpovědět | Admin
Zdravím.

Mám problém s NFS3. NFS server (na Debianu) mi běží OK. Pokud mám na klientské stanici (Ubuntu 7.04) vypnutý firewall (iptables), tak je taky vše OK. Pokud firewall zapnu, nastane problém.

Firewall mám stavový - vše může ven, dovnitř jen ESTABLISHED,RELATED. Jakmile provedu mount (úspěšně), můžu procházet adresáři jak je libo. Začnu-li číst data (rozuměj kopírovat), přenos stojí na nule. Cca po několika minutách čekání se čtení najednou rozběhne a vše je OK.

Server má všechny NFS porty statické. Taktéž klient. Nezabralo ani povolení příchozích packetů na NFS porty u klienta.

Ve výpisu netstatu vidím po mountu ESTABLISHED spojení mezi mnou (náhodný port) a serverem (port 2049). Přesto nejsou packety ke klientovi propuštěny. Pokud přidám do firewallu pravidlo, aby byly vpuštěny packety na port ESTABLISHED spojení, ctení se rozjede. Jakmile pravidlo odstraním, čtění se zase zastaví.

Problém je v tom, že moje odchozí číslo portu je přidělováno dynamicky, takže jej nemohu explicitně povolit ve firewallu. Také je divné, že klient zahájí spojení s NFS serverem, má navázané spojení a přesto packety dovnitř nejdou. Už jsem z toho nešťastný - 3 dny strávené logováním firewallu a odchytáváním packetů a stále nic.

Nevíte někdo, co s tím?? Předem díky.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.8.2007 19:36 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Odpovědět | | Sbalit | Link | Blokovat | Admin
ti nevim, ale nfs < 4.0 je uplne nezabezpeceny protokol a taky na tyhle veci nevhodny.

neni lepsi rozjet sambu, kdyz potrebujes mit network FS do jine site?

nebo vpn ci nfs4...
lobodpav avatar 6.8.2007 19:42 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Procpak nevhodny? Pripada lepsi mit v mistni siti NFS namountovane jako disk. Kazdopadne s tim stale bojuji a vysledek stale nulovy :-(
andree avatar 6.8.2007 23:34 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
no este mozes pouzit napr. fuse+sshfs ;-) my sme tiez boj s NFSv3+firewall vzdali, zato NFSv4 s nim beha uplne v pohode...

to bude holt asi problem prave v tych nahodnych portoch - podobne ako pri aktivnom ftp...
lobodpav avatar 7.8.2007 07:25 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Muzu na to kouknout. Vtip je v tom, ze mam vsechny porty NFS3 nastavene staticky. Takze je mam povolene na serverovem firewallu a vse je ok, pokud nemam zapnuty firewall na strane klienta.

Divne je, ze mam na klientu ESTABLISHED spojeni s NFS serverem, ale prichozi packety ke klientovi firewall nepropusti, i kdyz mam na klientovi povoleny ESTABLISHED dovnitr.

Nevite nekdo, jak je to mozne? Jaka dalsi podminka (mimo dvou IP a dvou portu) je nutna k rozeznani typu spojeni, ze neni ESTABLISHED?
andree avatar 7.8.2007 10:03 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
google nasiel toto :-) ... pise tam nieco o potrebe povolit "fragmenty"?, ked chces NFS...
lobodpav avatar 7.8.2007 11:01 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Zkusim na to kouknout. Tuto stranku jsem jeste neshlednul. Dam vedet, zda ten navod zabral. Diky.
lobodpav avatar 7.8.2007 07:28 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Jeste jedna vec. Vsiml jsem si, ze pokud nastavim v /etc/fstab NOAUTO u NFS disku a mountnu jej rucne po startu, vyse zmineny problem se nevyskytne. Tomu uz prestavam rozumet...
7.8.2007 09:33 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
a nemas problem s dns?
lobodpav avatar 7.8.2007 09:38 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Taky mne to napadlo, ale preklad jmen funguje, taktez reverz na klienta i server :-(
7.8.2007 10:21 Jan Mikuš | skóre: 20 | Kladno
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Zdravim, nastavoval jsem vcera NFSv3 podle tohoto navodu: http://gentoo-wiki.com/HOWTO_Share_Directories_via_NFS a funguje to bez problemu, je tam i nastaveni firewalu.
lobodpav avatar 7.8.2007 10:58 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Tu stranku jsem take shlednul. Mountujes ten share automaticky pri startu OS, nebo rucne? Pri rucnim mountu je vse OK.
7.8.2007 09:32 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
mistni sit podle me neni sit kde se leze pres firewall :)
lobodpav avatar 7.8.2007 09:37 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Jak se to vezme. Kdyz mam v mistni siti i wifi, tak je to dost na miste. Ale to porad neresi muj problem ;-)
7.8.2007 20:14 !
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Odpovědět | | Sbalit | Link | Blokovat | Admin
/etc/init.d/nfs-kernel-server stop

/etc/init.d/nfs-common stop

/etc/init.d/portmap start

rpcinfo -p

/etc/init.d/nfs-common start

/etc/init.d/nfs-kernel-server start

rpcinfo -p
lobodpav avatar 8.8.2007 07:18 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Server bezi v poho (doufam), nicmene nize jsou vypisy.

Po stopu kernelu a common, portmap spusten:
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
Po startu vsech tri sluzeb:
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  32761  status
    100024    1   tcp  32761  status
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    1   udp  32762  nlockmgr
    100021    3   udp  32762  nlockmgr
    100021    4   udp  32762  nlockmgr
    100021    1   tcp  32762  nlockmgr
    100021    3   tcp  32762  nlockmgr
    100021    4   tcp  32762  nlockmgr
    100005    1   udp  32760  mountd
    100005    1   tcp  32760  mountd
    100005    2   udp  32760  mountd
    100005    2   tcp  32760  mountd
    100005    3   udp  32760  mountd
    100005    3   tcp  32760  mountd
lobodpav avatar 8.8.2007 18:27 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem snad jiz vyzkousel vse. Pokud ve fstabu dam NOAUTO a po startu systemu rucne namountuji sdileny oddil, vse funguje OK. Pokud NOAUTO odstranim, system oddil namountuje, ale pri pokusu o kopirovani neuspeji - cekam 10 minut, nez se to samo rozjede. Vubec to nechapu.

Opravdu nekdo nevite, co muzu udelat, nebo jak mam tento problem zkusit "ladit"??
andree avatar 8.8.2007 19:04 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
no jedno z rieseni je (aj ked dost nechutne) vyrobit si skript, ktory sa bude spustat v ramci initu napr. medzi poslednymi - a bude obsahovat ten mount prikaz, co ti fungoval...

ono je mozno problem v tom, ze ked to mas vo fstabe tak sa to montuje predtym, ako sa spustia sietove jednotky a to mu mozno trochu vadi :-)
8.8.2007 19:15 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
To by mohlo být ono...

Zkus do pole options v /etc/fstab přidat _netdev, to by mělo způsobit, že init skript mountall vynechá daný řádek před spuštěním síťových rozhraní a připojení toho NFS zajistí až mountnfs
Quando omni flunkus moritati
lobodpav avatar 8.8.2007 21:01 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Zkusim to. V manu jsem vsak nic takoveho nenasel :-(
8.8.2007 23:28 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Je to man k mount... Našel jsem to tak, že jsem prošel /etc/rcS.d a prohlídl skripty /etc/init.d/mountall.sh a /etc/init.d/mountnfs.sh

BASH sice moc neovládám, ale ve funkci mount_all_local() v mountall.sh jsem našel parametr no_netdev, který jsem potom hledal v té manuálové stránce.
Quando omni flunkus moritati
lobodpav avatar 9.8.2007 07:13 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Diky moc! Nechapu, proc mi to search doma nenasel (asi preklep pri mem psani). Ted to tam vidim hezky vysvetleno.

Jeste jednou moc diky. V tomto je linux bajecny, kdyz jsou lide ochotni ostatnim pomoci :-)
e.lisak avatar 8.8.2007 20:55 e.lisak | skóre: 23
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
namet na kontrolu nebo otestovani - v jakem poradi se spousti: sit (nahozeni interface, adresa), firewall, nfs mountovani
melo by to chodit v poradi, ktere pisi.

problemy s firewallem by nastaly, kdyby se mount pustil pred firewallem (zpocatku by se neuplatnovalo pravidlo ESTABLISHED -> timeout)

lobodpav avatar 8.8.2007 21:03 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Otazka je, jak to poznat, kdyz start sluzeb rychle profici obrazovkou :-)
e.lisak avatar 8.8.2007 21:27 e.lisak | skóre: 23
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
mate nekolik moznosti zalezejicich na vasem vybaveni a ... jen tak mne napada treba...
  • nahrat si to a pak pustit zpomalene (nutny pozadavek - mit kameru nebo druhe PC + zachytavaci kartu)
  • upravit spusteci zkripty (budto do nich pridat nejake spozdeni, treba 2sec, nebo pridat ladici vypisy do souboru - staci jen neco ve smyslu echo "ted jsme tu" >> /tmp/start_log)
  • nebo podtaktovat PC natolik, aby to bylo normalne patrne ;-)

osobne vetsinou delam logovani do nejakeho souboru

8.8.2007 23:27 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Nebo jednodušeji: podívat se, v jakém pořadí se spouštěcí skripty spouští. Debian nepoužívá žádný udělátor na paralelizovaný start, takže to pořadí je vcelku jasné z /etc/rcS.d a /etc/rc2.d
Quando omni flunkus moritati
lobodpav avatar 9.8.2007 07:24 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Diky. Jedinou vec, co jeste nevim je, jak se rozhoduje u skriptu se stejnuym cislem...
8.8.2007 21:26 iji | skóre: 29
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Odpovědět | | Sbalit | Link | Blokovat | Admin
povol na klientovi pristup ze serveru na RPC (portmap)
lobodpav avatar 8.8.2007 22:08 lobodpav | skóre: 8 | Ostrava
Rozbalit Rozbalit vše Re: NFS a firewall na straně klienta
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dekuji vsem za rady. Dovedli jste mne k reseni. Problem spocival v poradi startovacich skriptu. Mel jsem firewall v /etc/rc2.d/S50firewall. Na webu jsem nasel, ze by mel byt umisten v /etc/rcS.d/S42firewall. Po presunu toho linku jiz vse funguje bezvadne. Vubec mne nenapadlo, ze muze byt potiz v pozdnim startu firewallu.

Jeste jednou moc diky. Sam bych to urcite nevyresil.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.