eigenes, kleines Netzwerk erstellen

Vorbereitung: ssh-Server

Mit Debian lässt sich ein kleines Netzwerk recht schnell realisieren. Hier wird das Grundprinzip eines einfachen Heimnetzwerk erklärt. Ein in die Jahre gekommener Laptop kann als ssh-Server eingesetzt werden. In meinem Beispiel entschied ich mich für einen HP Pavilion dv6 und dem Betriebssystem Debian GNU/Linux Bullseye.

Auf dem Laptop/Tower setzen wir nun unseren ssh-Server auf. Falls auf dem Laptop bereits ein Debian läuft, kann per

# apt install openssh-server

das nötige Paket nachinstalliert werden. Setzen wir Debian frisch auf, wählen wir bei der Softwareauswahl lediglich
[*] SSH Server
[*] Standard-Systemwerkzeuge

aus. Ein Desktopenvironment ist in diesem Fall nicht nötig. Alle anderen Dienste wie apache2, php und MariaDB lassen sich nachträglich installieren.

Melde Dich beim Server an und überprüfe den Status vom ssh Server. Der ssh-Server ist in diesem Beispiel gestartet und lauscht auf Port 22 (Standard).

# systemctl status ssh

Jetzt benötigen wir die IP-Adresse vom Server:

# ip address
(...)
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 98:4b:e1:9b:48:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.172/24 brd 192.168.0.255 scope global dynamic enp3s0
       valid_lft 2557sec preferred_lft 2557sec
    inet6 2a02:aa10:4201:8a80:9a4b:e1ff:fe9b:480d/64 scope global dynamic mngtmpaddr 
       valid_lft 936435sec preferred_lft 331635sec
    inet6 fe80::9a4b:e1ff:fe9b:480d/64 scope link 
       valid_lft forever preferred_lft forever
(...)

Von der Workstation aus können wir per ssh auf den Server zugreifen. Der allgemeine Befehl lautet:

$ ssh USERNAME@IPADRESS -p PORTNUMMER

Bei deiner allerersten Anmeldung wird der Fingerabdruck überprüft:

$ ssh lightning@192.168.0.172 -p 22
The authenticity of host '192.168.0.172 (192.168.0.172)' can't be established.
ECDSA key fingerprint is SHA256:VO+yY396S/SxMxo/VQDx55ZVLKpC2idiVSvQKu+6qrE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

HINWEIS
Nicht jede Fehlermeldung muss gleich auf einen Angriff hinweisen. Im Beispiel unten hat sich beim Server lediglich der Fingerabdruck geändert und stimmt mit dem gespeicherten Fingerabdruck auf der Workstation nicht überein. Dies ist der Fall, wenn Du deinen ssh-Server z. B. neu aufgesetzt hast und nun versuchst, mit dem alten Fingerabdruck den neuen Server zu erreichen. Entferne den Schlüssel mit:

# ssh-keygen -f "/home/BENUTZERNAME/.ssh/known_hosts" -R "192.168.0.172"

oder lösche die Datei unter:

# rm ~/.ssh/known_hosts
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:VO+yY396S/SxMxo/VQDx55ZVLKpC2idiVSvQKu+6qrE.
Please contact your system administrator.
Add correct host key in /home/yuna/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/yuna/.ssh/known_hosts:5
  remove with:
  ssh-keygen -f "/home/yuna/.ssh/known_hosts" -R "192.168.0.172"
ECDSA host key for 192.168.0.172 has changed and you have requested strict checking.
Host key verification failed.

Netzwerk verbinden (samba)

Skizze eines einfachen Netzwerk. Client-PC und Server werden mit handelsüblichen Netzwerkkabel am Router verbunden.

Client-PC
Hier läuft Windows 11 und es muss nichts weiteres unternommen werden. Prüfe lediglich, ob unter der Systemsteuerung die Netzwerkkennung eingeschaltet ist. PuTTY als SSH und Telnet Client ist optional, jedoch nicht nötig. Alle Einstellungen können auch direkt am Server vorgenommen werden.

Server
Hier läuft Debian GNU/Linux. Bevor samba installiert wird, kläre folgendes ab:

  • IP-Adresse vom Server (ip address)
  • Welcher Ordner bzw. Mountpunkt wird geteilt? Hier ist es /pfad/zum/mountpunkt

Installiere das Paket samba. Damit später auch ntfs-Dateisysteme (Partitionen) eingebunden werden können, ist das Paket ntfs-3g nötig. Werden ext4-Datesysteme eingebunden, kann auf das Paket verzichtet werden.

# apt install samba
# apt install ntfs-3g

Optional kann jetzt die Konfigurationsdatei gesichert werden. Dazu genügt ein:

# cp /etc/samba/smb.conf /etc/samba/samba.original

Öffne das Konfigurationsfile:

# nano /etc/samba/smb.conf

Editiere nun die smb.conf wie in diesem Beispiel.
# ======================= Global Settings ======================= #

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = smb

####### Authentication #######

security = user

# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad password

# ======================= Share Definitions ===================== #

[homes]
comment = Home Directories
browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = no
create mode = 0750

[public]
path = /pfad/zum/Ordner
public = yes
writable = yes
comment = smb share
printable = no
guest ok = yes

Starte den Samba-Server neu:

# systemctl restart smbd.service

Client-PC (hier Windows 11)
Auf dem Client-PC kann nun ein Netzlaufwerk verbunden werden. Wähle dazu in Windows 11 «Dieser PC»  > weitere Optionen anzeigen > Netzlaufwerk verbinden… und vergib einen Laufwerkbuchstaben und die IP des Servers, gefolgt von \public

Je nach Mountpunkt gibst du nach public noch die exakte Bezeichnung ein.
Einhängepunkte findest du bei Debian mittels df -h

# df -h
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
udev            3.9G       0  3.9G    0% /dev
tmpfs           790M    7.4M  783M    1% /run
/dev/sdb2        19G    4.5G   13G   26% /
tmpfs           3.9G       0  3.9G    0% /dev/shm
tmpfs           5.0M    4.0K  5.0M    1% /run/lock
/dev/sdb3       205G    121G   85G   59% /home/yuna/share/VMs
/dev/sdb1       240M    3.4M  236M    2% /boot/efi
/dev/sda1       932G    153G  780G   17% /home/yuna/share/BACKUP
tmpfs           790M     36K  790M    1% /run/user/112
tmpfs           790M     68K  790M    1% /run/user/1000

Partition /dev/sda1 wird in diesem Fall per
\\192.168.0.172\public\BACKUP
eingebunden.

Bei einem # apt upgrade werden auch die Pakete von deinem Sama-Server berücksichtig:

Die Installationsroutine von apt fragt danach, was mit deiner eigenen smb.conf geschehen soll. In der Regel ist es immer eine gute Idee, die lokal installierte Version zu behalten.

Hinterlassen Sie einen Kommentar