Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:netzwerk

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

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]]
 +