Section IPv6 added

This commit is contained in:
Uwe Schimanski
2025-10-27 18:05:34 +01:00
parent 076e9adcf7
commit 63199cad87
29 changed files with 865 additions and 575 deletions
+10
View File
@@ -12,4 +12,14 @@
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
*.log
*.aux
*.gz
*.out
*.tmp
*.old
*.new
# removed .backup
.backup
*/*/.backup
+3 -1
View File
@@ -4,7 +4,7 @@
Die CPU muss die Virtualisierung unterst"utzen. Hierzu kann man die Eigenschaften der CPU abfragen. Intel CPU's m"ussen die Option {\ttfamily vmx} unterst"utzen und AMD CPU's {\ttfamily svm}.
\listBash
\begin{lstlisting}[captionpos=b, caption=Abfrage CPU Info]
root@tux>egrep '(vmx|svm)' /proc/cpuinfo
root@tux>grep -E '(vmx|svm)' /proc/cpuinfo
\end{lstlisting}
Zus"atzlich kann man nachschauen, ob die Kernel Module geladen worden sind.
\listBash
@@ -32,6 +32,7 @@ Die nachfolgenden Pakete werden für die Installation von Qemu benötigt.
\begin{lstlisting}[captionpos=b, caption=Installation]
root@tux>pacman -S qemu-full qemu-guest-agent virt-manager virt-viewer bridge-utils
\end{lstlisting}
\newpage
In der Datei /etc/libvirt/libvirtd.conf werden von zwei Einträgen das # entfernt. Danach wird dem User die Gruppe {\fftamily libvirt} hinzugefügt. Zum Abschluss aktivieren wor den Dienst libvirtd und melden uns einmal Ab und wieder An, damit die Änderungen greifen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Konfiguration]
@@ -62,6 +63,7 @@ virsh #
%-------------------------------------------------------------------------------
\subsection{User}
Damit auch ein normaler User Virtuelle Maschinen erstellen und verwalten kann, muss er Mitglied in den Gruppen {\ttfamily libvirt, libvirt-qemu, qemu, kvm} sein. In den Distributionen sind nicht alle Gruppen vorhanden. In Arch Linux sind es zum Beispiel {\ttfamily kvm und libvirt}. Unter Debian sind es die Gruppen {\ttfamily kvm, libvirt, libvirt-qemu}.
\newpage
%-------------------------------------------------------------------------------
% Section: Datastore
%-------------------------------------------------------------------------------
+69 -2
View File
@@ -15,6 +15,42 @@ Am einfachsten ist es , das Programm aus dem Snap Store zu installieren. Es wird
uws@tux>sudo snap install multipass
\end{lstlisting}
%------------------------------------------------------------------------------
% Subsection: VM Storage Loacation ändern
%------------------------------------------------------------------------------
\subsection{VM Storage Loacation ändern}
Möchte man den Pfad für die VM's ändern, so kann man das folgendermaßen machen. Vorher sollten alle Machine gestoppt werden.
\listBash
\begin{lstlisting}[captionpos=b, caption=VM Storage LOcation]
uws@tux># Stoppen des Multipass daemon
uws@tux>sudo snap stop multipass
uws@tux># Anlegen des neuen Verzechnisses und Berechtigungen
uws@tux>mkdir -p /datastore/multipass/data
uws@tux>mkdir -p /datastore/multipass/cache
uws@tux>sudo -R chown root /datastore/multipass
uws@tux># Einen neuen Service erstellen
uws@tux>sudo mkdir /etc/systemd/system/snap.multipass.multipassd.service.d
uws@tux>sudo cat /etc/systemd/system/snap.multipass.multipassd.service.d/override.conf
[Service]
Environment=MULTIPASS_STORAGE=/datastore/multipass
uws@tux># Laden der Konfiguration
uws@tux>sudo systemctl daemon-reload
uws@tux># Kopieren der VM's
uws@tux>sudo -r /var/snap/multipass/common/data/multipassd /datastore/multipass/data
uws@tux>sudo -r /var/snap/multipass/common/cache/multipassd /datastore/multipass/cache
uws@tux># Ändern der Pfade in den Konfigurationsdateien
uws@tux># /datastore/multipass/data/multipass-vm-instance.json
uws@tux># /datastore/multipass/cache/multipassd/vault/multipassd-instance-records.json
uws@tux># Multipass daemon starten
uws@tux>sudo snap start multipass
\end{lstlisting}
Nun können die Maschinen gestarten werden.
%------------------------------------------------------------------------------
% Subsection: VMs installieren
%------------------------------------------------------------------------------
\subsection{VMs installieren}
@@ -91,10 +127,14 @@ drwx------ 3 ubuntu ubuntu 4096 Feb 12 13:45 .ansible
.
.
\end{lstlisting}
%------------------------------------------------------------------------------
% Subsection: Clone Machine
%------------------------------------------------------------------------------
\subsection{Clone Machine}
Wurde in einer VM z.B. Software nach installiert und man benötigt dann weitere Maschinen, so kann man mit {\ttfamily clone} die VM Klonen. Die VM darf für das Klonen nicht mehr laufen.
\listBash
\begin{lstlisting}[captionpos=b, caption=VM Clone]
uws@tux>multipass clone ubuntu-01 --name ubuntu-02
uws@tux>multipass --name ubuntu-02 clone ubuntu-01
Cloned from ubuntu-01 to ubuntu-02.
\end{lstlisting}
%------------------------------------------------------------------------------
@@ -105,7 +145,6 @@ Zwei Möglichkeiten gibt es, mit einer laufenden VM Daten auszutauschen, Entwede
\listBash
\begin{lstlisting}[captionpos=b, caption=Daten Austausch]
uws@tux>multipass mount /home/uws/Bilder ubuntu-01
uws@tux>multipass mount /home/uws/Bilder ubuntu-01:/home/ubuntu/Picture
uws@tux># Entfernt alle Mount Points
@@ -199,4 +238,32 @@ uws@tux>multipass get local.ubuntu-01.cpus
uws@tux># Einen Wert neu setzten
uws@tux>multipass set local.ubuntu-01.cpus=2
\end{lstlisting}
Disk Size ändern.
\listBash
\begin{lstlisting}[captionpos=b, caption=Disk Size ändern]
uws@tux>multipass stop ubuntu-01
uws@tux>multipass set local.ubuntu-01.disk=40G
uws@tux>multipass start ubuntu-01
\end{lstlisting}
%------------------------------------------------------------------------------
% Subsection: Netzwek
%------------------------------------------------------------------------------
\subsection{Netzwerk anzeigen}
Alle vorhandenen Netzwerke können mit dem folgenden Befehl ausgegeben werden.
\listBash
\begin{lstlisting}[captionpos=b, caption=Netzwerk]
uws@tux>multipass networks
Name Type Description
br-2c2d9e9dd676 bridge Network bridge
br-6a1492a6a73f bridge Network bridge
br-7846a271a60e bridge Network bridge
br-8a5d02bc7bfa bridge Network bridge
br-dbb481757c70 bridge Network bridge
docker0 bridge Network bridge
docker_gwbridge bridge Network bridge
eno1 ethernet Ethernet device
mpqemubr0 bridge Network bridge
virbr0 bridge Network bridge
\end{lstlisting}
\end{justify}
+2
View File
@@ -72,6 +72,7 @@ uws@tux>borg create [-v] [--stats] [--list] [--progress] /repo/path::Sunday /dat
-e, \verb|--|exclude & Ausschlie"sen von Dateien / Verzeichnissen. Kann mehrfach angegeben werden.\\
\end{tabular}
\end{table}
\newpage
%-------------------------------------------------------------------------------
% Section: Backup Scripten
%-------------------------------------------------------------------------------
@@ -177,6 +178,7 @@ All archives: 902.14 GB 848.43 GB 151.90 GB
Unique chunks Total chunks
Chunk index: 220795 1195021
\end{lstlisting}
\newpage
\listBash
\begin{lstlisting}[captionpos=b, caption=Info Archiv]
uws@tux>borg info /repo/path::Montag
+14 -1
View File
@@ -1,6 +1,6 @@
\section{Functions}
%---------------------------------------------------
% Subsection: Notes Pfade
% Subsection: List Functions
%---------------------------------------------------
\subsection{List Functions}
\begin{justify}
@@ -33,4 +33,17 @@ uws@tux>zypeset -f FunctionName
uws@tux># or
uws@tux>type FunctionName
\end{lstlisting}
%---------------------------------------------------
% Subsection: Function in Alias
%---------------------------------------------------
\subsection{Function in Alias}
In einem Alias kann man auch eine Function definieren.
\listBash
\begin{lstlisting}[captionpos=b, caption=Function in Alias]
alias md2pdf='function Md2Pdf(){ pandoc --verbose --toc --number-sections --default-image-extension=pdf -V lang=de -o $(basename "$1" .md).pdf "$1" ; }; Md2Pdf'
alias decode='function myDecode(){ echo "$1" | base64 -d; }; myDecode'
alias encode='function myEncode(){ echo "$1" | base64; }; myEncode'
\end{lstlisting}
\end{justify}
+8 -7
View File
@@ -1,5 +1,5 @@
\section{Grep}
Für {ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolgend eine Auswahl von Parametern.
Für {\ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolgend eine Auswahl von Parametern.
\begin{longtable}[l]{p{2cm}p{5cm}p{9cm}}
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Kurzform}} & \multicolumn {1}{l}{\textbf{Langform}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
\hline
@@ -15,7 +15,7 @@ Für {ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolg
\caption{Parameter} \\
\endlastfoot
-A num & \verb|--|after-contect=num & Gibt zusätzlich nach dem passenden Suchbegriff die num Zeilen aus \\
-a text & --text & Eine Binäre Datei wird verarbeitet, als wäre sie Text. Entpricht \ver|--|binary-files=text \\
-a text & --text & Eine Binäre Datei wird verarbeitet, als wäre sie Text. Entpricht \verb|--|binary-files=text \\
-B num & \verb|--|before-context=num & Gibt zusätzlich vor dem passenden Suchbegriff die num Zeilen aus \\
-b & \verb|--|byte-offset & gibt den Byte-Offset innerhalb der Datei vor jeder gefundenen Zeile an \\
-C num &\verb|--|context=num & gibt zusätzlich NUM Zeilen von Kontext aus. Zwischen zusammenhängende Gruppen von Treffern werden Zeilen mit \verb|""| eingefügt \\
@@ -39,6 +39,7 @@ Für {ttfamily grep} gibt es mehrere Parameter, die man verwenden kann. Nachfolg
-v & \verb|--|invert-match & Es werden alle Zeilen ausgegeben, die nicht das Suchmuster enthalten \\
-w & \verb|--|word-regexp & Es werden nur die Zeilen ausgegeben, die aus vollständigen Wörterm nestehen \\
\end{longtable}
\newpage
%----------------------------------------------------------
% In Farbe
%----------------------------------------------------------
@@ -88,9 +89,9 @@ rman-0816 Errors found
Mit {\ttfamily grep} kann man die Optionen {\ttfamily -E} oder {\ttfamily -e} nehmen. {\ttfamily Egrep} ist ein {\ttfamily grep} mit der Option {\ttfamily -E}. Gibt man ein {\ttfamily .*} in dem Suchstring ein, so ist es wie ein {\ttfamily und}. Ein {\ttfamily oder} wird mit einem {\ttfamily Pipe} gemacht. Nachfolgend sind einige Beispiele aufgelistet.
\listBash
\begin{lstlisting}[captionpos=b, caption=Mehrere W"orter Suchen]
uws@tux>grep -i "Manager\|Sales" employee.txt
100 Thomas Manager Sales 5,000
400 Willi Manager Marketing 2,500
uws@tux>grep -i "Manager|Sales" employee.txt
100 Thomas Manager Sales 5,000
400 Willi Manager Marketing 2,500
uws@tux>grep -i -E "Manager|Sales" employee.txt
@@ -99,7 +100,7 @@ uws@tux>egrep -i "manager|sales" employee.txt
uws@tux>grep -e "Manager" -e "Sales" employee.txt
uws@tux>grep -E "Manager.*Sales" employee.txt
100 Thomas Manager Sales 5,000
100 Thomas Manager Sales 5,000
\end{lstlisting}
%----------------------------------------------------------
% Zeilen Nummer
@@ -130,7 +131,7 @@ Mit {\ttfamily -v} wird alles ausgegeben, au"ser dem Suchstring.
\begin{lstlisting}[captionpos=b, caption=Alles Suchen]
uws@tux>grep -v "RMAN-08" /home/uws/log/rman_level0.log
Recovery Manager: Release 11.1.0.6.0 - Production on Mon Apr 29 19:00:00 2013
Copyright © 1982, 2007 Oracle. All rights reserved
Copyright 1982, 2007 Oracle. All rights reserved
\end{lstlisting}
%----------------------------------------------------------
% Ausgabe Datei
+44
View File
@@ -0,0 +1,44 @@
\section{Hexadezimal}
%---------------------------------------------------
% Subsection: Allgemein
%---------------------------------------------------
\subsection{Allgemein}
\begin{justify}
Eine Hexadezimal Zahl ist eine Potenz von 16. \\
16^{0} = 0-9, \verb|a-f| \\
16^{1} = 16 \\
16^{2} = 16 * 16 = 256 \\
16^{3} = 16 * 16 * 16 = 4096 \\
16^{4} = 16 * 16 * 16 * 16 = 65536 $ \\
16^{5} = 16 * 16 * 16 * 16 * 16 = 1048576
\begin{justify}
Die Buchstaben \verb|a-f| stehen f\"ur: \\
a=10, b=11, c=12, d=13, e=14 und f=15
\end{justify}
%---------------------------------------------------
% Subsection: Hexadezimal nach Dezimal
%---------------------------------------------------
\subsection{Hexadezimal nach Dezimal}
Die Hexadezimal Zahl 154b3 wollen wir nun in Dezimal umrechnen. Hierzu können wir folgendes aufschreiben: \\
16^{4}\hspace{0.5cm} 16^{3}\hspace{0.5cm} 16^{2}\hspace{0.5cm} 16^{1}\hspace{0.5cm} 16^{0} \\
1\hspace{0.9cm}5\hspace{0.9cm}4\hspace{0.9cm}b\hspace{0.9cm}3 \\
Berechnung: \\
% -- Inline Math Block mit $ ... $ --
% -- Math Block mit
%\begin{equation}
% Inhalt...
%\end{equation}
$ 1 * 65536 + 5 * 4096 + 4 * 256 + 11 * 16 + 3 * 1 = 87219 $
%---------------------------------------------------
% Subsection: Dezimal nach Hexadezimal
%---------------------------------------------------
\subsection{Dezimal nach Hexadezimal}
Die Zahl 5078 wollen wir nun in eine Hexadezimal Zahl umrechnen. \\
$ 5078 / 4096 = 1 $ => Rest 982 \\
$ 982 / 256 = 3 $ => Rest 214 \\
$ 214 / 16 = 13 $ => Rest 6 (13=d)\\
$ 6 = 6 $ \\
Die Hexadezimal Zahl ist nun: 13d6
\end{justify}
+2
View File
@@ -28,5 +28,7 @@
\input{Kapitel2/Curl} % Curl
\input{Kapitel2/Latex} % Latex
\input{Kapitel2/Base64} % Base64 Codierung
\input{Kapitel2/Hexadezimal}
\input{Kapitel2/Kde}
\newpage
\input{Kapitel2/Functions}
+1 -1
View File
@@ -41,7 +41,7 @@ Aus einer Tex-Datei kann man mit {\ttfamily xelatex} oder {\ttfamily pdflatex} P
% Subsection: Package ngerman
%---------------------------------------------------
\subsection{Package ngerman}
Wir bei dem erstellen einer PDF-Datei eine Meldung ausgegeben, es würde das Package ngerman fehlen,so kann man es mit dem Paketmanager der Distribution nachinstallieren.
Wird bei dem erstellen einer PDF-Datei eine Meldung ausgegeben, es w\"urde das Package ngerman fehlen,so kann man es mit dem Paketmanager der Distribution nachinstallieren.
\listBash
\begin{lstlisting}[captionpos=b, caption=Sty-Dateien]
uws@tux># Arch Linux und Manjaro
+2 -2
View File
@@ -69,7 +69,7 @@ Hirsch Z4 4
%----------------------------------------------------------
\subsubsection{Build-In Variablen Beispiele}
{\ttfamily \verb|$|0}\\
Anstelle von {\ttfamily print \$0}} kann man auch nur {\ttfamily print} angeben und es werden alle Inhalte ausgegeben.
Anstelle von {\ttfamily print \$0} kann man auch nur {\ttfamily print} angeben und es werden alle Inhalte ausgegeben.
\listBash
\begin{lstlisting}[captionpos=b, caption=Beispiel \$0]
uws@tux># Alternative: awk '{print}' employees.txt
@@ -150,7 +150,7 @@ Man B6 2
Praveen M42 3
Hirsch Z4 4
uws@ŧux># Anzeige der ersten und letzten Spalte
uws@tux># Anzeige der ersten und letzten Spalte
uws@tux>awk '{print $1,$NF}' employees.txt
ajay 45000
sunil 25000
+4 -2
View File
@@ -11,6 +11,7 @@
\input{Kapitel3/USB_Geraete}
\newpage
\input{Kapitel3/Formatieren}
\newpage
\input{Kapitel3/FestplattenPartitionenShow}
\input{Kapitel3/BootPartitionClone}
\input{Kapitel3/IsoImage}
@@ -18,9 +19,10 @@
\input{Kapitel3/Hdparm}
\input{Kapitel3/LoopbackDevice}
\input{Kapitel3/FestplattenStatistic}
\input{Kapitel3/FilesystemReadOnlyModus}
\input{Kapitel3/FilesystemReadOnlyModus}
\newpage
\input{Kapitel3/PartitonsInfo}
\include{Kapitel3/SwapSize}
\input{Kapitel3/SwapSize}
\newpage
\input{Kapitel3/RAID}
\input{Kapitel3/SSHMount}
+1 -1
View File
@@ -158,6 +158,7 @@ Mit {\ttfamily examine und scan} zeigt den erkannten Array an.
root@tux>mdadm --examine --scan
ARRAY /dev/md/Datastore metadata=1.2 UUID=8c08f95f:a4a0da14:d1386b30:eeaa6de4 name=fsgo220:Datastore
\end{lstlisting}
\newpage
%-------------------------------------------------------------------------------
% Section: Raid loeschen
%-------------------------------------------------------------------------------
@@ -172,7 +173,6 @@ root@tux>mdadm --zero-superblock /dev/loop1
root@tux>mdadm --zero-superblock /dev/loop2
root@tux>mdadm --remove /dev/md/md0
\end{lstlisting}
\newpage
%-------------------------------------------------------------------------------
% Section: Platte entfernen
%-------------------------------------------------------------------------------
+1
View File
@@ -29,6 +29,7 @@ Eine neue Swap Partition kann man folgenderma"sen einbinden.
root@tux>swapon /dev/sda2
\end{lstlisting}
\end{justify}
\newpage
%-------------------------------------------------------------------------------
% Section: Swapfile
%-------------------------------------------------------------------------------
+28
View File
@@ -0,0 +1,28 @@
\section{Dpkg (Debian)}
\begin{justify}
Mit dem Programm {\ttfamily dpkg} werden DEB-Pakete verwaltet, wie z.B. Installiert oder gelöscht.
%-------------------------------------------------------------------------------
% Section: Paket installieren
%-------------------------------------------------------------------------------
\subsection{Paket installieren}
\listBash
\begin{lstlisting}[captionpos=b, caption=Paket installieren]
uws@tux>sudo dpkg -i <Packege.deb>
\end{lstlisting}
%-------------------------------------------------------------------------------
% Section: Paket löschen
%-------------------------------------------------------------------------------
\subsection{Paket löschen}
\listBash
\begin{lstlisting}[captionpos=b, caption=Paket löschen]
uws@tux>sudo dpkg -r <PackageName>
\end{lstlisting}
%-------------------------------------------------------------------------------
% Section: Paket Reconfigure
%-------------------------------------------------------------------------------
\subsection{Paket Reconfigure}
\listBash
\begin{lstlisting}[captionpos=b, caption=Paket reconfigure]
uws@tux>sudo dpkg-reconfigure <PackageName>
\end{lstlisting}
\end{justify}
+1
View File
@@ -9,6 +9,7 @@
\input{Kapitel4/Yum} % Red Hat
\newpage
\input{Kapitel4/Apt} % Debian
\input{Kapitel4/Dpkg} % Debian
\newpage
\input{Kapitel4/Pacman} % Arch Linux
\include{Kapitel4/Pamac} % Arch Linux
+11
View File
@@ -186,6 +186,17 @@ uws@tux>sudo pacman -Qdti | less
uws@tux># Löschen
uws@tux>sudo pacman -Qdtq | pacman -Rns -
\end{lstlisting}
%-------------------------------------------------------------------------------
\subsubsection{Update schlägt fehl wegen Linux Firmare Nvidia}
Schlägt ein Update fehl, weil eine Abhängigkeit mit der {\ttfamily linux-firmware-nvidia} nicht aufgelöst werden kann, so kann man das Paket folgendermaßen entfernen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Firmware löschen]
uws@tux># Anzeigen
uws@tux>sudo pacman -Q linux-firmware
uws@tux># Löschen
uws@tux>sudo pacman -Rns linux-firmware
\end{lstlisting}
\newpage
%-------------------------------------------------------------------------------
% Section: Befehle
+2 -2
View File
@@ -59,8 +59,8 @@ uws@tux>ip a
.
.
uws@tux># IPv6 = -6 and show only device wlan0
uws@tux>ip -4 a wlan0
uws@tux># IPv6 = -6
uws@tux>ip -o -4 a
uws@tux># List inet values
uws@tux>ip -f inet a s
+39
View File
@@ -0,0 +1,39 @@
\section{IPv6}
\begin{justify} % Blocksatz
Eine IPv6 Adresse ist 128 bit lang. Dier ersten 64 bit ist das {\ttfamily Präfix} und die letzten 64 bit das {\ttfamily Interface-Identifier}. Die IPv6 Adresse besteht aus 8 Blöcken zu je 4 Stellen. Die Blöcke werden mit einem {\ttfamily Doppelpunkt} voneinenader getrennt, wie in diesem Beispiel zu sehen: \\ fda4:34ae:228b:dfba:02c4:88a2e:0370:7344. \\
Die ersten 64bit bestehen aus dem Präfix, Global ID und der Subnet ID. Die Global ID und Subnet ID kann selbst festgelegt werden.
\begin{itemize}
\item Präfix: 20
\item Global ID: 99bc7ec715
\item Subnet ID: 4260
\item IPv6: 2099:bc7e:c715:4260::/64
\end{itemize}
Die Werte werden in Hexadezimal angegeben.
\begin{itemize}
\item Innerhalb eines Blocks dürfen führende Nullen ausgelassen werden. \\
Aus 2001:0db8:0000:08d3:0000:8a2e:0070:7344 kann man auch 2001:db8:0:8d3:0:8a2e:70:7344
\item Ein oder mehrere aufeinander folgenden Blöcke, deren Wert 0 bzw. 0000 beträgt, dürfen ausgelassen werden. Dies wird durch zwei Doppelpunkte angezeigt. Diese Regel darf nur einmal durchgeführt werden. Die IP-Adresse 2001:db8:0:0:0:0:1428:57ab kann auch 2001:db8::1428:57ab geschrieben werden.
\item Die Reduktion der IPv6 Adresse darf nur einmal durchgeführt werden. \\
Die Adresse 2001:0db8:0:0:835:0:0:0 darf entwerde zu 2001:db8:0:0:8d4:: oder zu 2001:db8:::8d3:0:0:0 gekürzt werden. Es empfiehlt sich, die Gruppe mit den meisten Null-Blöcken zu kürzen.
\end{itemize}
%-------------------------------------------------------------------------------
% Subsection: Netz_Notation
%-------------------------------------------------------------------------------
\subsection{Netz Notation}
IPv6-Netzwerke werden in der CIDR-Notation aufgeschrieben. Dazu werden die erste Adresse und die Länge des Präfixes in Bits getrennt durch einen Schrägstrich notiert. Hier nun ein Beispiel: \\
2001:0db8:1234::/48 steht für den Range 2001:0db8:1234:0000:0000:0000:0000:0000 \\
bis 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff.
%-------------------------------------------------------------------------------
% Subsection: Private IPv6
%-------------------------------------------------------------------------------
\subsection{Private IPv6}
Eine Private IPv6 Adresse fängt mit {\ttfamily fd} an. Das Präfix {\ttfamily fc} ist für global zugewiesene, eindeutige ULA reserviert.
%-------------------------------------------------------------------------------
% Subsection: URI_Notation
%-------------------------------------------------------------------------------
\subsection{URI Notation}
In einem Browser wird die IPv6 Adresse in eckigen Klammern gesetz, das verhindert die fälschliche Interpretation von Portnummern. \\
https://[2001:0db8:85a3:08d3::0370:7344]/ \\
Mit der Angabe einer Port Nummer: \\
https://[2001:0db8:85a3:08d3::0370:7344]:8080/
\end{justify}
+1
View File
@@ -23,3 +23,4 @@
\newpage
\input{Kapitel5/NetzwerkCheck}
\input{Kapitel5/Netzwerkzugriffe}
\input{Kapitel5/IPv6}
+4
View File
@@ -51,7 +51,10 @@ In der nachfolgenden Tabelle sind einige Optionen f"ur iperf und auch iperf3 auf
\verb|-|w, \verb|--|windows \verb|[k][m]| & TCP Window size\\
\verb|-|l, \verb|--|len \verb|[k][m]| & Length of Buffer to read/write default 8k\\
\end{longtable}
\newpage
\begin{justify}
Der Nachfolger von iperf ist iperf3.
\end{justify}
\listBash
\begin{lstlisting}[captionpos=b, caption=Iperf3 Server start]
uws@tux1>iperf3 -s
@@ -201,6 +204,7 @@ today 18.77 MiB | 88.16 MiB | 106.93 MiB | 18.69 kbit/s
----------------------+-------------+-------------+---------------
estimated 33.78 MiB | 158.68 MiB | 192.47 MiB |
\end{lstlisting}
\newpage
Ausgabe in einer Datei.
\listBash
\begin{lstlisting}[captionpos=b, caption=Ausgabe Datei]
+19 -2
View File
@@ -1,9 +1,9 @@
\section{Ping}
\begin{justify}
\subsection{IP-Range durchsuchen}
\begin{justify}
Ausgeben von erreichbaren Ger"aten.
\listBash
\begin{lstlisting}[captionpos=b, caption=Ping, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=Ping]
root@tux>for i in $(seq 10 30); do ping -c 1 "192.168.30.$i" | grep "bytes from"; done
64 bytes from 192.168.30.10: icmp_seq=1 ttl=64 time=39.8 ms
64 bytes from 192.168.30.20: icmp_seq=1 ttl=255 time=1.50 ms
@@ -22,4 +22,21 @@ Oder mit dem Befehl:
\begin{lstlisting}[captionpos=b, caption=sysctl]
uws@tux>sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
\end{lstlisting}
%===============================================================================
% Subsection: Ping als User
%===============================================================================
\subsection{Ping als User}
Führt man ein {\ttfamily ping} als normaler User aus und es kommt dann die folgende Fehlermeldung: \\
ping: socket: Die Operation ist nicht erlaubt \\
ping: fehlende cap\verb|_|net\verb|_|raw+p Fähigkeit oder setuid? \\
Die Lösung ist, das man mit {\ttfamily setcap} den fehlenden Parameter setzt.
\listBash
\begin{lstlisting}[captionpos=b, caption=Setcap]
uws@tux>sudo setcap cap_net_raw+p /usr/bin/ping
uws@tux># Check
uws@tux>sudo getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep
\end{lstlisting}
\end{justify}
+5 -1
View File
@@ -15,10 +15,14 @@ root@tux># run single command
root@tux>arch-chroot /mnt/new/root mkinitcpio -p linux54
\end{lstlisting}
\listBash
\begin{lstlisting}[captionpos=b, caption=Chroot hand]
\begin{lstlisting}[captionpos=b, caption=Chroot Hand]
root@tux>mkdir -p /mnt/new/root
root@tux>mount /dev/sdxx /mnt/new/root
root@tux># Für BTRFS Systeme
root@tux>mount /dev/sdxx /mnt/new/root -o subvol=@
root@tux># Für EFI
root@tux>mount /dev/sdxx /mnt/new
root@tux>cd /mnt/new/root
root@tux>mount -t proc proc proc/
+2 -4
View File
@@ -2,7 +2,7 @@
\begin{justify}
Informationen "uber die CPU stehen in {\ttfamily /proc/cpuinfo}.
\listBash
\begin{lstlisting}[captionpos=b, caption=CPU Info, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=CPU Info]
uws@tux>cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
@@ -10,18 +10,16 @@ cpu family : 6
model : 26
model name : Intel® Xeon® CPU X5550 @ 2.67GHz
.
.
\end{lstlisting}
Auch mit dem Befehl {\ttfamily lscpu} kann man sich Informationen
"uber die CPU's anzeigen lassen.
\listBash
\begin{lstlisting}[captionpos=b, caption=CPU Info, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=CPU Info]
uws@tux>lscpu
Architecture: i686
CPU op-mode(s): 32bit, 64bit
Byte Order: Little Endian
CPU(s): 2
.
.
\end{lstlisting}
\end{justify}
+1
View File
@@ -48,6 +48,7 @@
\newpage
\input{Kapitel8/Benachrichtigungen}
\input{Kapitel8/Kernel}
\newpage
\input{Kapitel8/Chroot}
\input{Kapitel8/Samba}
\input{Kapitel8/DisplayServer}
+3
View File
@@ -116,11 +116,14 @@ root@tux>timedatectl status
NTP synchrinized: yes
RTC in local TZ: yes
\end{lstlisting}
\newpage
%-------------------------------------------------------------------------------
% Section: Anzeigen Journal / Filtern
%-------------------------------------------------------------------------------
\subsection{Anzeigen Journal / Filtern}
\begin{justify}
Wird {\ttfamily journalctl} ohne Optionen aufgerufen, so werden alle Eintr"age zur Laufzeit und dem letzten Reboot angezeigt. Bei jedem Neustart des Rechners wird die Zeile {\ttfamily \verb|--| Reboot \verb|--|} angezeigt. Nur Error Meldungen kann man sich mit {\ttfamily -p err} anzeigen lassen. Es werden alle Meldungen angezeigt, nicht nur die letzten nach einem Reboot.
\end{justify}
\listBash
\begin{lstlisting}[captionpos=b, caption=Boot Errors]
uws@tux>sudo journalctl -b -p err
+25 -5
View File
@@ -3,14 +3,14 @@
\begin{justify}
Mit dem Dienst {\ttfamily NTP} (\underline{N}etwort \underline{T}ime \underline{P}rotocol) ist es m"oglich, einen Zeitserver auf zusetzten. Ist auf dem Rechner der Dienst {\ttfamily ntp} konfiguriert, so kann man mit den nachfolgenden Befehlen Informationen "uber die Zeitsynchronisation abfragen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation abfragen, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation abfragen]
uws@tux>ntpq -p
uws@tux>watch ntpq -np
\end{lstlisting}
Der Dienst {\ttfamily ntp} kann manuell gestartet werden, um eine Synchronisation mit den Zeitservern vorzunehmen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation starten, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=Zeitsynchronisation starten]
uws@tux>/etc/init.d/ntpd [start] [restart] [force-reloaded] [status] # for init startup
uws@tux>sudo systemctl restart ntpd # for systemD
@@ -19,7 +19,7 @@ uws@tux>service ntpd force-reloaded # for oracle linux
\end{lstlisting}
Die Systemzeit sollte bei jedem Starten und Herunterfahren des Rechners in die Realtime Clock des Rechners geschrieben werden. Falls das nicht geschieht, so kann man dieses mit dem Befehl {\ttfamily hwclock} vornehmen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Realtime Clock, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=Realtime Clock]
uws@tux>hwclock --show
uws@tux>hwclock --systohc
@@ -28,7 +28,7 @@ uws@tux>hwclock --help
\end{lstlisting}
In der Datei {\ttfamily /etc/ntp.conf} werden die abzufragenden Zeitserver eingetragen. Sind mehrere Zeitserver konfiguriert, so kann man mit {\ttfamily prefer} einen bevorzugten Zeitserver definieren.
\listBash
\begin{lstlisting}[captionpos=b, caption=Zeitserver, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=Zeitserver]
------schnipp------
server <zeitserver1> prefer}
server <zeitzerver2>
@@ -37,7 +37,7 @@ server <zeitzerver3>
\end{lstlisting}
Der Client kann sich die Uhrzeit auch manuell von dem Zeitserver holen. Hierzu wird in der Console der Befehl {\ttfamily ntpdate} genommen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Zeitserver kontaktieren, label=lst:bash]
\begin{lstlisting}[captionpos=b, caption=Zeitserver kontaktieren]
uws@tux>sudo ntpdate <zeitserver>
\end{lstlisting}
Folgende Zeitserver gibt es im Internet und k"onnen verwendet werden. Es ist nur eine Auswahl an Zeitservern.
@@ -65,4 +65,24 @@ Folgende Zeitserver gibt es im Internet und k"onnen verwendet werden. Es ist nur
\end{tabular}
\caption{Zeitserver (Auswahl)}
\end{table}
\newpage
%===============================================================================
% Subsection: Zeitzone
%===============================================================================
\subsection{Zeitzone}
Die Anzeige der Zeitzone und das setzten einer neuen Zeitzone wird mit dem Programm {\ttfamily timedatectl} gemacht.
\listBash
\begin{lstlisting}[captionpos=b, caption=Timedatectl]
uws@tux>timedatectl
Local time: Mi 2025-10-08 11:08:42 CEST
Universal time: Mi 2025-10-08 09:08:42 UTC
RTC time: Mi 2025-10-08 09:08:42
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
uws@tux># Setting new timezone
uws@tux>sudo timedatectl set-timezone Europe/Berlin
\end{lstlisting}
\end{justify}
+2 -2
View File
@@ -185,8 +185,8 @@ dem Remote System ohne Passwort anmelden. Kann gut in Scripte verwendet werden.
uws@tux>ssh-keygen -t rsa -b 4096 -f ~/.ssh/Remote1.rsa -C "Remote1 connection"
\end{lstlisting}
-t => Typ des Schl"ussels, hier RSA\\
-b => L"ange des Schl"ussels, hier 4096 Bits. Je l"anger, desto schwerer zu entschl"usseln.
-f => Name der Schlüsseldatei
-b => L"ange des Schl"ussels, hier 4096 Bits. Je l"anger, desto schwerer zu entschl"usseln.\\
-f => Name der Schlüsseldatei\\
-C => Kommentar
%-------------------------------------------------------------------------------
% Subsection: SSH Key send
BIN
View File
Binary file not shown.
+561 -542
View File
File diff suppressed because it is too large Load Diff