Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:netzwerk [2011/10/26 14:37] ingo_wichmann [Wireless LAN] |
admin_grundlagen:netzwerk [2024/08/18 15:21] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== NetworkManager ausschalten ====== | + | ====== Netzwerk (temporär) einrichten ====== |
| - | === SuSE 11.1 === | + | Während der Änderungen an der Netzwerkkonfiguration: |
| - | ''/etc/sysconfig/network/config'' : | + | * ''ip monitor'' in seperatem Fenster laufen lassen (( |
| - | <file> | + | ip monitor | grep -Ev '(PROBE|REACHABLE|STALE|DELAY)$' |
| - | NETWORKMANAGER="no" | + | )) |
| - | </file> | + | * [[network-manager]] temporär anhalten. |
| - | SuSEconfig | + | |
| - | /etc/init.d/network restart | + | |
| - | === Debian 5.0 === | ||
| - | update-rc.d -f network-manager remove | ||
| - | /etc/init.d/network-manager stop | ||
| - | ''/etc/network/interfaces'' : | ||
| - | <file> | ||
| - | auto eth0 | ||
| - | </file> | ||
| - | === Debian 6.0 === | + | ++++ veraltete Methode mit ifconfig & route | |
| - | apt-get --purge remove network-manager | + | |
| - | + | ||
| - | ''/etc/network/interfaces'' : | + | |
| - | <file> | + | |
| - | auto eth0 | + | |
| - | iface eth0 inet dhcp | + | |
| - | </file> | + | |
| - | + | ||
| - | === CentOS 5.3 === | + | |
| - | chkconfig NetworkManager off | + | |
| - | /etc/init.d/NetworkManager stop | + | |
| - | + | ||
| - | === Scientific Linux 6.0 === | + | |
| - | yum remove NetworkManager | + | |
| - | pkill dhclient | + | |
| - | + | ||
| - | ====== Netzwerk (temporär) einrichten ====== | + | |
| - | ===== Traditionelle Methode mit ifconfig & route ===== | + | |
| ==== Arbeitsplatzrechner / Host ==== | ==== Arbeitsplatzrechner / Host ==== | ||
| - | ifconfig eth0 10.0.1.217 broadcast 10.0.1.255 netmask 255.255.255.0 | + | ifconfig eth0 10.0.1.217/24 |
| route add default gw 10.0.1.1 eth0 | route add default gw 10.0.1.1 eth0 | ||
| ==== Router ==== | ==== Router ==== | ||
| - | ifconfig eth0 10.0.1.1 broadcast 10.0.1.255 netmask 255.255.255.0 | + | ifconfig eth0 10.0.1.1/24 |
| - | ifconfig eth1 212.202.245.174 broadcast 212.202.245.175 netmask 255.255.255.252 | + | ifconfig eth1 212.202.245.174/30 |
| route add default gw 212.202.245.173 eth1 | route add default gw 212.202.245.173 eth1 | ||
| iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE | iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE | ||
| sysctl -w net.ipv4.ip_forward=1 | sysctl -w net.ipv4.ip_forward=1 | ||
| + | ++++ | ||
| + | |||
| + | ==== Host ==== | ||
| + | ip link set dev eth0 up | ||
| + | ip addr add 192.168.1.224/24 dev eth0 | ||
| + | ip route add default via 192.168.1.1 | ||
| - | ===== Methode mit ip ===== | ||
| ==== Router ==== | ==== Router ==== | ||
| ip addr add 10.0.1.224/24 dev eth0 | ip addr add 10.0.1.224/24 dev eth0 | ||
| Zeile 53: | Zeile 31: | ||
| ip link set dev eth2 up | ip link set dev eth2 up | ||
| ip route add default via 192.168.1.1 dev eth2 | ip route add default via 192.168.1.1 dev eth2 | ||
| + | sysctl -w net.ipv4.ip_forward=1 | ||
| + | |||
| + | === NAT mit iptables === | ||
| iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE | iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE | ||
| - | sysctl -w net.ipv4.ip_forward=1 | + | |
| + | === NAT mit nftables === | ||
| + | nft add table inet nat | ||
| + | nft add chain inet nat postrouting { type nat hook postrouting priority 100; policy accept; } | ||
| + | nft add rule inet nat postrouting counter masquerade | ||
| ====== Checkliste Netzwerk ====== | ====== Checkliste Netzwerk ====== | ||
| ===== Ist das Kabel eingesteckt? ===== | ===== Ist das Kabel eingesteckt? ===== | ||
| - | mii-tool | ||
| - | oder | ||
| ethtool | ethtool | ||
| + | (( oder früher: | ||
| + | mii-tool | ||
| + | )) | ||
| + | ==== Speed einstellen ==== | ||
| + | mii-diag -F 100baseTx eth0 | ||
| + | ethtool -s eth0 speed 100 duplex full | ||
| + | ===== Welche Netzwerkhardware habe ich? ===== | ||
| + | === PCI === | ||
| + | lspci | ||
| + | Welchen Treiber brauche ich dafür: | ||
| + | lspci -s 02:00.0 -k | ||
| + | |||
| + | Welches Netzwerkdevice wird von diesem Treiber zur Verfügung gestellt: | ||
| + | ls /sys/module/iwlwifi/drivers/*:*/*:*/net | ||
| + | |||
| + | === USB === | ||
| + | lsusb | ||
| + | | ||
| ===== Welches ist die richtige Netzwerkkarte? ===== | ===== Welches ist die richtige Netzwerkkarte? ===== | ||
| ... bzw. ist das Kabel in der richtigen Netzwerkkarte | ... bzw. ist das Kabel in der richtigen Netzwerkkarte | ||
| Zeile 67: | Zeile 68: | ||
| ethtool -p eth0 | ethtool -p eth0 | ||
| - | Wenn die Netzwerkkarte Lämpchen hat und der Treiber die Funktion unterstützt, dann blinken ein paar Sekunden lang die Lämpchen der gesuchen Netzwerkkarte. | + | Wenn die Netzwerkkarte Lämpchen hat und der Treiber die Funktion unterstützt, dann blinken ein paar Sekunden lang die Lämpchen der gesuchten Netzwerkkarte. |
| - | Achtung OpenSuSE 11.1 bitte nicht während des Tests das Kabel ziehen --> Tastaturtod | + | (( Achtung OpenSuSE 11.1 bitte nicht während des Tests das Kabel ziehen --> Tastaturtod\\ |
| + | (auch Debian und generell 2.6er Kernel reagieren so. Man muss dazu noch nicht mal das Kabel ziehen ;-) ) )) | ||
| ===== Welcher Treiber wird von der Netzwerkkarte genutzt ===== | ===== Welcher Treiber wird von der Netzwerkkarte genutzt ===== | ||
| ethtool -i eth0 | ethtool -i eth0 | ||
| + | ===== Gibt es übermäßig viele Übertragungsfehler, Kollisionen? ===== | ||
| + | ip -s link | ||
| ===== Ist die IP-Adresse richtig eingestellt ===== | ===== Ist die IP-Adresse richtig eingestellt ===== | ||
| - | ... bzw. gibt es übermäßig viele Übertragungsfehler, Kollisionen? | + | ip addr show |
| - | ifconfig | + | |
| + | ===== Welches ist meine ausgehende IP-Adresse? ===== | ||
| + | ip route get 1.1.1.1 | cut -d ' ' -f7 | ||
| ===== Ist das Routing / der Gateway richtig eingestellt? ===== | ===== Ist das Routing / der Gateway richtig eingestellt? ===== | ||
| - | route -n | + | ip route |
| ===== Ist der andere Rechner erreichbar? ===== | ===== Ist der andere Rechner erreichbar? ===== | ||
| ping 10.0.1.214 | ping 10.0.1.214 | ||
| + | ===== Welches Kabel ist das Richtige? ===== | ||
| + | ping -a 10.0.1.214 | ||
| + | |||
| + | ===== Ist das Gateway erreichbar? ===== | ||
| + | ip neigh show | ||
| + | arping _gateway | ||
| ===== Gehen Pakete verloren? ===== | ===== Gehen Pakete verloren? ===== | ||
| ping -f -s 1472 10.0.1.214 | ping -f -s 1472 10.0.1.214 | ||
| - | Erzwingen des DONT-FRAGMENT Bits: | + | Erzwingen des DONT-FRAGMENT Bits:((ping-Header 28 bytes. Deshalb 1500-28=1472)) |
| ping -s 1472 -M do 10.0.1.214 | ping -s 1472 -M do 10.0.1.214 | ||
| - | |||
| - | |||
| - | Eine ausführliche Übersicht über Übertragungsprobleme gibt auch: | ||
| - | netstat -ni | ||
| - | |||
| - | ===== Welches Kabel ist das Richtige? ===== | ||
| - | ping -a 10.0.1.214 | ||
| - | oder | ||
| - | ping 10.0.1.214 | while read; do echo -e -n "\007"; done | ||
| - | oder | ||
| - | ping 10.0.1.214 | while read; do echo -e "\007 $REPLY"; done | ||
| ===== Bis zu welchem Router laufen die Pakete ===== | ===== Bis zu welchem Router laufen die Pakete ===== | ||
| traceroute 81.169.176.98 | traceroute 81.169.176.98 | ||
| traceroute -T -p 80 81.169.176.98 | traceroute -T -p 80 81.169.176.98 | ||
| - | | + | oder |
| + | mtr 81.169.176.98 | ||
| + | |||
| + | Wird die MTU irgendwo auf dem Weg begrenzt: | ||
| + | tracepath 81.169.176.98 | ||
| + | |||
| + | ===== Wie hoch ist der Durchsatz? ===== | ||
| + | Server: | ||
| + | iperf -s | ||
| + | |||
| + | Client: | ||
| + | iperf -c 192.168.1.200 | ||
| ===== Sind Firewall-Regeln aktiv? ===== | ===== Sind Firewall-Regeln aktiv? ===== | ||
| + | ==== Netfilter ==== | ||
| + | nft list ruleset | ||
| + | |||
| + | ==== iptables ==== | ||
| iptables -L -n | iptables -L -n | ||
| Zeile 148: | Zeile 164: | ||
| LEER | LEER | ||
| - | ==== SuSE Firewall abschalten ==== | + | ==== SuSE Firewall abschalten ==== |
| - | rcSuSEfirewall2 stop | + | === bis openSuSE Leap 42.3 === |
| - | chkconfig SuSEfirewall2_setup off | + | systemctl disable --now SuSEfirewall2.service |
| - | chkconfig SuSEfirewall2_init off | + | |
| - | Prüfen: | + | === ab openSuSE 15.0 === |
| - | chkconfig --list | + | systemctl disable --now firewalld.service |
| - | ==== Fedora / RedHat Firewall abschalten ==== | + | ==== CentOS (bis 6) Firewall abschalten ==== |
| - | /etc/init.d/iptables stop | + | service iptables stop |
| chkconfig iptables off | chkconfig iptables off | ||
| | | ||
| Prüfen: | Prüfen: | ||
| chkconfig --list | chkconfig --list | ||
| + | |||
| + | ==== CentOS (7) Firewall abschalten ==== | ||
| + | service firewalld stop | ||
| + | systemctl disable firewalld | ||
| + | | ||
| + | Prüfen: | ||
| + | systemctl status firewalld | ||
| ====== Netzwerk (dauerhaft) einrichten ====== | ====== Netzwerk (dauerhaft) einrichten ====== | ||
| ===== Server / Host ===== | ===== Server / Host ===== | ||
| - | |||
| ==== Debian ==== | ==== Debian ==== | ||
| ''/etc/network/interfaces'' : | ''/etc/network/interfaces'' : | ||
| Zeile 176: | Zeile 197: | ||
| gateway 10.0.1.1 | gateway 10.0.1.1 | ||
| </file> | </file> | ||
| + | | ||
| + | service networking restart | ||
| + | ==== Ubuntu 12.04 ==== | ||
| + | ''/etc/network/interfaces'' : | ||
| + | <file> | ||
| + | auto eth0 | ||
| + | |||
| + | iface eth0 inet static | ||
| + | address 10.0.1.217 | ||
| + | netmask 255.255.255.0 | ||
| + | gateway 10.0.1.1 | ||
| + | dns-nameservers 192.168.1.6 | ||
| + | dns-search linuxhotel.de | ||
| + | </file> | ||
| + | | ||
| /etc/init.d/networking restart | /etc/init.d/networking restart | ||
| + | |||
| ==== SuSE ==== | ==== SuSE ==== | ||
| + | openSuSE 13.1 / SLES 11: | ||
| ''/etc/sysconfig/network/config'' : | ''/etc/sysconfig/network/config'' : | ||
| <file>NETWORKMANAGER="no"</file> | <file>NETWORKMANAGER="no"</file> | ||
| - | ''/etc/sysconfig/network/ifcfg-eth-id-00:a0:cc:d5:57:98'' : | + | openSuSE 42.1(?) / SLES 12: |
| + | systemctl stop NetworkManager | ||
| + | systemctl disable NetworkManager | ||
| + | systemctl enable wicked.service | ||
| + | systemctl start wicked.service | ||
| - | ''/etc/sysconfig/network/ifcfg-eth0'' : ( openSuSE 11.4 ) | + | ''/etc/sysconfig/network/ifcfg-eth0'' : ( ab openSuSE 11.4 ) |
| <file> | <file> | ||
| BOOTPROTO='static' | BOOTPROTO='static' | ||
| Zeile 204: | Zeile 246: | ||
| ==== RedHat ==== | ==== RedHat ==== | ||
| + | ab RedHat 9 abgekündigt, besser [[network-manager]] nativ verwenden. | ||
| + | |||
| ''/etc/sysconfig/network-scripts/ifcfg-eth0'' | ''/etc/sysconfig/network-scripts/ifcfg-eth0'' | ||
| <file> | <file> | ||
| Zeile 213: | Zeile 257: | ||
| NETMASK=255.255.255.0 | NETMASK=255.255.255.0 | ||
| NETWORK=192.168.1.0 | NETWORK=192.168.1.0 | ||
| + | GATEWAY=192.168.1.1 | ||
| + | DNS1=192.168.1.6 | ||
| ONBOOT=yes | ONBOOT=yes | ||
| TYPE=Ethernet | TYPE=Ethernet | ||
| </file> | </file> | ||
| - | Die Netzwerkkonfigurationsdateien kann man mit dem Tool ''system-config-network'' erstellen | + | Die Netzwerkkonfigurationsdateien kann man bis CentOS 6 mit dem Tool ''system-config-network'' erstellen, ab CentOS 7 mit [[network-manager]] |
| - | + | ||
| - | ===== Router ===== | + | |
| - | ''/etc/sysctl.conf'' : | + | |
| - | <file>net.ipv4.ip_forward = 1</file> | + | |
| - | Unter SuSE besser Datei ''/etc/sysconfig/sysctl'' nutzen | + | |
| - | + | ||
| - | + | ||
| - | ==== Debian ==== | + | |
| - | ''/etc/network/interfaces'' mit mehreren Netzwerkkarten: | + | |
| - | ( veraltet, heute mit [[udev]] besser lösbar ) | + | |
| - | <file> | + | |
| - | auto eth0 eth1 | + | |
| - | mapping eth0 eth1 | + | |
| - | script /usr/local/bin/get-mac-address.sh | + | |
| - | map 00:0A:E6:5A:75:A5 extern | + | |
| - | map 00:11:6B:31:4F:59 intern | + | |
| - | + | ||
| - | iface extern inet static | + | |
| - | address 212.202.245.174 | + | |
| - | broadcast 212.202.245.175 | + | |
| - | netmask 255.255.255.252 | + | |
| - | gateway 212.202.245.173 | + | |
| - | pre-up iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE | + | |
| - | + | ||
| - | iface intern inet static | + | |
| - | address 192.168.1.7 | + | |
| - | netmask 255.255.255.0 | + | |
| - | network 192.168.1.0 | + | |
| - | broadcast 192.168.1.255 | + | |
| - | </file> | + | |
| - | + | ||
| - | Eine andere ( bessere? ) Möglichkeit zur eindeutigen Benennung von Netzwerkkarten bietet das Paket ''ifrename'' | + | |
| - | + | ||
| - | + | ||
| - | ==== CentOS ==== | + | |
| - | ''/etc/sysconfig/static-routes'' : | + | |
| - | <file> | + | |
| - | any net 192.168.2.0/28 gw 192.168.1.212 | + | |
| - | </file> | + | |
| - | + | ||
| + | Doku siehe ''/usr/share/doc/initscripts-*/sysconfig.txt'' | ||
| ====== Rechenhilfe für IP-Adressen und Netzmasken ====== | ====== Rechenhilfe für IP-Adressen und Netzmasken ====== | ||
| - | Debian | + | Debian: |
| - | ipcalc 212.202.245.174/30 | + | subnetcalc 212.202.245.174/30 |
| - | SuSE | + | subnetcalc subnetcalc 2a0f:6480:1::1/48 |
| - | iptab | + | |
| - | ... oder übers Web http://jodies.de/ipcalc | + | |
| - | + | ||
| - | ====== routing für fortgeschrittene====== | + | |
| - | * http://lartc.org/howto/ | + | |
| - | + | ||
| - | ====== IPv6 abschalten ====== | + | |
| - | + | ||
| - | Man erkennt aktiviertes IPv6 daran, dass das Modul ipv6 geladen ist. | + | |
| - | + | ||
| - | lsmod | grep ipv6 | + | |
| - | + | ||
| - | ''/etc/modutils/aliases'' : ( Debian Sarge mit Kernel 2.4 ) | + | |
| - | + | ||
| - | ''/etc/modprobe.d/aliases'' : ( Debian mit Kernel 2.6 ) | + | |
| - | + | ||
| - | ''/etc/modprobe.conf.local'' : ( SuSE ) | + | |
| - | <file>alias net-pf-10 off # IPv6</file> | + | |
| - | + | ||
| - | Soll auch das manuelle Laden des Modules verhindert werden, kann auch noch folgende Zeile eingetragen werden: | + | |
| - | <file>alias ipv6 off </file> | + | |
| - | + | ||
| - | depmod -a | + | |
| - | + | ||
| - | Debian Sarge mit Kernel 2.4 benötigt dann noch ein | + | |
| - | update-modules | + | |
| - | + | ||
| - | + | ||
| - | ====== Netzwerkdienste ====== | + | |
| - | Welche Ports sind offen? Welche Netzwerkdienste sind aktiv? | + | |
| - | + | ||
| - | lsof -i | + | |
| - | netstat -tulpen | + | |
| - | + | ||
| - | ===== Wireless LAN ===== | + | |
| - | ifconfig wlan0 | + | |
| - | iwconfig wlan0 | + | |
| - | iwlist wlan0 scan | + | |
| - | ifconfig wlan0 up | + | |
| - | iwlist wlan0 scan | + | |
| - | iwconfig wlan0 | + | |
| - | iwconfig wlan0 essid linuxhotel | + | |
| - | iwconfig wlan0 | + | |
| - | man dhclient3 | + | |
| - | dhclient wlan0 | + | |
| + | ====== Predict Predictable Network Interface Names ====== | ||
| + | Problem: Wie nennt sich die Netzwerk-Schnittstelle in einem anderen Namensschema: | ||
| + | udevadm test-builtin net_id /sys/class/net/eth0 | ||
| ====== Dokumentation ====== | ====== Dokumentation ====== | ||
| Zeile 319: | Zeile 283: | ||
| * [[ http://www.netzmafia.de/skripten/netze/ | Netzwerk Protokolle im Detail ]] | * [[ http://www.netzmafia.de/skripten/netze/ | Netzwerk Protokolle im Detail ]] | ||
| - | * [[ http://ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html | Sysctl Tutorial ]] | ||
| * [[ http://de.opensuse.org/SDB:IPv6_dauerhaft_ausschalten | SuSE / IPv6 ausschalten ]] | * [[ http://de.opensuse.org/SDB:IPv6_dauerhaft_ausschalten | SuSE / IPv6 ausschalten ]] | ||
| + | * [[ http://lartc.org/howto/ | routing für Fortgeschrittene]] | ||
| + | |||