Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
lpi1:netzwerk [2020/01/23 12:16] |
lpi1:netzwerk [2023/09/14 12:03] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Netzwerk (temporär) einrichten ====== | ||
+ | Während der Änderungen an der Netzwerkkonfiguration: | ||
+ | * ''ip monitor'' in seperatem Fenster laufen lassen (( | ||
+ | ip monitor | grep -Ev '(PROBE|REACHABLE|STALE|DELAY)$' | ||
+ | )) | ||
+ | * [[network-manager]] temporär anhalten. | ||
+ | |||
+ | (( | ||
+ | ===== veraltete Methode mit ifconfig & route ===== | ||
+ | ==== Arbeitsplatzrechner / Host ==== | ||
+ | ifconfig eth0 10.0.1.217/24 | ||
+ | route add default gw 10.0.1.1 eth0 | ||
+ | |||
+ | ==== Router ==== | ||
+ | ifconfig eth0 10.0.1.1/24 | ||
+ | ifconfig eth1 212.202.245.174/30 | ||
+ | route add default gw 212.202.245.173 eth1 | ||
+ | iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE | ||
+ | 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 | ||
+ | |||
+ | ==== Router ==== | ||
+ | ip addr add 10.0.1.224/24 dev eth0 | ||
+ | ip link set dev eth0 up | ||
+ | ip addr add 192.168.1.224/24 dev eth2 | ||
+ | ip link set dev eth2 up | ||
+ | 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 | ||
+ | |||
+ | === NAT mit nftables === | ||
+ | nft add table ip nat | ||
+ | nft add chain ip nat POSTROUTING { type nat hook postrouting priority 100; policy accept; } | ||
+ | nft add rule ip nat POSTROUTING counter masquerade | ||
+ | |||
+ | ====== Checkliste Netzwerk ====== | ||
+ | ===== Ist das Kabel eingesteckt? ===== | ||
+ | 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? ===== | ||
+ | ... bzw. ist das Kabel in der richtigen Netzwerkkarte | ||
+ | |||
+ | 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 gesuchten Netzwerkkarte. | ||
+ | |||
+ | (( 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 ===== | ||
+ | ethtool -i eth0 | ||
+ | |||
+ | ===== Gibt es übermäßig viele Übertragungsfehler, Kollisionen? ===== | ||
+ | ip -s link | ||
+ | ===== Ist die IP-Adresse richtig eingestellt ===== | ||
+ | ip addr show | ||
+ | |||
+ | ===== Welches ist meine ausgehende IP-Adresse? ===== | ||
+ | ip route get 1.1.1.1 | cut -d ' ' -f7 | ||
+ | ===== Ist das Routing / der Gateway richtig eingestellt? ===== | ||
+ | ip route | ||
+ | |||
+ | ===== Ist der andere Rechner erreichbar? ===== | ||
+ | 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? ===== | ||
+ | ping -f -s 1472 10.0.1.214 | ||
+ | |||
+ | Erzwingen des DONT-FRAGMENT Bits:((ping-Header 28 bytes. Deshalb 1500-28=1472)) | ||
+ | |||
+ | ping -s 1472 -M do 10.0.1.214 | ||
+ | |||
+ | ===== Bis zu welchem Router laufen die Pakete ===== | ||
+ | traceroute 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? ===== | ||
+ | ==== Netfilter ==== | ||
+ | nft list ruleset | ||
+ | |||
+ | ==== iptables ==== | ||
+ | |||
+ | iptables -L -n | ||
+ | iptables -t nat -L -n | ||
+ | |||
+ | Ausgabe von iptables: | ||
+ | |||
+ | <file> | ||
+ | Chain INPUT (policy ACCEPT) | ||
+ | target prot opt source destination | ||
+ | |||
+ | Chain FORWARD (policy ACCEPT) | ||
+ | target prot opt source destination | ||
+ | |||
+ | Chain OUTPUT (policy ACCEPT) | ||
+ | target prot opt source destination | ||
+ | </file> | ||
+ | |||
+ | iptables abschalten | ||
+ | iptables-restore <<LEER | ||
+ | <file> | ||
+ | *mangle | ||
+ | :PREROUTING ACCEPT | ||
+ | :INPUT ACCEPT | ||
+ | :FORWARD ACCEPT | ||
+ | :OUTPUT ACCEPT | ||
+ | :POSTROUTING ACCEPT | ||
+ | COMMIT | ||
+ | *nat | ||
+ | :PREROUTING ACCEPT | ||
+ | :POSTROUTING ACCEPT | ||
+ | :OUTPUT ACCEPT | ||
+ | COMMIT | ||
+ | *filter | ||
+ | :INPUT ACCEPT | ||
+ | :FORWARD ACCEPT | ||
+ | :OUTPUT ACCEPT | ||
+ | COMMIT | ||
+ | </file> | ||
+ | LEER | ||
+ | |||
+ | ==== SuSE Firewall abschalten ==== | ||
+ | === bis openSuSE Leap 42.3 === | ||
+ | systemctl disable --now SuSEfirewall2.service | ||
+ | |||
+ | === ab openSuSE 15.0 === | ||
+ | systemctl disable --now firewalld.service | ||
+ | |||
+ | ==== CentOS (bis 6) Firewall abschalten ==== | ||
+ | service iptables stop | ||
+ | chkconfig iptables off | ||
+ | | ||
+ | Prüfen: | ||
+ | chkconfig --list | ||
+ | |||
+ | ==== CentOS (7) Firewall abschalten ==== | ||
+ | service firewalld stop | ||
+ | systemctl disable firewalld | ||
+ | | ||
+ | Prüfen: | ||
+ | systemctl status firewalld | ||
+ | |||
+ | ====== Netzwerk (dauerhaft) einrichten ====== | ||
+ | ===== Server / Host ===== | ||
+ | ==== Debian ==== | ||
+ | ''/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 | ||
+ | </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 | ||
+ | |||
+ | |||
+ | ==== SuSE ==== | ||
+ | openSuSE 13.1 / SLES 11: | ||
+ | ''/etc/sysconfig/network/config'' : | ||
+ | <file>NETWORKMANAGER="no"</file> | ||
+ | |||
+ | openSuSE 42.1(?) / SLES 12: | ||
+ | systemctl stop NetworkManager | ||
+ | systemctl disable NetworkManager | ||
+ | systemctl enable wicked.service | ||
+ | systemctl start wicked.service | ||
+ | |||
+ | ''/etc/sysconfig/network/ifcfg-eth0'' : ( ab openSuSE 11.4 ) | ||
+ | <file> | ||
+ | BOOTPROTO='static' | ||
+ | BROADCAST='' | ||
+ | IPADDR='192.168.1.202' | ||
+ | MTU='' | ||
+ | NAME='Uniwill VT6102 [Rhine-II]' | ||
+ | NETMASK='255.255.255.0' | ||
+ | NETWORK='' | ||
+ | REMOTE_IPADDR='' | ||
+ | STARTMODE='auto' | ||
+ | UNIQUE='rBUF.weGuQ9ywYPF' | ||
+ | USERCONTROL='no' | ||
+ | _nm_name='bus-pci-0000:00:12.0' | ||
+ | </file> | ||
+ | |||
+ | Diese Dateien werden i.d.R. mit YaST erstellt ( siehe ''/etc/sysconfig/network/ifcfg.template'' ) | ||
+ | |||
+ | ==== RedHat ==== | ||
+ | ''/etc/sysconfig/network-scripts/ifcfg-eth0'' | ||
+ | <file> | ||
+ | DEVICE=eth0 | ||
+ | BOOTPROTO=static | ||
+ | BROADCAST=192.168.1.255 | ||
+ | HWADDR=00:A0:CC:DE:13:A6 | ||
+ | IPADDR=192.168.1.214 | ||
+ | NETMASK=255.255.255.0 | ||
+ | NETWORK=192.168.1.0 | ||
+ | GATEWAY=192.168.1.1 | ||
+ | DNS1=192.168.1.6 | ||
+ | ONBOOT=yes | ||
+ | TYPE=Ethernet | ||
+ | </file> | ||
+ | |||
+ | Die Netzwerkkonfigurationsdateien kann man bis CentOS 6 mit dem Tool ''system-config-network'' erstellen, ab CentOS 7 mit [[network-manager]] | ||
+ | |||
+ | Doku siehe ''/usr/share/doc/initscripts-*/sysconfig.txt'' | ||
+ | ===== 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'' | ||
+ | |||
+ | ====== Rechenhilfe für IP-Adressen und Netzmasken ====== | ||
+ | Debian | ||
+ | subnetcalc 212.202.245.174/30 | ||
+ | |||
+ | ====== 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 ====== | ||
+ | * [[ http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html | centos 5 ]] | ||
+ | * [[ http://www.novell.com/documentation/opensuse103/opensuse103_reference/data/sec_basicnet_manconf.html | openSuSE 10.3 ]] | ||
+ | |||
+ | * [[ http://www.lug-erding.de/vortrag/ng.html | Netzwerk Grundlagen für Linux ]] | ||
+ | * [[ http://www.netzmafia.de/skripten/netze/ | Netzwerk Protokolle im Detail ]] | ||
+ | |||
+ | * [[ http://de.opensuse.org/SDB:IPv6_dauerhaft_ausschalten | SuSE / IPv6 ausschalten ]] | ||
+ | * [[ http://lartc.org/howto/ | routing für Fortgeschrittene]] | ||
+ | |||