Firewalld (tai UFW) ja NFS asiakas/palomuuri [RATKAISTU]

Raspi/Fedora (Raspi on serveri) NFS toimii hienosti
kunnes laitan Fedoran palomuurin päälle ja säännöksi.

sudo firewall-cmd --zone=home --add-service=nfs --timeout=60

Yhteys loppuu kuin seinään ja palaa toimintaan kun otan palomuurin pois päältä.

Käynnistyksessä lataa 1min 39sek jakoa ja sitten ohittaa sen ja jatkaa käynnistymistä.
Kokeilin myös UFW:llä jolla on helpompi säätää portteja ja netistä löytyvät portit ei auta.

Eikäs home zone Fedorasa ole targettina ACCEPT?
Eli kaikki on auki, ei siis ihme että kaiki toimii kun tuo ei ole päälle, kun on vain defaultti, eli kaikki on ACCEPT. Tuone komennon ajoilmeisesti siis tarkoittaa silloin ihan eri asiaa mitä haluat tehdä. En ole 100% varma kyllä, itse käyttänyt vain zoneja trusted (kaiki auki) sisäverkosa, sekä FedoraServer (ulospäin, kaikki kiinni, missä ei erikseen ruksia ole).

  • TRa

Ei toimi home-zonella, vaan sitten vasta kun komennan

sudo systemctl disable firewalld.service
sudo systemctl stop firewalld.service

Ja käynnistän koneen uudelleen, sitten toimii.
FedoraWorkstation on defaultti-sääntö.

Mitäs jos kokeilee sitä trusted zonea? Itelä ainakin sillä toimii nfs ongelmitta.

  • TRa

No nyt, sillä toimii. Kiitos kovasti, nyt pitää vaan kattoa mitä tuo trusted tarkoittaa.
Onko koko maailma luotettu vai vain kotiverkko?

Edit: :link: trusted
All network connections are accepted.

Eli sama kuin muuria ei olisi ollenkaan.

Laitoin lokituksen päälle, ja se antoikin tuloksia mutta fontin väri on sellainen journalctl:ssä että siitä ei saa mitään selvää. Ainakin portti 17500 pitää olla auki. Mutta Fedora Workstationissa on kaikki portit 1025:sta 65535 asti auki, alkupään portit siis luultavasti on alle tuon jotka pitäisi osata avata.

Edit3 avasin noiden oletusporttien lisäksi 1-1024 sekä tcp että udp eikä toimi. Eli portista ei ole kysymys jos tuo firewall-config nyt toimii oikein. Merkillistä. :frowning:

Ratkaisu:

Mikä hulluinta mount toimii, eli:

sudo mount -t nfs 192.168.1.130:/home/pi/VDR/VDR /mnt/nfs

Toimii OK, no nyt tämä on helppo ratkaista teen komennolle aliaksen ja ajan sen kun on tarvis päästä Raspin tiedostoihin käsiksi.

Palomuuri saa olla “drop” eli kaikki estetään ja silti toimii.

no sen olen ymmärtänyt että trusted pitäisikin olla kuin koko palomuuria ei ollenkaan. Eli voi käyttää vain oikeasti luotetussa sisäverkon yhteyksissä. Mutta en tiennyt mitä eroa siinä on tuohon home:een. Jos ei ole mitään säätänyt, zonejen oletusasetukset löytyy /usr/lib/firewalld/zones/ hakemiston xml-fileista. Olin väärässä, vain trusted on oletus että kaikki on target ACCEPT. Homessa oletuksena on auki vain ssh, mdns, samba-client ja dhcpv6-client. Kun olen itse käyttänyt sisäverkossa vain huoletta trusted zonea, en tiedä ihan tarkkaan ottaen mitä nfs vaatii olevan auki. Ainakin 2049, mutta ehkä muutakin. Mountd olisi 20048. Hauskasti muuten home ja work on melkein samat :wink: Kotona vain on samba-client auki, ainoa ero. Jos haluat käyttä tuota home zonea, mitä jos vielä kokeilee:
firewall-cmd --zone=home --add-service=nfs --add-service=nfs3 --add-service=mountd -add-service mdns --add-service ssh --add-service samba-client --add-service dhcpv6-client
silloin siinä olsi varmasti kaikki oletuksetkin ja lisäksi nfs/nfs3/mountd, toimisko sitten yhteydet, nfs ja mount?
En siten ole juuri käyttänyt tuota firewall-cmd komentoa, en tiedä logiikasta miten tehdään runtime sääntöjä (pitääkö kaikki avattavat portit määrittää), tehnyt itse kaikki palomuurisäännöt aina kiinteiksi (–permanent optio, tai firewall-config graafinen säätöjutska) ja tsekannut paranoidina vielä xml-filet mitä teki ja jos näytti hyvältä käynnistänyt firewalld:n uudestaan (systemctl restart firewalld)

Korostan vielä satunnaisia lukijoita varten, että firewalld:n trusted zonea EI PIDÄ käyttää missään muussa kuin oman sisäverkon yhteyksissä. Eli jos sitä käyttää tsekkaa vielä yhteyksissä että on vain sisäverkon yhteys. Ei koskaan ulospäin menevään yhteyteen tai ampuu ikävästi omaan jalkaansa, kuvittelee että on palomuuri internetiin, vaikka on sama kuin sitä ei olisikaan. En käyttäisi myöskään FedoraWorkstationia ulospäin modaamatta rankasti, kun siinä avataan julmettu määrä portteja 1025 eteenpäin auki. Jossakin ohjelmasa joku bugi mikä avaa tuolta portin, mihin hyökkääjä pääsee käsiksi ja se on siinä…

  • TRa

Minulla oli jo nuo kaikki “home”:ssa, eli hiukan korjailtuna ja ei toimi.

sudo firewall-cmd --zone=home --add-service=nfs --add-service=nfs3 --add-service=mountd --add-service=mdns --add-service=ssh --add-service=samba-client --add-service=dhcpv6-client

Täysin en ymmärrä miksi tämä toimii, /etc/fstab tiedostossa:

192.168.1.130:/home/pi/VDR/VDR /mnt/nfs nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Löysin tuon Fedoran manuaalista, mitä nuo asetukset tekee, ei hajuakaan, mutta toimii.
Nyt tämä on oieasti RATKAISTU, liitos tapahtuu käynnistyksessä automaattisesti :slight_smile:
Ja palomuurin sääntönä on edelleen DROP missä mitään portteja ei ole auki ja kaikki sisääntulevat liikenneyritykset pudotetaan pois.

Hukkasin sen manuaaliohjeen, mutta tässä linkissä on suunnilleen kaikki selitetty:
https://linoxide.com/file-system/example-linux-nfs-mount-entry-in-fstab-etcfstab/

Laitampa vielä nfs serverin (minulla Raspi) palomuurin portit tähän.
Nämä pitää avata:
13025
2049
111

Ja sehän käy UFW muurissa näin:

sudo ufw allow from 192.168.1.XXX to any port 13025

XXX tilalle oikea clientin IP osoite

Tuon 111 ja 2049 olisin ehkä voinut arvatakin nfs:ään liittyen, mutta mikähän ihme on siten fedorassa 13025 ei ole kyllä mitään hajua mikä on ja miksi nfs sen haluaa…

  • TRa

Ei hajua, eikä Google pikavilkaisulla kerro mikä se on.
Jostain ohjeesta sen olen saanut ja ilman sitä nfs ei toimi.
Pitäis aina laittaa linkit talteen ohjeista joita käyttää/kokeilee.
Luultavasti se on portti joka on määrätty jossain asetustiedostossa?

Selkis
serverin (Raspi) tiedostossa /etc/default/nfs-kernel-server

Options for rpc.mountd.

  • If you have a port-based firewall, you might want to set up*
  • a fixed port here using the --port option. For more information,*
  • see rpc.mountd(8) or SecuringNFS - Debian Wiki
  • To disable NFSv4 on the server, specify ‘–no-nfs-version 4’ here*

RPCMOUNTDOPTS=“–manage-gids”
RPCMOUNTDOPTS=“-p 13025”

Tuo portti voi olla mitä vaan kunhan ei ole muussa käytössä ja palomuuriin avataan rööri ko. portille.