====== 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: 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 iptables abschalten iptables-restore < *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 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'' : auto eth0 iface eth0 inet static address 10.0.1.217 netmask 255.255.255.0 gateway 10.0.1.1 service networking restart ==== Ubuntu 12.04 ==== ''/etc/network/interfaces'' : 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 /etc/init.d/networking restart ==== SuSE ==== openSuSE 13.1 / SLES 11: ''/etc/sysconfig/network/config'' : NETWORKMANAGER="no" 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 ) 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' Diese Dateien werden i.d.R. mit YaST erstellt ( siehe ''/etc/sysconfig/network/ifcfg.template'' ) ==== RedHat ==== ''/etc/sysconfig/network-scripts/ifcfg-eth0'' 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 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'' : net.ipv4.ip_forward = 1 Unter SuSE besser Datei ''/etc/sysconfig/sysctl'' nutzen ==== Debian ==== ''/etc/network/interfaces'' mit mehreren Netzwerkkarten: ( veraltet, heute mit [[udev]] besser lösbar ) 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 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]]