linux:netzwerke

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:netzwerke [2019/02/26 17:20] – [DNS von systemd (systemd-resolved)] stlinux:netzwerke [2024/12/26 13:41] (aktuell) – [netplan] st
Zeile 1: Zeile 1:
 +====== Netzwerk unter Linux ======
 +Auf dieser Seite geht es um die Netzwerkkonfiguration von Linux-Rechnern, siehe auch:
  
 +
 +  * [[server:Server|Einrichtung von Server-diensten]].
 +  * [[Networkmanager]]
 +  * [[Ethernet Bonding Konfiguration IEEE 802.3ad (LACP)]]
 +  * [[https://de.slideshare.net/BarbarossaTM/contemporary-linux-networking|Contemporary Linux Networking]]
 +  * [[software:Netbox]] (Inventarisierung)
 +
 +===== Dateien im Netzwerk freigeben =====
 +
 +Zur Dateifreigabe/Dateiübertragung im Netzwerk hat man mehrere Möglichkeiten:
 +  - [[netzwerke:FTP]]: unverschlüsselt, verschlüsselte Variante FTPs möglich ([[wpde>FTP over SSL]])
 +  - [[Samba:Samba]] (Windows/*nix-Rechner): unverschlüsselt
 +  - [[wpde>Secure_Copy|SCP (Secure Copy)]], SSHfs oder SFTP laufen verschlüsselt über [[netzwerke:SSH]]
 +  - [[netzwerke:NFS]] (vorrangig bei *nix-Rechnern): unverschlüsselt
 +
 +
 +Die Option mit [[Security:VPN]] bzw. [[netzwerke:IPSec]] das Netz grundsätzlich abzusichern besteht natürlich zusätzlich.
 +
 +
 +===== Netzwerkkonfiguration =====
 +
 +Grundsätzlich erfolgte die Konfiguration über ''ifconfig'', bei wlan (s.u.) kann man auch mit ''iwconfig'' arbeiten. Aktuell wird der Befehl ip verwendet, ifconfig funktioniert jedoch auch noch.
 +
 +Mit dem Befehl ''netcardconfig'' kann man auf einigen Systemen arbeiten.
 +
 +**[[http://wiki.ubuntuusers.de/IP-Adresse%20wechseln|IP-Adresse wechseln]]**
 +
 +==== relevante Befehle ====
 +
 +^ Einstellung ^ Befehl(e) ^
 +| **IP-Adresse, Broadcast, Netzwerkmaske** anzeigen | <code bash>ip addr show</code> oder <code bash>ifconfig</code>|
 +| IP-Adresse hinzufügen | zweite IP: <code bash>ip addr add $IP/$Netmask broadcast $bcIP dev $device</code> oder <code bash>ifconfig $device:1 $IP netmask $SUBNET up</code> |
 +| IP-Adresse entfernen | <code bash>ip addr del $IP/$netmask dev $device</code> oder alle IPs entfernen:<code bash>ip addr flush dev $device</code> ((von allen Netzwerkkarten im System: <code bash>for i in $(ls /sys/class/net/) ; do
 +    /usr/sbin/ip addr flush $i &
 +done</code>)) |
 +| **ARP-Eintrag hinzufügen** | <code bash>ip neigh add $IP lladdr $MAC nud permanent dev $device</code> oder <code bash>arp -i $device -s $IP $MAC</code> |
 +| **Netzwerkkarten (de)aktivieren** | <code bash>ip link down $device</code> ifup, ifdown; auch ifconfig: <code bash>ifconfig $device down</code> |
 +| **Hostname** | hostname |
 +| **Standard/Defaultroute(r) oder Gateway** | <code bash>ip route show</code> oder <code bash>route -n</code> |
 +| **Route hinzufügen** | <code bash>ip route add $IP/$netmask dev $device</code> oder <code bash>route add -net $IP/$netmask dev $device</code> |
 +| **Nameserver, Domainname** | Ausgabe: <code>cat /etc/resolv.conf</code> oder eintragen in dieser Datei. :!: **Achtung**: Bei aktuellen [[linux:Linux]]-[[linux:Distributionen und Live-CDs|Distributionen]] steht dort eine IP wie 127.x.x.x. Grund ist das die historische Datei-Lösung eher ungeeignet für dynamische Wechsel von DNS-Servern ist (Wechsel ins Wlan, VPN, ...). Daher gibt es lokal fest eingetragene Resolver die nach Bedarf schnell zwischen verschiedenen DNS-Servern umschalten können. Das sind Beispielsweise der networkmanager, resolvconf oder [[software:systemd]] ((<code bash>systemd-resolve --status</code> Deaktivierung siehe [[linux:netzwerke#DNS von systemd deaktivieren]])).  |
 +| **Netzwerkschnittstellen** | Ausgabe: <code bash>ip link</code>(kurz ip l) oder mit <code bash>ifconfig -a</code>
 +| **Netzwerkschnittstellenkonfiguration** | <code>cat /etc/network/interfaces</code> bzw. ''/etc/netplan/50-cloud-init.yaml'' bei netplan (s.u.)|
 +| **Bekannte Dienste (Ports**) | Ausgabe: <code>cat /etc/services</code> |
 +| **[[Wlan]]**  | iwconfig, iwlist, iwpriv (private Parameter für wlan) |
 +
 +__Anmerkung__: der Befehl cat gibt den Inhalt der Datei aus.
 +
 +==== Benennung der Netzwerkschnittstellen =====
 +
 +Je nach Reihenfolge in der die Treiber geladen werden, werden die Netzwerkschnittstellen hochnummeriert: eth0, eth1, ... . Durch udev kann die Zuordnung abgeändert werden, dazu muss bei **früher** bei [[debian:Debian]] die Datei ''/etc/udev/rules.d/70-persistent-net.rules'' abgeändert werden. **Heutzutage** werden die Schnittstellen abhängig von [[https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/|diversen Faktoren]] benannt, z.B. enp0s3.
 +
 +Vlan-Funktionen sind im Namen durch einen Punkt abgetrennt, Aliase durch einen Doppelpunkt. 
 +
 +Diese Namen könnten sich nach größeren kernel-upgrades ändern, deshalb ist möglicherweise ein festes Schema sinnvoller. Beispiel anhand eingebauter MAC-Adressen:
 +<file>
 +# /etc/systemd/network/99-interfaces.link
 +[Match]
 +OriginalName=*
 +
 +[Link]
 +NamePolicy=mac
 +MACAddressPolicy=persistent
 +</file>
 +
 +Beispiel: Eine konkrete Netzwerkkarte mit MAC-Adresse //aa:bb:cc:dd:ee:ff// auf //eth1p1//:
 +<file>
 +[Match]
 +MACAddress=aa:bb:cc:dd:ee:ff
 +[Link]
 +Name=eth1p1
 +</file>
 +=== eth0 beibehalten ===
 +
 +Kernel-Boot-Parameter: ''net.ifnames=0 biosdevname=0'' in ''/etc/default/grub''
 +
 +
 +<code bash>
 +# debian:
 +sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=\"quiet\"/GRUB_CMDLINE_LINUX_DEFAULT=\"quiet net.ifnames=0 biosdevname=0\"/' /etc/default/grub
 +# ubuntu:
 +sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=\"\"/GRUB_CMDLINE_LINUX_DEFAULT=\"net.ifnames=0 biosdevname=0\"/' /etc/default/grub
 +update-grub
 +</code>
 +
 +==== Parsen von Schnittstelleninformationen =====
 +
 +Im Debian-Paket [[https://packages.debian.org/bullseye/moreutils|moreutils]] befindet sich "ifdata", dies kann diverse Informationen über Netzwerkschnittstellen maschinenlesbar aufbereiten:
 +<file>
 +Usage: ifdata [options] iface
 +     -e   Reports interface existence via return code
 +     -p   Print out the whole config of iface
 +    -pe   Print out yes or no according to existence
 +    -pa   Print out the address
 +    -pn   Print netmask
 +    -pN   Print network address
 +    -pb   Print broadcast
 +    -pm   Print mtu
 +    -ph   Print out the hardware address
 +    -pf   Print flags
 +    -si   Print all statistics on input
 +   -sip   Print # of in packets
 +   -sib   Print # of in bytes
 +   -sie   Print # of in errors
 +   -sid   Print # of in drops
 +   -sif   Print # of in fifo overruns
 +   -sic   Print # of in compress
 +   -sim   Print # of in multicast
 +    -so   Print all statistics on output
 +   -sop   Print # of out packets
 +   -sob   Print # of out bytes
 +   -soe   Print # of out errors
 +   -sod   Print # of out drops
 +   -sof   Print # of out fifo overruns
 +   -sox   Print # of out collisions
 +   -soc   Print # of out carrier loss
 +   -som   Print # of out multicast
 +  -bips   Print # of incoming bytes per second
 +  -bops   Print # of outgoing bytes per second
 +</file>
 +==== Wlan ====
 +
 +siehe Seite zu [[wlan]].
 +
 +
 +
 +===== Einstellungen =====
 +
 +==== DHCP (IP-Adresse dynamisch beziehen) ====
 +
 +Konfiguration mit [[netzwerke:DHCP]] (dynamische Adressvergabe, unter [[windows:Windows]] wird dies als "automatisch" bezeichnet.
 +
 +=== ifupdown2 / ifupdown2 ===
 +
 +[[netzwerke:DHCP]]-Einstellungen in der (''/etc/network/interfaces''):
 +
 +<file>
 +allow-hotplug eth0
 +iface eth0 inet dhcp
 +</file>
 +
 +
 +
 +<file>
 +allow-hotplug eth0
 +iface eth0 inet6 dhcp
 +</file>
 +
 +Wenn man seine IP mit [[netzwerke:DHCP]] aktiv beziehen möchte start man entweder den [[netzwerke:DHCP]]-Dienst (wenn man ihn installiert hat):
 +  sudo dhcpd eth0
 +oder die Clientversion, die vorhanden sein sollte:
 +  sudo dhclient eth0
 +
 +Eine komplette Videovorführung findet sich dazu auch bei [[http://www.offensive-security.com/movies/01intro/01intro.html|offensive-security.com]].
 +
 +Alternativ geht machmal auch:
 +  ifconfig eth0 dhcp start
 +
 +Status des [[netzwerke:DHCP]]-Abrufs:
 +  ifconfig eth0 dhcp status
 +IP freigeben:
 +  ifconfig eth0 dhcp release
 +
 +[[debian:Debian]]:
 +  ifconfig eth0 dynamic 
 +
 +oder der Aufruf von ''pump'' das natürlich dann installiert sein muss. 
 +
 +=== netplan  ===
 +
 +FIXME
 +
 +== de-installieren von netplan ==
 +
 +sudo apt install ifupdown2
 +sudo apt purge netplan.io
 +
 +/etc/default/grub:
 +
 +GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
 +
 +sudo update-grub
 +
 +Die Datei /etc/network/interfaces muss angelegt und konfiguriert werden.
 +=== Networkmanager  ===
 +
 +Benutzt u.a. bei RedHat / CentOS.
 +Bei Desktop-PCs werden auch oft grafische Oberflächen (wie der [[Networkmanager]]) benutzt, die dann eigene Konfigurationen haben.
 +
 +=== systemd-networkd  ===
 +
 +https://wiki.archlinux.de/title/Systemd/
 +
 +
 +==== Feste IP-Adressen ====
 +
 +Konfiguration mit einer festen IP-Adresse (unter [[windows:Windows]] wird dies als "manuell" bezeichnet).
 +
 +=== ifupdown2 / ifupdown2 ===
 +
 +Alter Befehl mit ifconfig:
 +
 +<code bash>ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up</code>
 +
 +Im obigen Bespiel wird für die erste Ethernet-Karte eth0 die IP 192.168.0.1 gesetzt, Netzmaske ist bei einem [[http://www.tcp-ip-info.de/TschiTschi/ip_adressierung.htm|Class-C Netzwerk]] standardmäßig 255.255.255.0 und die Broadcast-Adressse auch dementsprechend.
 +
 +Bei [[netzwerke:IPv6]]:<code bash>ip addr add 2a01:4e8:141:1d1::1/64 dev eth0
 +ifup eth0</code> oder <code bash>ifconfig eth0 inet6 add 2a01:4e8:141:1d1::1
 +ifconfig eth0 up</code>Das entfernen der Adresse ist mit dem Ersetzen von "add" durch "del" erledigt.
 +
 +Mit up werden die Netzwerkkartentreiber geladen, man kann sie auch später mit ''ifconfig eth0 down'' entladen und damit die Schnittstelle deaktivieren.
 +
 +
 +**Dauerhafte Einstellungen in der Datei ''/etc/network/interfaces''** ([[debian:Debian]], [[ubuntu:Ubuntu]] und darauf basierende):
 +
 +Beispiel 1: Feste IP (192.168.0.123) aus dem 192.168.0.0-Netz:
 +<file>
 +allow-hotplug eth0
 +iface eth1 inet static
 + address 192.168.0.123
 + netmask 255.255.255.0
 + network 192.168.0.0
 + broadcast 192.168.0.255
 + gateway 192.168.0.1
 + # dns-* options are implemented by the resolvconf package, if installed
 + dns-nameservers 192.168.0.1
 + dns-search local
 +</file>
 +
 +Bei [[netzwerke:IPv6]]:
 +
 +<file>
 +iface eth0 inet6 static
 + # Haupt-IPv6-Adresse des Servers
 + address 2a01:4e8:141:1d1::1
 + netmask 64
 + gateway fe80::1
 +</file>
 +
 +
 +Auf Servern kann auch anstatt ''allow-hotplug eth0'' gleich "auto eth0" eingetragen werden, damit Dienste, die sich beim Start des Rechners an eine bestimmte IP (oder eine bestimmte Schnittstelle) binden wollen, nicht beim Start fehlschlagen. Siehe [[http://www.linux-magazin.de/heft_abo/ausgaben/2006/09/starterkabel?category=0|Hotplug unter Debian, SLES 9 und RHAS 4 erweitern]].
 +
 +=== netplan ===
 +
 +Ab [[ubuntu:Ubuntu]] 18.04 wird die Netzwerkkonfiguration mit [[https://netplan.io/|Netplan]] realisiert. Hiermit kann die Konfiguration in mehrere Dateien aufgesplittet (wie vorher auch mit ''/etc/network/interfaces.d'') werden und folgt der yaml-Syntax.
 +Der [[ubuntu:Ubuntu]]-Installer legt die folgende Datei an: ''/etc/netplan/50-cloud-init.yaml'', Beispiel einer [[netzwerke:ipv6|Dual-stack-Konfiguration]]:
 +
 +<file>
 +network:
 +    ethernets:
 +        enp0s3:
 +            addresses: [192.168.0.2/24, "2a02:708:xx:xx::2/64"]
 +            gateway4: 192.168.0.1
 +            gateway6: 2a02:708:xx:xx::1
 +            dhcp4: no
 +            dhcp6: no
 +            nameservers:
 +                addresses: [8.8.8.8, "2001:4860:4860::8888"]
 +    version: 2
 +    renderer: networkd
 +</file>
 +
 +=== Networkmanager  ===
 +
 +FIXME
 +
 +=== systemd-networkd  ===
 +
 +FIXME
 +
 +https://wiki.archlinux.de/title/Systemd/
 +
 +==== zusätzliche feste IP-Adressen auf einer Karte ====
 +
 +=== ifupdown2 / ifupdown2 ===
 +
 +Zusätzliche IP-Adressen können auf einer Karte durch anhängen von ":1", ":2" usw. erzeugt werden:
 +
 +  ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
 +
 +Bei [[netzwerke:IPv6]]: <code bash>ip addr add 2a01:4e8:141:1d1::1/64 dev eth0:1</code>
 +
 +
 +**Dauerhafte Konfiguration**:
 +<file>
 +# 1. IP
 +auto eth0
 +iface eth0 inet static
 + address 192.168.0.1
 + netmask 255.255.255.0
 + network 192.168.0.0
 + broadcast 192.168.0.255
 + gateway 192.168.0.254
 + # dns-* options are implemented by the resolvconf package, if installed
 + dns-nameservers 192.168.0.2
 + dns-nameservers 192.168.0.3
 +
 +# 2. IP
 +auto eth0:1
 +iface eth0:1 inet static
 + address 192.168.1.1
 + netmask 255.255.255.0
 + network 192.168.1.0
 + broadcast 192.168.1.255
 +</file>
 +
 +=== netplan  ===
 +
 +FIXME
 +
 +=== Networkmanager  ===
 +
 +FIXME
 +
 +=== systemd-networkd  ===
 +
 +FIXME
 +
 +https://wiki.archlinux.de/title/Systemd/
 +
 +
 +==== de-installieren von netplan ====
 +
 +<code bash>sudo apt install ifupdown2
 +sudo apt purge netplan.io</code>
 +
 +/etc/default/grub:
 +<file>GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"</file>
 +<code bash>sudo update-grub</code>
 +
 +Die Datei ''/etc/network/interfaces'' muss angelegt und konfiguriert werden.
 +
 +
 +==== DNS von systemd (systemd-resolved) ====
 +
 +Aktuellen Status anzeigen: ''systemd-resolve <nowiki>--</nowiki>status''
 +
 +=== DNS-caching von systemd-resolved deaktivieren ===
 +
 +DNS-Cache löschen (temporär): ''systemd-resolve <nowiki>--</nowiki>flush-caches''
 +Caching-Statistiken: ''systemd-resolve <nowiki>--</nowiki>statistics''
 +
 +**Caching permanent deaktiveren**: ''/etc/systemd/resolved.conf'' (siehe auch: ''man 5 resolved.conf''):
 +<file>Cache=no</file>
 +''systemctl restart systemd-resolved.service''
 +
 +
 +=== manuell DNS-Server für ein Interface setzen ===
 +
 +Beispiel: eth0 mit DNS-Server 192.168.88.22:
 +
 +''sudo systemd-resolve --interface eth0 --set-dns 192.168.88.22 --set-domain yourdomain.local''
 +
 +=== systemd-resolved deaktivieren ===
 +
 +Bei Serversystemen kann die Abstraktion durch systemd nicht gewünscht oder störend wirken.
 +So kann der  systemd-resolved-service deaktiviert werden:
 +
 +<code bash>systemctl stop systemd-resolved.service
 +systemctl disable systemd-resolved.service
 +rm /etc/resolv.conf     # (weil nun broken link auf ../run/systemd/resolve/stub-resolv.conf)
 +</code>
 +
 +Neue /etc/resolv.conf anlegen:
 +<file>
 +nameserver 8.8.4.4
 +nameserver ...
 +</file>
 +
 +
 +==== nscd ====
 +
 +nscd "Name service caching daemon" wurde bei einigen Distributionen eingesetzt (Ubuntu 16.04, ...). Dabei werden Zugriff auf die /etc/passwd, /etc/group und /etc/hosts via Systemfunktionen abgefangen.
 +
 +Config: /etc/nscd.conf
 +
 +
 +==== Standardroute ====
 +**Standardroute** vergeben:
 +
 +<code bash>route add default gw 192.168.0.254</code>
 +Hier als Beispiel ein Router (ins Internet) mit der IP 192.168.0.254 angegeben.
 +
 +Bei [[netzwerke:IPv6]]: <code bash>ip -6 route add default via 2a01:3e8:22:1200::1 dev eth0</code> oder <code>route --inet6 add default gateway 2a01:3e8:22:1200::1</code>
 +
 +
 +==== Route für ein Subnetz ====
 +
 +In manchen Fällen kennt das Standard-Gateway die passende Route nicht, man möchte diese dort hinterlegen oder gezielt übergehen.
 +
 +Beispiel: Das Netz 192.168.3.0 (Netzmaske 255.255.255.0) ist hinter dem Router 192.168.2.2 zu erreichen:
 +<code bash>route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 eth0</code>
 +
 +Equivalent in ipv6 (Netz 2001:41d0:1000:1234:ffff:ffff:ffff:ffff soll via Router 2a01:1234:1234:1234::1 erreicht werden):
 +<code bash>ip -6 route add 2001:41d0:1000:1234:ffff:ffff:ffff:ffff via 2a01:1234:1234:1234::1 dev eth0</code>
 +
 +==== Nameserver / DNS (glibc) ====
 +
 +Den **Nameserver** trägt man in der Datei ''/etc/resolv.conf'' im Format
 +<file>nameserver 192.168.0.254</file>
 +ein. Hier muss natürlich die richtige IP-Adresse eingetragen werden.
 +
 +Bei neueren (eher desktop)-Systemen findet sich dort ein Verweis auf 127.0.0.53, was auf das lokal laufende ''systemd-resolve <nowiki>--</nowiki>status'' verweist.
 +
 +==== IP für ausgehende Verbindungen ändern ====
 +
 +IP für ausgehende Verbindungen ändern (wenn mehrere IPs konfiguriert sind)
 +
 +Vorher:
 +
 +  ip route
 +
 +<file>
 +10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.2
 +default via 10.0.0.1 dev eth0
 +</file>
 +
 +Default Route erweitern:
 +
 +  ip route change default via 10.0.0.1 dev eth0 src 10.0.0.3
 +
 +Nacher:
 +
 +  ip route
 +
 +<file>
 +10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.2
 +default via 10.0.0.1 dev eth0 src 10.0.0.3
 +</file>
 +
 +
 +==== Internetverbindungsfreigabe ====
 +
 +Für die Freigabe von Internetverbindungen für private Adressen aus einem angeschlossenen Netzwerk.
 +
 +Als Beispiel wird in der ersten Zeile die Weiterleitung von Paketen aktiviert und in der zweiten mit der [[security:firewalls|Firewall]] iptables die Pakete auf das Interface eth0 weitergeleitet: 
 +
 +Jeweils mit root-Rechten ausführen:
 +
 +  * für IPv4:<code bash>
 +echo "1" > /proc/sys/net/ipv4/ip_forward
 +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +</code>
 +  * für [[netzwerke:IPv6]]: <code bash>
 +echo "1" >/proc/sys/net/ipv6/conf/all/forwarding
 +ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 +</code>
 +
 +Diese Einstellungen lassen sich auch dauerhaft in der Datei ''/etc/sysctl.conf'' vornehmen:
 +
 +  * IPv4: ''net.ipv4.ip_forward=1''
 +  * [[netzwerke:IPv6]]: ''net.ipv6.conf.all.forwarding=1''
 +
 +Oder die obigen Zeilen in einem Skript unter ''/etc/network/if-up.d/'' ablegen.
 +
 +
 +  * [[http://www.howtoforge.com/internet-connection-sharing-masquerading-on-linux|komplette Einstelung (unter Redhat?)]]
 +  * [[http://www.howtoforge.com/nat_iptables|Step-By-Step Configuration of NAT with iptables]]
 +  * [[http://www.tecchannel.de/pc_mobile/tipps/2033473/linux_trick_ubuntu_pc_in_internet_router_verwandeln/index.html?r=2616205265786612&lid=105651|Ubuntu-PC in Internet-Router verwandeln mit ufw-Frontend]]
 +
 +==== MAC-Adresse ändern ====
 +
 +  ifconfig eth0 down
 +  ifconfig eth0 hw ether 00:0f:ff:ff:ff:ff
 +hier besser eine bekannte (z.B. von einer rumliegenden Netzwerkkarte) und eine sinnvolle MAC-Adresse eingeben, bei Gleichheiten im Netz gibt es Probleme.
 +
 +:!: Das Programm macchanger (auch mit grafischer Oberfläche verfügbar) hilft ebenfalls bei der Änderung:
 +
 +  /usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX ethX
 +
 +
 +Unter [[ubuntu:Ubuntu]]: Wenn man nicht ifconfig benutzen will, gibt es auch "/usr/bin/network-admin" dass man mit "gksu -u root network-admin" aufrufen kann.
 +
 +Bei Atheros-Chipsätzen: [[http://wiki.ubuntuusers.de/WLAN/MadWifi|WLAN/MadWifi]].
 +
 +==== Traffic shaping ====
 +
 +Unter "[[wpde>Traffic-Shaping|traffic shaping]]" versteht man die Begrenzung bzw. das Einteilen vorhandener Kapazitäten zur Qualitätssicherung (siehe auch [[wpde>QoS]]).
 +
 +  * [[http://www.tecchannel.de/server/linux/433070/traffic_shaping_mit_linux/index.html|Traffic-Shaping mit Linux]]
 +  * [[http://ubuntuforums.org/showthread.php?t=25911|HOWTO improving your internet connection using wondershaper]]
 +  * [[http://gentoo-wiki.com/HOWTO_Packet_Shaping|HOWTO Packet Shaping]]
 +
 +
 +
 +  * Für einen einzelnen Rechner geht es einfach: Mit **wondershaper** hängt man der Datei ''/etc/network/interfaces'' (Befehl ''sudo pico /etc/network/interfaces'') beim gewünschten Interface (hier eth0) die beiden Zeilen<file>  up /usr/sbin/wondershaper eth0 3000 350
 +  down /usr/sbin/wondershaper clear eth0</file> an. 3000 ist hier die Downloadgeschwindigkeit (in Kbit/s) und 350 die Upload-Geschwindigkeit.
 +  * [[http://wiki.ubuntuusers.de/Trickle|Trickle]] kann sowohl einzelne Programme begrenzen als auch den gesamten Netzwerkverkehr
 +  * [[http://www.tecchannel.de/server/linux/433070/index.html|Traffic-Shaping mit Linux (mit tcng)]] - [[http://linux-ip.net/code/tcng/|tcng Beispielvorlagen]] siehe auch: [[http://www.howtoforge.com/voip_qos_traffic_shaping_iproute2_asterisk|QoS And Traffic Shaping For VoIP Users Using iproute2 And Asterisk]]
 +
 +
 +==== Vlan ====
 +
 +Um auf der Netzwerkkarte eth0 die vlans 100 und 101 zu aktivieren reichen diese Befehle:
 +
 +<code bash>
 +ip link add link eth0 name eth0.100 type vlan id 100
 +ip link set dev eth0.100 up
 +ip addr add a.b.c.1/24 brd 1.b.c.255 dev eth0.100
 +</code>
 +
 +**vconfig ist veraltet** (wird in aktuellen Systemen nicht mehr unterstützt)
 +<code bash>
 +modprobe 8021q
 +vconfig add eth0 100
 +vconfig add eth0 101
 +</code>
 +
 +Anschließend sind die logischen interfaces ''eth0.100'' und ''eth0.101'' angelegt, diese lassen sich wiederum mit den üblichen Mitteln konfigurieren. ''vconfig'' ist bei [[debian:Debian]] / [[ubuntu:Ubuntu]] im Paket vlan enthalten.
 +
 +
 +===== Diagnose-Tools =====
 +
 +
 +  * [[http://www.linuxjournal.com/article/8605|An Overview of ping]]
 +  * [[http://www.linuxfoundation.org/collaborate/workgroups/networking/netem|Network Emulation tool]] (zum generieren von Testfällen)
 +
 +
 +[[http://www.ubuntugeek.com/bandwidth-monitoring-tools-for-ubuntu-users.html|Bandwidth Monitoring Tools for Ubuntu Users]]
 +
 +<box 100% red round left | **wichtige Diagnosetools**>
 +  * ''netstat -lnptuw'' (listening ports) besser ist vielleicht ''netstat -tulpe'' zu merken ;-)
 +  * ''lsof -i'' (bestehende Netzwerk-Verbindungen auflisten)
 +  * ''lsof -i :443'' (welcher Prozess lauscht auf Port 443?)
 +  * ''iptraf'' (Traffic-überwachung)
 +  * ''iftop'' (Traffic-überwachung, einfacher als iptraf, für Übersichtszwecke)
 +  * ''dhcping'' [[netzwerke:DHCP]]-Server überwachen durch Abfragen 
 +  * ''hping3'' ist ein Tool zum zusammenbasteln von TCP/IP-Paketen
 +  * [[http://gnu.univ-paris.com/directory/IPSorcery.html|IPSorcery]] ist ein Tool zum zusammenbasteln von IP, TCP, UDP, ICMP, and IGMP-Paketen
 +  * [[http://www.heise.de/security/artikel/82054/1|mit hping2 und netcat spielen]] (aus Artikel [[http://www.heise.de/security/artikel/82054|Wie Skype & Co. Firewalls umgehen]]
 +  * [[http://www.linux.com/article.pl?sid=06/02/24/2033234|Monitoring bandwidth from the command line (bwm-ng)]]
 +</box>
 +
 +==== traceroute ====
 +[[http://linuxhelp.blogspot.com/2007/01/traceroute-very-useful-troubleshooting.html|traceroute - a very useful troubleshooting tool which reveals the bottlenecks on the Internet]]
 +
 +^  Fehlercodes von traceroute  ^^^
 +^ Code ^ engl. Bedeutung ^ Deutsch^
 +| !H | host unreachable| Rechner nicht erreichbar |
 +| !N | network unreachable | Netzwerk nicht verfügbar |
 +| !P | protocol unreachable | Protokoll nicht erreichbar |
 +| !S | source route  failed | FIXME |
 +| !F | fragmentation needed | Packet müsste fragementiert werden |
 +| !X | communication administratively prohibited | ICMP-Antwort ist auf dem (Ziel-)Rechner verboten |
 +| !V | host precedence violation | FIXME |
 +| !C | precedence cutoff  in  effect |FIXME  |
 +| !<NUMMER> | [[netzwerke:ICMP]] unreachable code <num> | [[netzwerke:ICMP]] Fehlercode <Nummer> wird zurückgemeldet |
 +
 +==== Nast ====
 +[[http://nast.berlios.de/|Nast]]
 +  * Scannt Topologien via ARP: ''-m''
 +  * Überwacht auf ARP-Poisioning: ''-c''
 +  * sucht Gateway: ''-g''
 +
 +===== andere Tools =====
 +
 +==== Rsync ====
 +[[linux:backup#rsync]] ist eine leistungsfähige Software zur bandbreitenschonenden Übertragung von Daten, das geht auch über [[netzwerke:SSH]].
 +
 +==== Webseitenspiegelung (httrack) ====
 +zum spiegeln einer kompletten Seite gibt man httrack mit z.b. folgenden Parametern an:
 +  httrack -K0 -%q0 --keep-alive --urlhack -D http://www.example.com
 +
 +Der Ordner kann danach sehr schnell auf den aktuellen Stand gebracht werden (update)
 +  httrack -u --continue
 +
 +==== wget ====
 +
 +<code bash>
 +wget URL # (auch ganze Verzeichnisse wenn wie bei FTP Verzeichnislisting funktioniert)
 +wget -c datei fortsetzen
 +wget --spider --force-html -i bookmarks.html : Prüfen ob Links noch funktionieren
 +wget -r -l 1 -nd --convert-links -e robots=off URL # Datei incl. 1 Linkebene herunterladen, robots.txt ignorieren
 +</code>
 +
 +[[http://applications.linux.com/applications/07/01/08/2219231.shtml?tid=47&tid=13|Make Wget cater to your needs]]
 +
 +
 +
 +
 +
 +
 +===== GPRS/UMTS-Zugang =====
 +Zuerst sollte man einen Zugang zum Handy mit [[linux:Bluetooth]] herstellen, dann kann man mit Einwahlprogrammen (wie wvdial oder kppp) eine [[linux:bluetooth#internet-einwahl_dun_mit_kppp|Verbindung herstellen]].
 +
 +
 +  * [[http://www.linux-magazin.de/Artikel/ausgabe/2002/10/gprs/gprs.html|GPRS (Linux)]]
 +  * [[http://fli4l.anadex.de/fli4l_umts_howto.html|fli4l als Linux UMTS Router HowTo]]
 +  * [[http://www.teltarif.de/arch/2007/kw48/s27981.html|Lancom-Router 3850 UMTS mit HSDPA und WLAN]]