Advertisement
echoslider

finish_iscsi_server(linux)_for_fileserver(windows)

Dec 12th, 2021 (edited)
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.08 KB | None | 0 0
  1. ISCSI Erklärung:
  2.  
  3. 1) ISCSI bedeutet direkter Zugriff auf eine Festplatte über Netzwerk
  4. um sie "lokal" an einem anderen Server/Computer/Gerät einzubinden.
  5.  
  6. 2) ISCSI ist unverschlüsselt.
  7.  
  8. 3) Um dem ISCSI Laufwerk keiner Gefahr auszusetzen:
  9.  
  10. Gefahren: Bandbreite die durch zu viel anderen Netzwerktraffik
  11. verloren geht.
  12. Datenklau von unerlaubten Servern/Computern/Geräten da
  13. unverschlüsselt.
  14.  
  15. Lösung: Eigenes Netzwerk
  16.  
  17.  
  18.  
  19. Ausgangslage:
  20.  
  21. Der Linux Datenserver erstellt mittels ZFS aus mehreren Festplatten einen
  22. Speicherpool ( /storage1 )
  23.  
  24. Der Linux Datenserver erstellt in dem Speicherpool eine virtuelle
  25. Festplatte. ( volume1 )
  26.  
  27. Der Linux Datenserver stellt dieses Volume über ISCSI bereit.
  28.  
  29. Der Linux Fileserver bindet das über ISCSI bereitgestellte Volume ein.
  30.  
  31. Der Linux Fileserver erstellt mittels SAMBA eine Freigabe auf dem Volume.
  32.  
  33. 1) 1x Linux Datenserver -> server1
  34. 3x Festplatten
  35. 1x Netzwerkkarte 10.0.0.1/24
  36.  
  37. 1x Netzwerkkarte 192.168.0.X/24 =>
  38. Nur zum installieren und updaten wichtig.
  39. Kann dannach deaktiviert werden.
  40.  
  41.  
  42.  
  43. 2) 1x Linux Fileserver -> server2
  44. 1x Festplatte
  45. 1x Netzwerkkarte 10.0.0.2/24
  46. 1x Netzwerkkarte 192.168.0.X/24 (gewollt in 2 Netzen)
  47.  
  48.  
  49. 3) 1x Linux/Windows Client -> client1
  50. 1x Festplatte
  51. 1x Netzwerkkarte 192.168.0.X/24
  52.  
  53. 4) 1x Linux/Windows Client -> client2
  54. 1x Festplatte
  55. 1x Netzwerkkarte 192.168.0.X/24
  56.  
  57. Installation/Konfiguration:
  58.  
  59. 1) server1
  60. - Ubuntu Server 20.04.
  61.  
  62. sudo su
  63.  
  64.  
  65. - Network
  66.  
  67. #netplan Config Datei bearbeiten
  68. nano /etc/netplan/*
  69.  
  70. #neuer Inhalt entsprechend der Netzwerkkarten (NICs)
  71. network:
  72. ethernets:
  73. enp1s0:
  74. dhcp4: true
  75. enp4s0:
  76. dhcp4: no
  77. addresses: [10.0.0.1/24]
  78. version: 2
  79.  
  80. #netplan config generieren und aktivieren.
  81. #in der config sind keine "tab" erlaubt. Nur Leerzeichen.
  82. #Bei diesen Befehlen würde man dann Fehler sehen.
  83. #Die Config wird sofort geprüft.
  84. netplan generate
  85. netplan apply
  86.  
  87.  
  88. - zfs-dkms
  89.  
  90. #Inhaltsverzeichnis updaten
  91. apt-get update
  92.  
  93. #zfs installieren
  94. apt-get install zfs-dkms
  95.  
  96. #disk vdb und vdc löschen
  97. blkdiscard /dev/vdb
  98. blkdiscard /dev/vdc
  99.  
  100. #disk vdb und vdc mit GPT formatieren
  101. sgdisk --zap-all /dev/vdb
  102. sgdisk --zap-all /dev/vdc
  103.  
  104. #Speicherpool erzeugen
  105. zpool create \
  106. -o ashift=12 -o autotrim=on \
  107. -O acltype=posixacl -O canmount=on -O compression=lz4 \
  108. -O dnodesize=auto -O normalization=formD -O relatime=on \
  109. -O xattr=sa \
  110. storage1 mirror /dev/vdb /dev/vdc
  111.  
  112. #virtuelle Festplatte erzeugen
  113. zfs create -s -V 5G storage1/volume1
  114.  
  115.  
  116. - tgt
  117.  
  118. #den ISCSI Server installieren
  119. apt-get install tgt
  120.  
  121. #Config des ISCSI Servers schreiben.
  122. #Die Verbindung an sich könnte noch mit Passwort und Username
  123. #gesichert werden.
  124. #Auf eine Firewall sollte verzichtet werden.
  125. #Hier nur Schutz mit IP(Initiator/Anfrager)
  126. #Trotzdem werden die Daten im Netzwerk im Klartext übertragen.
  127. cat >> /etc/tgt/conf.d/target01.conf << EOF
  128. <target fqdn:vol1>
  129. backing-store /dev/zvol/storage1/volume1
  130. initiator-address 10.0.0.2
  131. </target>
  132. EOF
  133.  
  134. #Den ISCSI Server neuladen
  135. systemctl reload tgt
  136.  
  137.  
  138. 2) server2
  139. - Ubuntu Server 20.04
  140.  
  141. sudo su
  142.  
  143.  
  144. - Network
  145.  
  146. nano /etc/netplan/*
  147.  
  148. network:
  149. ethernets:
  150. enp1s0:
  151. dhcp4: true
  152. enp1s0:
  153. enp4s0: no
  154. addresses: [10.0.0.2/24]
  155. version: 2
  156.  
  157. netplan generate
  158. netplan apply
  159.  
  160.  
  161. - open-iscsi
  162.  
  163. apt-get update
  164.  
  165. #einen ISCSI Client installieren
  166. apt install open-iscsi
  167.  
  168. #Mit dem Client die Ziele/Volumes des Servers abfragen
  169. iscsiadm -m discovery -t sendtargets -p 10.0.0.1:3260
  170.  
  171. #Den Client mit dem Volume auf dem abgefragten Server verbinden.
  172. iscsiadm -m node -T fqdn:vol1 -p 10.0.0.1:3260 --login
  173.  
  174.  
  175. cfdisk /dev/sda
  176. mkfs.ext4 /dev/sda1
  177.  
  178. ls -lart /dev/disk/by-partuuid
  179.  
  180. mkdir -p /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4
  181. echo /dev/disk/by-partuuid/fcbcb445-6f97-454d-b5f0-672d13ad49e4 \
  182. /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4 ext4 defaults 0 1 \
  183. >> /etc/fstab
  184.  
  185. mount -a
  186.  
  187.  
  188.  
  189. - samba
  190.  
  191. #Samba für die Netzwerkfreigaben installieren.
  192. apt-get install samba
  193.  
  194. #Samba User/Gruppe erstellen.
  195. useradd -s /bin/false smbuser
  196. smbpasswd -a smbuser
  197. groupadd smbgroup
  198.  
  199. #Originale Samba Config löschen
  200. rm /etc/samba/smb.conf
  201.  
  202. #Neue Samba Config schreiben
  203. cat >> /etc/samba/smb.conf << EOF
  204. [global]
  205. server min protocol = SMB2_02
  206. server max protocol = SMB3
  207. server string = fileserver
  208. workgroup = WORKGROUP
  209. netbios name = fileserver
  210. wins support = yes
  211. local master = yes
  212. preferred master = yes
  213. time server = yes
  214. security = auto
  215. #security = user
  216. #map to guest = Bad User
  217. unix extensions = yes
  218. name resolve order = lmhosts host wins bcast
  219. include = /etc/samba/shares.conf
  220. EOF
  221.  
  222. #Zusatz Samba Config für Freigaben
  223. cat >> /etc/samba/shares.conf << EOF
  224. [Public]
  225. path = /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4/
  226. force user = smbuser
  227. force group = smbgroup
  228. create mask = 0750
  229. force create mode = 0750
  230. directory mask = 0750
  231. force directory mode = 0750
  232. public = yes
  233. writable = yes
  234. hide unreadable = Yes
  235. access based share enum = Yes
  236. nt acl support = yes
  237. inherit acls = no
  238. EOF
  239.  
  240. #Sambauser/Gruppe die Rechte an der gemounteten Festplatte geben.
  241. #Alle anderen Zugriff verbieten.
  242. chown smbuser:smbgroup /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4/
  243. chmod o-rwx /mnt/fcbcb445-6f97-454d-b5f0-672d13ad49e4/
  244.  
  245. #Samba neustarten
  246. systemctl restart smbd
  247.  
  248.  
  249. #Windows Client zur Freigabe verbinden.
  250. 3) client1 Windows 10 Pro Workstation
  251.  
  252. \\192.168.0.68
  253.  
  254.  
  255. #Linux Client zur Freigabe verbinden.
  256. 4) client2 ubuntu MATE
  257.  
  258. smb://192.168.0.68
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement