Praxis TCP/IP Kursnotizen

1 Tag 1

Einführung
Praxis

1.1 Hardware. Kernel und L1/L2

  • Kernel und Module
lspci | egrep -i Net

lspci -s 00:19:0 -v
lspci -s 00:19:0 -k

lsmod
modinfo e1000e
  • Abgebildete Interfaces
ifconfig # bitte nicht mehr

ip l     # ip link show
  • ethtool
ethtool enp0s25    # show link state and negotiation
ethtool -p enp0s25 # watch the blinken lights
ethtool -i enp0s25 # kernel modules and firmware
ethtool -S enp0s25 # stats. too much information
ethtool -S enp0s25 | egrep "fail|drop|coll|err"
  • Adressen
ifconfig enp0s25          # bitte nicht mehr
ip ad sh dev enp0s25      # ip addr show dev enp0s25
ip a                      # shows all ip addr show
ip a --br --color         # brief and color view
ip -s ad sh dev eth0      # with statistics
  • localhost Adressen auf dem loopback Device
ip ad sh dev lo
  • arp
arp -n      # numerisch
arp -d <ip> # delete
arp -s ...  # set static

ip -4 n     # ip neigh show
ip n f all  # ip neigh flush all (auch arp)
  • ping
ping 127.0.0.1
ping ::1            # loopback/localhost
ping 192.168.1.222  # eigene Adressen
ping 192.168.1.223  # lokaler Host im eigenen Netz
ping 9.9.9.9        # remote Host

1.2 Übungen

  • Löschen Sie Ihren arp-cache
  • Suchen Sie sich einen Nachbarn Einer bleibt passiv, der andere pingt. Prüfen Sie beide den arp-cache
  • Pingen Sie ein entfertes Ziel Prüfen Sie den arp-cache
  • Wiederholen Sie das mit einem anderen Ziel Was passiert?

1.2.1 Lösung

arp -n              # cache
ip -4 neigh show    # mit iproute2
ip -4 n             # shortcut
ip n f all          # shortcut for flush all
ping 192.168.1.222  # ping lokal
ping 9.9.9.9        # ping remote
ip -4 neigh show
  • Im Arp befinden sich die MAC-Adressen der Teilnehmer.
  • Für die externen Adressen finden wir die MAC Adresse des Gateways

1.3 Wireshark und tcpdump/dumpcap

1.4 Übung 1

  • capture zwei pings (ping -4). Leere vorher den neigbor cache.
  • Analysiere mit Hilfe der Display-Filter die Kommunikation
    Tipp: arp, icmp
    • vor allem hinsichtlich Quellen und Zielen
    • L2 vs. L3
  1. intern
    • D.h. auf einen Rechner im eigenen LAN-Segment
  2. extern
    • auf eine externe Adresse

1.4.1 Lösung

  • bei externen Zielen unterscheiden sich die Quellen und Ziele auf L2 und L3
    • L2: default gateway
    • L3: end-to-end

1.5 Adressen

  • RfC 1918
  • Netzklassen, Netzmasken und CIDR

1.6 Routing

  • Kernel Routing Tabelle
netstat -r  # obsolet BSD
route -n    # obsolet IPv6 schlecht
ip r
  • Adresse setzen
ifconfig enp0s25 10.11.12.13 netmask 255.255.255.0 # keine gute Idee
ifconfig enp0s25:0 10.11.12.13/24 # CIDR and alias

ip addr add dev enp0s25 10.11.12.13/24 # besser

ip addr add dev enp0s25 fd0a:b:affe::25/64 # IPv6

arp -n  # kein arp mehr
ip neig # aber neighbor

1.7 Übung 2

  • capture mit wireshark ein traceroute. (ICMP basiert) (traceroute -I)
    (Wer sich langweilt, kann auch tracepath versuchen)
  • Analysiere mit Hilfe der Display-Filter die Kommunikation
    Tipp: arp, icmp, dns
  • Was ist der Trick?

1.7.1 Lösung

  • die TTL wird stufenweise erhöht
  • dadurch erzeugen Router eine ICMP-Fehlermeldung
  • damit “verraten” sie ihren Standort
  • DNS vor und zurück zur Auflösung des Hostnamens

2 Tag 2

Praxis

2.1 Diagnose und Debugging

ping google.de
ping -c 5 -s $((1500-28)) -M do google.de # mit DF (don't fragment) und MTU 1500
traceroute -I www.fm # ICMP traceroute
tracepath www.fm
mtr www.fm

2.2 Routing

  1. Bridges
  2. VMs einrichten
  3. Netzwerkkonfiguration mit systemd-networkd
  4. Dynamisches Routing mit frr ospfd

2.3 NAT und Masquerading

2.3.1 Übung

  • VM1 Masqueraden
    • Manuell
    • Persistent als Systemdienst

3 Tag 3