Seitenleiste

Navigation


tweaks:raspnas

Raspberry 4 NAS

Erstellt: 20.02.2020

Hardware

Insgesamt liegen wir bei ~ € 400.–

Vergleichbar wäre eine WD NAS mit 8TB ( 2x4TB ! Nicht 2x8TB ) im Angebot für ~ € 300.– (UVP € 516.–), allerdings kann man dort weder Pi-hole (garnicht nutzbar) noch Syncthing anständig nutzen. Man ist also eingeschränkt auf Dropbox (kostenlos max 2GB) & Samba, plus nen paar Dinge die keiner braucht & kennt.

Ich mag lieber frei sein!

Software



Was, Wie, Wo

Raspbian Buster Lite auf die SD-Karte kloppen. Ich nutze dazu Rufus-Portable
Es wird headless gearbeitet, daher auf die erkannte Boot-Partition eine Datei legen, genannt „ssh“, um die an die Shell ranzukommen.

User: pi
Passwd: raspberry

Erstmal das System auffrischen

sudo apt update && sudo apt upgrade

Dann gehts in die Konfiguration

sudo raspi-config
  • Advanced Options
    • A1 Expand Filesystem Ensures that all of the SD card storage is available to the OS
  • Interfacing Options
    • ssh aktivieren
  • Localisation Options
    • Change Locale → de_DE.UTF-8
    • Change Timezone → Europe → Berlin
    • Change Keyboard Layout (passiert nicht viel)
    • Change Wi-fi Country → DE
  • Network Options
    • Wifi aktivieren wer will, wir machen es später noch aus
  • Finish und reboot → ja



Wlan und Bluetooth deaktivieren

sudo apt install vim
sudo vim /boot/config.txt

Am Ende hinzufügen:

# wlan off
dtoverlay=disable-wifi
 
#bluetooth off
dtoverlay=disable-bt

Wer jetzt noch etwas experimentierfreudig ist, der kann noch den neuen 64-Bit Kernel nutzen

64 bit kernel
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=250730


Die wichtigen Dinge

todo: https://github.com/azlux/log2ram

sudo apt install samba samba-common smbclient proftpd-basic gdisk

Es kommt eine Abfrage vom Samba: „WINS“ wer will ja, sonst nein, veraltet


ACHTUNG JETZT KOMMT ROOT!

sudo vim /etc/ssh/sshd_config
PermitRootLogin yes
#PermitRootLogin prohibit-password
sudo service sshd restart

Wenn wir fertig sind, machen wir dies wieder rückgängig! Ebenso bekommt User „pi“ danach ein neues Passwd.

Raid 1

Ich nutz die 2 4TB Platten als Raid1-Konfiguration. Mit cgdisk partitionieren wir die Platte auf ihre volle Grösse. Es gibt auch andere Varianten. Der, der weiss wie es geht, machs halt ;)
Formatieren des Raids mittels

mkfs.ext4 /dev/sda1



Home-Dir aufs Raid

Gefunden auf https://help.ubuntu.com/community/Partitioning/Home/Moving
Auslesen der UUID

sudo blkid

UUID aufschreiben!

Einhängen des Raids

sudo vim /etc/fstab

Am Ende hinzufügen:

UUID=xxx-xxx-xxx-xxx-xxx   /media/home    ext4          defaults,noatime,errors=remount-ro       0       1

Die xxx-xxx-xxx-xxx-xxx mit Deiner UUID ersetzen nicht vergessen.
Ab ins System damit:

sudo mkdir /media/home
sudo mount -a

Alle HomeDirs aufs Raid syncen:

sudo rsync -aXS /home/. /media/home/.

Backup vom alten HomeDir

cd /
sudo mv /home /home_backup

Neues HomeDir und gleichzeitig Einhängepunkt der Raids

sudo mkdir /home

Einhängepunkt des Raids-Mounts ändern

sudo vim /etc/fstab

Ändere die Zeile /media/home nach /home
Raid unmounten und alles frisch mounten

sudo umount /media/home/
sudo mount -a



Raspi-Überwachung

per Munin

apt install apache2 libapache2-mod-php libapache2-mod-fcgid php7.0-sqlite3 munin munin-node munin-plugins-extra ntp
mv /etc/apache2/conf-enabled/munin.conf /etc/apache2/conf-enabled/munin.conf.bak
vim /etc/apache2/conf-enabled/munin.conf

Folgendes einfügen, sonst gibts nen FORBIDDEN!

Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
        Require all granted
        Options None
</Directory>

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
        Require all granted
	<IfModule mod_fcgid.c>
	    SetHandler fcgid-script
	</IfModule>
        <IfModule !mod_fcgid.c>
            SetHandler cgi-script
        </IfModule>
</Location>

Apache Neustart

systemctl restart apache2

Erreichbar unter

http://DeineRaspiIP/munin



Pi-hole

Wir holen uns das schwarze Loch auf den Raspi

curl -sSL https://install.pi-hole.net | bash

Schreib Dir das Passwort auf! Oder setz einfach keins mit folgendem:

pihole -a -p

Mehr Pi-hole Settings hier unter Pi-hole®

Syncthing

Installationsanleitung unter https://apt.syncthing.net/ Wechsel zum User „pi“ oder einem neuen, je nachdem wie es beliebt.
Danach gehts weiter in der Shell wie folgt:

echo "fs.inotify.max_user_watches=204800" | sudo tee -a /etc/sysctl.conf
sudo sh -c 'echo 204800 > /proc/sys/fs/inotify/max_user_watches'

Syncthing NUR für diesen User aktivieren:

systemctl --user enable syncthing.service
systemctl --user start syncthing.service
systemctl --user status syncthing.service #überprüfen auf evtl. Fehler

Sollte dies nicht funktionieren, folgendes:

sudo systemctl enable syncthing@DEINUSERNAME.service
sudo systemctl start syncthing@DEINUSERNAME.service
sudo systemctl status syncthing@DEINUSERNAME.service #überprüfen auf evtl. Fehler

Wie funktioniert Synthing?
https://www.golem.de/news/syncthing-im-test-p2p-synchronisierung-leicht-gemacht-1407-107904.html

Samba

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf

Hinzufügen:

[global]
	printing = bsd
	printcap name = /dev/null
	keepalive = 30
	load printers = no
	local master = yes
	guest account = nobody
	wins support = yes
	security = user
	unix charset = UTF-8
	time server = yes
	encrypt passwords = true
	socket options = TCP_NODELAY
	domain master = yes
	invalid users = root
	netbios name = raspi4
	name resolve order = bcast host
	server string = %h
	workgroup = my_work_group # bitte anpassen!
	ntlm auth = true
	lanman auth = no
	client ntlmv2 auth = yes
	#log level = 2
	client use spnego = no

[homes]
	browsable = no
	write list = %S
	map system = yes
	comment = Home Verzeichnisse
	valid users = %S
	writeable = yes
	locking = no
	directory mode = 0755
	strict locking = yes
	force user = my_user_name #bitte anpassen!
	kernel oplocks = no
	oplocks = no
	create mode = 0770

Samba neustart

service smbd restart
service nmbd restart

Ich nutze nicht pi als Syncthing/Samba User, sonden habe meinen eigenen. Daher deaktiviere ich den Sambazugang für pi:

smbpasswd -d pi

Zur Sicherheit bekommt mein Syncthing&Samba-User das gleiche Passwort gesetzt, welches ich vorher angelegt habe

smbpasswd -a user



ROOT?! RAUS!

sudo vim /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin prohibit-password
sudo service sshd restart

Nicht vergessen, „pi“ noch ein frisches „passwd“ zu geben!


sudo reboot



hf&gl

tweaks/raspnas.txt · Zuletzt geändert: 2020/06/13 11:42 von donzi