Skip to content

Wichtig Netzwerkbefehle

Linux
  • Wenn man Server aufsetzt und Domainnamen zuweisen muss, kommt man immer wieder in Verlegenheit verschiedene Netzwerkeigenschaften zu testen. Das hier sollte jeder von Euch kennen.

    ping 8.8.8.8
    ping www.google.com
    

    Gibt uns so was zurück

    frank@frank-MS-7C37:~$ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) Bytes Daten.
    64 Bytes von 8.8.8.8: icmp_seq=1 ttl=113 Zeit=19.1 ms
    64 Bytes von 8.8.8.8: icmp_seq=2 ttl=113 Zeit=18.7 ms
    64 Bytes von 8.8.8.8: icmp_seq=3 ttl=113 Zeit=16.9 ms
    ^C
    --- 8.8.8.8 ping statistics ---
    3 Pakete übertragen, 3 empfangen, 0% Paketverlust, Zeit 2002ms
    rtt min/avg/max/mdev = 16.936/18.249/19.122/0.945 ms
    

    Nun wissen wir, das an der angegebenen IP ein Server antwortet. Das selbe mit IPv6

    frank@frank-MS-7C37:~$ ping 2001:4860:4860::8888
    PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 Datenbytes
    64 Bytes von 2001:4860:4860::8888: icmp_seq=1 ttl=114 Zeit=20.1 ms
    64 Bytes von 2001:4860:4860::8888: icmp_seq=2 ttl=114 Zeit=18.7 ms
    64 Bytes von 2001:4860:4860::8888: icmp_seq=3 ttl=114 Zeit=15.9 ms
    ^C
    --- 2001:4860:4860::8888 ping statistics ---
    3 Pakete übertragen, 3 empfangen, 0% Paketverlust, Zeit 2002ms
    rtt min/avg/max/mdev = 15.872/18.207/20.063/1.744 ms
    

    Jetzt kommt es vor, das man den Domainnamen umgestellt hat, die Änderung im Internet aber etwas dauert. Wenn man schauen will, auf welchen Server der Domainname verweist, macht man folgendes.

    frank@frank-MS-7C37:~$ dig forum.frank-mankel.org
    
    ; <<>> DiG 9.16.1-Ubuntu <<>> forum.frank-mankel.org
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37120
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 65494
    ;; QUESTION SECTION:
    ;forum.frank-mankel.org.		IN	A
    
    ;; ANSWER SECTION:
    forum.frank-mankel.org.	208	IN	A	136.243.29.254
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.53#53(127.0.0.53)
    ;; WHEN: Fr Sep 24 19:57:18 CEST 2021
    ;; MSG SIZE  rcvd: 67
    

    Wichtig ist das hier

        ;; ANSWER SECTION:
        forum.frank-mankel.org.	208	IN	A	136.243.29.254
    

    Das zeigt uns, auf welchen Server der Domainname verweist. Nun mal mit IPv6

    frank@frank-MS-7C37:~$ dig forum.frank-mankel.org AAAA
    
    ; <<>> DiG 9.16.1-Ubuntu <<>> forum.frank-mankel.org AAAA
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29154
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 65494
    ;; QUESTION SECTION:
    ;forum.frank-mankel.org.		IN	AAAA
    
    ;; ANSWER SECTION:
    forum.frank-mankel.org.	600	IN	AAAA	2a01:4f8:160:5339::254
    
    ;; Query time: 40 msec
    ;; SERVER: 127.0.0.53#53(127.0.0.53)
    ;; WHEN: Fr Sep 24 20:01:06 CEST 2021
    ;; MSG SIZE  rcvd: 79
    

    Jetzt hat man manchmal eigene DNS-Server aufgesetzt und muss das kontrollieren, das geht so. Hier am Beispiel Google.

    frank@frank-MS-7C37:~$ dig @8.8.8.8 forum.frank-mankel.org
    
    ; <<>> DiG 9.16.1-Ubuntu <<>> @8.8.8.8 forum.frank-mankel.org
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 459
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;forum.frank-mankel.org.		IN	A
    
    ;; ANSWER SECTION:
    forum.frank-mankel.org.	600	IN	A	136.243.29.254
    
    ;; Query time: 24 msec
    ;; SERVER: 8.8.8.8#53(8.8.8.8)
    ;; WHEN: Fr Sep 24 20:03:17 CEST 2021
    ;; MSG SIZE  rcvd: 67
    

    Wichtig ist hier folgendes

    ;; SERVER: 8.8.8.8#53(8.8.8.8)
    

    zeigt uns, das die Anfrage von diesem Server beantwortet wurde. Alle anderen, siehe oben, wurden von diesem Server beantwortet.

    ;; SERVER: 127.0.0.53#53(127.0.0.53)
    

    Was war noch wichtig, beim Erstellen meiner Server auf dem Proxmox 🤔 Ports sind noch ein wichtiges Thema. Dazu kann man nmap benutzen. Das scannt die angegebene Adresse nach offene Ports ab.

    root@webserver1-php:~# nmap 136.243.29.254
    Starting Nmap 7.80 ( https://nmap.org ) at 2021-09-24 20:15 CEST
    Nmap scan report for static.254.29.243.136.clients.your-server.de (136.243.29.254)
    Host is up (0.00018s latency).
    Not shown: 996 filtered ports
    PORT     STATE SERVICE
    22/tcp   open  ssh
    80/tcp   open  http
    443/tcp  open  https
    4567/tcp open  tram
    
    Nmap done: 1 IP address (1 host up) scanned in 5.15 seconds
    

    Ok, 4567 muss nicht auf sein. Direkt mal ändern, in meinen Firewall Einstellungen, war der Zugriff auf den Port erlaubt(?). Vermutlich vom Testen, irgendwann mal übergeblieben. Die beiden Zeilen gelöscht und iptables neu geladen. (editiert am 25.9.21)

            $IP4TABLES -A INPUT -p tcp --dport 4567 -j ACCEPT
            $IP6TABLES -A INPUT -p tcp --dport 4567 -j ACCEPT
    

    Danach Kontrolle.

    root@webserver1-php:~# nmap 136.243.29.254
    Starting Nmap 7.80 ( https://nmap.org ) at 2021-09-24 20:24 CEST
    Nmap scan report for static.254.29.243.136.clients.your-server.de (136.243.29.254)
    Host is up (0.00021s latency).
    Not shown: 997 filtered ports
    PORT    STATE SERVICE
    22/tcp  open  ssh
    80/tcp  open  http
    443/tcp open  https
    
    Nmap done: 1 IP address (1 host up) scanned in 5.14 seconds
    

    Jetzt ist schön 😊

    Wie kann man denn einen Dienst testen? Dazu kann man telnet benutzen.

    root@webserver1-php:~# telnet 136.243.29.254 80
    Trying 136.243.29.254...
    Connected to 136.243.29.254.
    Escape character is '^]'.
    

    Das hier zeigt uns einen Verbindungsversuch auf Port 80 (http), dieser Versuch war erfolgreich. Ein erfolgloser Versuch, sieht so aus.

    root@webserver1-php:~# telnet 136.243.29.254 4567
    Trying 136.243.29.254...
    telnet: Unable to connect to remote host: Connection refused
    

    Das kann nun mehrere Ursachen haben

    • iptables blockt den Port
    • der Dienst ist gar nicht gestartet, oder mit Fehler ausgestiegen usw.

    Zum Schluss noch einen traceroute. Ein traceroute zeigt uns den Weg zum Server.

    root@webserver1-php:~# traceroute 8.8.8.8
    traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
     1  static.xxx.xx.243.136.clients.your-server.de (136.243.xx.xxx)  0.053 ms  0.031 ms  0.023 ms
     2  static.129.9.9.5.clients.your-server.de (5.9.9.129)  0.352 ms  0.390 ms  0.376 ms
     3  * * *
     4  core1.fra.hetzner.com (213.239.229.77)  4.821 ms core1.fra.hetzner.com (213.239.203.153)  17.872 ms core1.fra.hetzner.com (213.239.229.77)  12.502 ms
     5  google.peering.cz (91.213.211.170)  15.142 ms  11.622 ms  11.583 ms
     6  108.170.245.49 (108.170.245.49)  11.473 ms 108.170.245.33 (108.170.245.33)  11.683 ms 108.170.245.49 (108.170.245.49)  14.364 ms
     7  108.170.238.161 (108.170.238.161)  12.702 ms 108.170.238.157 (108.170.238.157)  11.587 ms  11.609 ms
     8  dns.google (8.8.8.8)  11.513 ms  14.383 ms  11.528 ms
    

  • Plasma 6

    Linux
    1
    0 Stimmen
    1 Beiträge
    53 Aufrufe
    Niemand hat geantwortet
  • KDE neon 6.0

    Linux
    2
    0 Stimmen
    2 Beiträge
    80 Aufrufe
    FrankMF

    Heute mal in die bestehende Installation meine Intel ARC A580 GPU eingesteckt. Wollte mal schauen ob das gut klappt. Da die Treiber ja im Kernel vorhanden sind, habe ich keinerlei Probleme erwartet. Und so war es auch. Neustart und fertig. Im BIOS natürlich vorher umgestellt, das sie auch benutzt wird, habe ja einen AMD Prozessor mit eingebauter GPU im CPU-Sockel stecken.

    Screenshot_20240303_101728.png

    Die Wechselfunktion (oben links in der Ecke) um die virtuellen Desktops zu wechseln und zu bearbeiten ist richtig gut geworden.

    Screenshot_20240303_101809.png

    Und auch ein Ärgernis auf meiner KDE Plasma Installation scheint weg zu sein. Wenn ich ein Programm zur Arbeitsfläche hinzugefügt hatte, wurde die Position immer irgendwann zurückgesetzt. Beispiel, Icon des Programmes rechts unten abgelegt. Irgendwann tauchte es dann in der normalen Ansicht (alphabetisch) sortiert, links oben, wieder auf. Sehr nerviger Bug.

  • Flatpak - Signal

    Linux
    1
    0 Stimmen
    1 Beiträge
    61 Aufrufe
    Niemand hat geantwortet
  • Firefox 122 als .deb Paket

    Linux
    1
    0 Stimmen
    1 Beiträge
    101 Aufrufe
    Niemand hat geantwortet
  • KDE Plasma 6 - RC1

    Linux
    3
    0 Stimmen
    3 Beiträge
    83 Aufrufe
    FrankMF

    Heute die letzte Unstable Edition von KDE Neon installiert. Es gab folgende Version.

    neon-unstable-20240201-2132.iso

    Meldet sich bei mir immer noch nur als DEV Version und nicht als RC2 🤔 Wenn einer einen Tipp für mich hat....

    Der Installer soll mich ja nicht mehr interessieren, aber mir ist aufgefallen, das er jetzt den Standort hinbekommt.

    Ansonsten läuft es soweit rund. Habt ihr schon mal einen Firefox ohne Addblocker benutzt? Grausam! Kann mir gar nicht vorstellen, so was in meinem Leben nochmal zu benutzen.

  • 0 Stimmen
    1 Beiträge
    116 Aufrufe
    Niemand hat geantwortet
  • Pycharm - AI Assistant

    Linux
    1
    0 Stimmen
    1 Beiträge
    83 Aufrufe
    Niemand hat geantwortet
  • ZFS - Wichtige Befehle

    Linux
    2
    0 Stimmen
    2 Beiträge
    369 Aufrufe
    FrankMF

    Unter dem Beitrag sammel ich mal ein paar Beispiele, für mich zum Nachlesen 🙂

    Den Anfang macht die

    ZFS-Replication

    Ich hatte Am Anfang ein wenig Verständnisprobleme, bis es klar war, das diese Replication von Pool zu Pool funktioniert. Also brauchen wir zwei vorhandene ZFS-Pools.

    root@pbs:/mnt/datastore/datapool/test# zfs list NAME USED AVAIL REFER MOUNTPOINT Backup_Home 222G 677G 222G /mnt/datastore/Backup_Home datapool 2.36G 1.75T 2.36G /mnt/datastore/datapool

    Wir erzeugen ein Dataset im datapool

    zfs create datapool/docs -o mountpoint=/docs

    Wir erzeugen eine Datei mit Inhalt

    echo "version 1" > /docs/data.txt

    Wir erzeugen einen Snapshot

    zfs snapshot datapool/docs@today

    Kontrolle

    root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 0B - 96K -

    Wir replizieren den vorhandenen Snapshot zum ZFS-Pool Backup_Home und speichern ihn da im Dataset test.

    zfs send datapool/docs@today | zfs receive Backup_Home/test

    Nun befinden sich die Daten in dem anderen ZFS-Pool

    root@pbs:/mnt/datastore/datapool/test# ls /mnt/datastore/Backup_Home/test/ data.txt

    Und was mich am meisten interessiert, ist wie man das zu einem anderen Server schickt 😉

    zfs send datapool/docs@today | ssh otherserver zfs receive backuppool/backup

    Den Test reiche ich dann später nach.

    Quelle: https://www.howtoforge.com/tutorial/how-to-use-snapshots-clones-and-replication-in-zfs-on-linux/

    ZFS inkrementelle Replication

    Als, nur die geänderten Daten senden!

    Wir erzeugen ein paar Dateien

    root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data1.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data2.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data3.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data4.txt

    Neuer Snapshot

    zfs snapshot datapool/docs@17:02

    Liste der Snapshots

    root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 56K - 96K - datapool/docs@17:02 0B - 112K -

    Wir senden dieinkrementelle Replication

    zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K cannot receive incremental stream: destination Backup_Home/test has been modified since most recent snapshot

    Dazu schreibt die Anleitung, die ich unten verlinkt habe, das die Daten verändert wurden. Warum, verstehe ich aktuell noch nicht. Mit -F im send Befehl erzwingt man einen Rollback zum letzten Snapshot.

    zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive -F Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K

    Und Kontrolle

    ls /mnt/datastore/Backup_Home/test/ data1.txt data2.txt data3.txt data4.txt data.txt

    Quelle: https://klarasystems.com/articles/introduction-to-zfs-replication/