In diesem Tutorial möchte ich euch erklären, wie Ihr ganz einfach einen NFS (Network File Sharing) Server aufsetzt, einrichtet und auf einem Proxmox Host einbindet. NFS ist eine ganz Nützliche Sache, wenn man z.B Backups von virtuellen Maschienen darauf speichern möchte. Auch ganz cool ist natürlich, dass man seine Speicherplätze auf vielen verschiedenen Rechenzentren hosten kann. Ich kam nähmlich auf die Idee, Performance Server zu mieten mit geringen Speicherplatz um dann direkt den Großen Speicherbedarf auf Storage Systemen zu verlagern. Wenn ich also erst die Superschnelle CPU haben möchte, hole ich mir diese bei einem Hoster um dann den Speicherplatz auf günstigere weise woanders zu mieten.
1. Virtuellen LXC Server anlegen
Wenn wir also jetzt einen NFS Dienst auf einem LXC Server hosten möchten, müssen wir zunächst einmal den Container als nicht Unprivilegierter Container erstellen.
2. LXC Server Rechte für NFS setzen
Jetzt müssen wir nachdem der LXC Server angelegt wurde, die Berechtigung für das Nutzen der NFS Funktion setzen.
3. NFS installieren
Jetzt installieren wir den NFS Server auf der Vituellen LXC Maschiene. Hier könnt Ihr am besten die Befehle kopieren und dann mittels SSH Konsole einfügen.
apt-get update
apt-get install sudo -y
sudo apt install nfs-kernel-server
Jetzt legen wir einen Ordner an worauf alle Daten die von z.B Proxmox erstellt werden, gespeichert werden.
sudo mkdir -p /home/sharedfolder
Rechtevergabe
Wichitg ist hier auch die Rechte zu setzen damit der Verbundene Client auch z.B Lesen und Schreiben kann.
sudo chown nobody:nogroup /home/sharedfolder
sudo chmod 777 /home/sharedfolder
4. NFS Share Verzeichnis eintragen
Jetzt können wir unser angelegtes Verzeichnis in die NFS Konfig eintragen.
nano /etc/exports
# Share Point
/home/sharedfolder (sync,rw)
Speichern mit STRG+X und dann mit y bestätigen.
sudo exportfs -a
Mit diesem Befehl übernehmen wir die aktuelle geänderte Konfiguration.
sudo systemctl restart nfs-kernel-server
Jetzt einmal den NFS Server neustarten und dann sind wir mit der ersten Einrichtung fertig.
5. Firewall anpassen
Damit von außen niemand auf das Verzeichnis unbefugt zugreifen kann, müssen wir bestimmte Firewall Regeln eintragen, damit nur wirklich die IP-Adresse darauf Zugriff hat die auch gestattet wurde. Alles andere wird erst dann gar nicht den Server erreichen können. Ich habe hier ein kleines Firewall Skript erstellt, dass auf Debian 9/10/11+ funktionieren sollte. Bei Ubuntu arbeitet man mit der UFW Firewall. Deswegen am besten dieses Skript auf einem Debian Server anpassen und 1x ausführen. Beachtet bitte dass bei einem Neustart, die Firewall Regeln automatisch wieder gelöscht werden. Dies habe ich extra so eingerichtet und nicht bewusst gespeichert um Aussperrungen zu verhindern falls es dazu kommen sollte.
nano nfs_firewall.sh
#!/bin/bash
# Gebe hier die IP-Adresse ein die auf das Filesystem extern zugreifen darf.
ipadresse="IP-Adresse"
/sbin/iptables -A INPUT -p tcp -s $ipadresse -j ACCEPT
/sbin/iptables -A INPUT -p udp -s $ipadresse -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -d $ipadresse -j ACCEPT
/sbin/iptables -A OUTPUT -p udp -d $ipadresse -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2049 -j DROP
sudo iptables -A INPUT -p udp --dport 2049 -j DROP
sudo iptables -A INPUT -p tcp --dport 111 -j DROP
sudo iptables -A INPUT -p udp --dport 111 -j DROP
sudo iptables -A INPUT -p tcp --dport 1110 -j DROP
sudo iptables -A INPUT -p udp --dport 1110 -j DROP
sudo iptables -A INPUT -p tcp --dport 4045 -j DROP
sudo iptables -A INPUT -p udp --dport 4045 -j DROP
sudo iptables -A INPUT -p tcp --dport 2049 -s $ipadresse -j ACCEPT
sudo iptables -A INPUT -p udp --dport 2049 -s $ipadresse -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 111 -s $ipadresse -j ACCEPT
sudo iptables -A INPUT -p udp --dport 111 -s $ipadresse -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1110 -s $ipadresse -j ACCEPT
sudo iptables -A INPUT -p udp --dport 1110 -s $ipadresse -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4045 -j DROP
sudo iptables -A INPUT -p udp --dport 4045 -j DROP
Speichern mit STRG+X und anschließend y eingeben.
chmod 777 nfs_firewall.sh
Mit diesem Befehl setzen wir die benötigten Rechte die das Skript braucht.
sudo bash nfs_firewall.sh
Nun können wir das Skript ausführen bitte voher im Code die IP-Adresse anpassen.
Remote Speicher zu Proxmox hinzufügen (Client)
Bitte nun im Proxmox Host (Finaler Host der das NFS Device bekommen soll) einloggen und dann gehen wir auf Rechenzentrum und anschließend auf Storage.
Hier können wir jetzt die Server IP-Adresse eingeben vom NFS Server und anschließend den Speicherplatz hinzufügen.
Bei dem Bereich Inhalt können wir auswählen, wofür der Speicherplatz genutzt wird und was damit im endeffekt gemacht werden soll.
Beitrag teilen:
Wie hilfreich war dieser Beitrag?
Klicke auf die Sterne um zu bewerten!
Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 2
Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.
Schreibe einen Kommentar