Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ISCSI Erklärung:
- 1) ISCSI bedeutet direkter Zugriff auf eine Festplatte über Netzwerk
- um sie "lokal" an einem anderen Server/Computer/Gerät einzubinden.
- 2) ISCSI ist unverschlüsselt.
- 3) Um dem ISCSI Laufwerk keiner Gefahr auszusetzen:
- Gefahren: Bandbreite die durch zu viel anderen Netzwerktraffik
- verloren geht.
- Datenklau von unerlaubten Servern/Computern/Geräten da
- unverschlüsselt.
- Lösung: Eigenes Netzwerk
- Ausgangslage:
- Der Linux Datenserver erstellt mittels ZFS aus mehreren Festplatten einen
- Speicherpool ( /storage1 )
- Der Linux Datenserver erstellt in dem Speicherpool eine virtuelle
- Festplatte. ( volume1 )
- Der Linux Datenserver stellt dieses Volume über ISCSI bereit.
- Der Linux Fileserver bindet das über ISCSI bereitgestellte Volume ein.
- Der Linux Fileserver erstellt mittels SAMBA eine Freigabe auf dem Volume.
- 1) 1x Linux Datenserver -> server1
- 3x Festplatten
- 1x Netzwerkkarte 10.0.0.1/24
- 1x Netzwerkkarte 192.168.0.X/24 =>
- Nur zum installieren und updaten wichtig.
- Kann dannach deaktiviert werden.
- 2) 1x Linux Fileserver -> server2
- 1x Festplatte
- 1x Netzwerkkarte 10.0.0.2/24
- 1x Netzwerkkarte 192.168.0.X/24 (gewollt in 2 Netzen)
- 3) 1x Linux/Windows Client -> client1
- 1x Festplatte
- 1x Netzwerkkarte 192.168.0.X/24
- 4) 1x Linux/Windows Client -> client2
- 1x Festplatte
- 1x Netzwerkkarte 192.168.0.X/24
- Installation/Konfiguration:
- 1) server1
- - Ubuntu Server 20.04.
- sudo su
- - Network
- #netplan Config Datei bearbeiten
- nano /etc/netplan/*
- #neuer Inhalt entsprechend der Netzwerkkarten (NICs)
- network:
- ethernets:
- enp1s0:
- dhcp4: true
- enp4s0:
- dhcp4: no
- addresses: [10.0.0.1/24]
- version: 2
- #netplan config generieren und aktivieren.
- #in der config sind keine "tab" erlaubt. Nur Leerzeichen.
- #Bei diesen Befehlen würde man dann Fehler sehen.
- #Die Config wird sofort geprüft.
- netplan generate
- netplan apply
- - zfs-dkms
- #Inhaltsverzeichnis updaten
- apt-get update
- #zfs installieren
- apt-get install zfs-dkms
- #disk vdb und vdc löschen
- blkdiscard /dev/vdb
- blkdiscard /dev/vdc
- #disk vdb und vdc mit GPT formatieren
- sgdisk --zap-all /dev/vdb
- sgdisk --zap-all /dev/vdc
- #Speicherpool erzeugen
- zpool create \
- -o ashift=12 -o autotrim=on \
- -O acltype=posixacl -O canmount=on -O compression=lz4 \
- -O dnodesize=auto -O normalization=formD -O relatime=on \
- -O xattr=sa \
- storage1 mirror /dev/vdb /dev/vdc
- #virtuelle Festplatte erzeugen
- zfs create -s -V 5G storage1/volume1
- - tgt
- #den ISCSI Server installieren
- apt-get install tgt
- #Config des ISCSI Servers schreiben.
- #Die Verbindung an sich könnte noch mit Passwort und Username
- #gesichert werden.
- #Auf eine Firewall sollte verzichtet werden.
- #Hier nur Schutz mit IP(Initiator/Anfrager)
- #Trotzdem werden die Daten im Netzwerk im Klartext übertragen.
- cat >> /etc/tgt/conf.d/target01.conf << EOF
- <target fqdn:vol1>
- backing-store /dev/zvol/storage1/volume1
- initiator-address 10.0.0.2
- </target>
- EOF
- #Den ISCSI Server neuladen
- systemctl reload tgt
- 2) server2
- - Ubuntu Server 20.04
- sudo su
- - Network
- nano /etc/netplan/*
- network:
- ethernets:
- enp1s0:
- dhcp4: true
- enp1s0:
- enp4s0: no
- addresses: [10.0.0.2/24]
- version: 2
- netplan generate
- netplan apply
- - open-iscsi
- apt-get update
- #einen ISCSI Client installieren
- apt install open-iscsi
- #Mit dem Client die Ziele/Volumes des Servers abfragen
- iscsiadm -m discovery -t sendtargets -p 10.0.0.1:3260
- #Den Client mit dem Volume auf dem abgefragten Server verbinden.
- iscsiadm -m node -T fqdn:vol1 -p 10.0.0.1:3260 --login
- cfdisk /dev/sda
- mkfs.ext4 /dev/sda1
- ls -lart /dev/disk/by-partuuid
- mkdir -p /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4
- echo /dev/disk/by-partuuid/fcbcb445-6f97-454d-b5f0-672d13ad49e4 \
- /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4 ext4 defaults 0 1 \
- >> /etc/fstab
- mount -a
- - samba
- #Samba für die Netzwerkfreigaben installieren.
- apt-get install samba
- #Samba User/Gruppe erstellen.
- useradd -s /bin/false smbuser
- smbpasswd -a smbuser
- groupadd smbgroup
- #Originale Samba Config löschen
- rm /etc/samba/smb.conf
- #Neue Samba Config schreiben
- cat >> /etc/samba/smb.conf << EOF
- [global]
- server min protocol = SMB2_02
- server max protocol = SMB3
- server string = fileserver
- workgroup = WORKGROUP
- netbios name = fileserver
- wins support = yes
- local master = yes
- preferred master = yes
- time server = yes
- security = auto
- #security = user
- #map to guest = Bad User
- unix extensions = yes
- name resolve order = lmhosts host wins bcast
- include = /etc/samba/shares.conf
- EOF
- #Zusatz Samba Config für Freigaben
- cat >> /etc/samba/shares.conf << EOF
- [Public]
- path = /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4/
- force user = smbuser
- force group = smbgroup
- create mask = 0750
- force create mode = 0750
- directory mask = 0750
- force directory mode = 0750
- public = yes
- writable = yes
- hide unreadable = Yes
- access based share enum = Yes
- nt acl support = yes
- inherit acls = no
- EOF
- #Sambauser/Gruppe die Rechte an der gemounteten Festplatte geben.
- #Alle anderen Zugriff verbieten.
- chown smbuser:smbgroup /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4/
- chmod o-rwx /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4/
- #Samba neustarten
- systemctl restart smbd
- #Windows Client zur Freigabe verbinden.
- 3) client1 Windows 10 Pro Workstation
- \\192.168.0.68
- #Linux Client zur Freigabe verbinden.
- 4) client2 ubuntu MATE
- smb://192.168.0.68
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement