Auf einem Arbeitsplatz-Rechner sorgt der
Network Manager für eine bestmögliche
Verbindung zum Internet, entweder per Ethernet oder über ein Funknetz.
Unter Gnome kann man Verbindungen über das Kontextmenü in der
oberen rechten Ecke bearbeiten. Auf der Kommandozeile konfiguriert
man Verbindungen mit nmcli(1)
oder nmtui(1)
.
Der NSS legt fest, in welcher Reihenfolge verschiedene Datenbanken befragt werden. Die erste Anlaufstelle ist meist die lokale Hosts-Datei gefolgt vom DNS. Ein sogenanter Recursive Resolver hangelt sich, beginnend bei einem der Root-Nameserver, bis zum für die Domäne zuständigen authoritativen Nameserver durch und merkt sich die Antworten.
Für die Datenbank hosts
stehen folgende
Service-Module zur Verfügung:
files
/etc/hosts
)nis, nisplus
myhostname
/etc/hostname
) sowie localhost
und _gateway
mymachines
systemd-nspwan
)mdns
.local
Domäne (avahi-autoipd
)resolve
systemd-resolved
)dns
/etc/resolv.conf
)Der Kernel stellt die verfügbaren Geräte unter
/sys/class/net
zur Verfügung. Der
udev(7)
Daemon benennt diese nach folgemdem Schema:
Präfix | Controller | Beispiel | Verwendung |
---|---|---|---|
lo | Loopback (virtuelles Schleifengerät) | ||
en | Ethernet (kabelgebundener RJ45-Adapter) | ||
oNumber | eno1 | On-board (oft bei Servern) | |
sSlot | ens1 | Hotplug-Slot | |
pBussSlot | enp0s25 | PCI-Bus (0000:00:19) | |
xMacAddress | enx23ee4711d34f | Hardware-Addresse | |
wl | pBussSlot | wlp4s0 | Wireless (drahtloses Funknetz) |
ww | pBussSlot… | wwp0s2… | Wide Area (SIM-Karte) |
br | br0 | Bridge (Punkt-zu-Punkt Verbindung) | |
tun | Number | tun0 | Tunnel (VPN) |
ve- | Name | ve-bullseye | Virtuelle Maschine |
Um die klassischen Namen wie eth0
zu reaktivieren,
gibt man auf der Kommandozeile des Kernels net.ifnames=0
an.
Individuelle Namen wie dmz0
kann man über persistente Regel
vergeben:
/etc/udev/rules.d/70-persistent-net.rulesSUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="dmz0"
Hardware-Einstellungen des Ethernet-Adapters ausgeben
ethtool eno1
Wake-on-LAN ausschalten
ethtool --change eno1 wol d
Mit dem Kommando ip
konfiguriert man Adressen und
Routen manuell. Auf einem PC oder Server übernehmen Pakete wie
ifupdown
,
systemd-networkd
oder
network-manager
diese Aufgabe.
ip link1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue… link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Jedem Adapter lassen sich eine oder mehrere Adressen zuordnen.
ip address1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue… link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo
In der ARP-Tabelle sammelt er die Zuordnung von IP- zu MAC-Adressen.
ip neighbour10.0.0.1 dev eno1 lladdr de:ad:ca:fe:ba:be REACHABLE
Die Routing-Tabelle steuert, welchen Weg Pakete durch das Netzwerk nehmen.
ip routedefault via 10.0.0.1 dev eno1 metric 1024
Auf einem Gateway mit mehreren Schnittstellen gibt es auch mehr Routen:
ip route default via 10.0.0.1 dev eno1 10.0.0.0/24 dev eno1 proto kernel scope link src 10.0.0.2 10.0.0.0/24 dev eno2 proto kernel scope link src 10.0.0.1 10.8.0.0/24 via 10.8.0.2 dev tun0 10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
Wenn der Kernel ein Paket empfängt oder sendet, durchläuft es eine
Reihe von Filtern. Lokal zugestellte Pakete durchlaufen die Tabelle
INPUT
; lokal gesendete Pakete durchlaufen die Tabelle
OUTPUT
; und durchgeleitete Pakete die Tabelle
FORWARD
. Die Tabellen PREROUTING
und
POSTROUTING
werden hauptsächlich für
NAT
verwendet.
Mit iptables(8)
erstellt oder ändert man die Regeln.
Befehl | Option | Parameter | Beschreibung |
---|---|---|---|
iptables | [-t] | filter|nat|mangle|raw|security | Tabelle |
-A | INPUT|OUTPUT|FORWARD |PREROUTING|POSTROUTING | Anhängen an Kette | |
[-i] | eno1|ppp0|… | Eingehende Schnittstelle | |
[-o] | eno1|ppp0|… | Ausgehende Schnittstelle | |
[-p] | tcp|udp|icmp|…|all | Protokoll | |
[-s] | SourceAddr[/Mask] | Client-Adresse | |
[-d] | DestAddr[/Mask] | Server-Adresse | |
-j | ACCEPT|DROP|RETURN | Aktion |
Die meisten WLAN-Adapter benötigen nicht-freie Firmware.
apt install firmware-{realtek,atheros,…} rfkill iw wpasupplicant hostapd
Ein sogenannter Kill Switch kann den Funkverkehr vollständig unterbinden.
rfkill unblock all
Die Drahtlosnetzwerke in der näheren Umgebung auflisten.
iw list
Die Zugangsdaten für den Client hinterlegt man in der Netzwerk-Konfiguration.
/etc/network/interfacesallow-hotplug wlp1s0 iface wlp1s0 inet dhcp wpa-driver wext wpa-ssid Name wpa-psk Password
Ein
WiFi Access Point benötigt einen
WLAN-Adapter mit
AP Funktion.
Der Access Point Daemon startet automatisch, sobald der
WLAN-Adapter
eingesteckt oder eingeschaltet wurde und die Schnittstelle wlp1s0
verfügbar ist.
/etc/network/interfaces… # wireless USB dongle allow-hotplug wlp1s0 iface wlp1s0 inet static hostapd /etc/hostapd/hostapd.conf address 192.168.24.7 netmask 255.255.255.0 # bridge to LAN auto br0 iface br0 inet static address 10.0.0.1 netmask 255.255.255.0 bridge_ports eno1
Er nimmt Anmeldungen entgegen und authentifiziert die Kommunikationspartner.
/etc/hostapd/hostapd.confinterface=wlp1s0 ssid=Name bridge=br0 driver=nl80211 channel=11 wpa=3 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP wpa_passphrase=Password
Angemeldete Stationen erhalten ihre Adressen per DHCP.
/etc/dnsmasq.confinterface=wlp1s0 dhcp-range=wlp1s0, 192.168.24.210, 192.168.24.253, 255.255.255.0,12h
Damit angemeldete Stationen auf das lokale Netzwerk zugreifen und im Internet surfen können, muß man im Kernel Forwarding aktivieren und schließlich die Schnittstelle starten.
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf sysctl -p ifup wlp1s0
Für Penetrationstests eignet sich das Programm pyrit
.