Benutzer-Werkzeuge

Webseiten-Werkzeuge


routing

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
routing [2018/02/19 12:52]
admin
routing [2018/02/19 22:19] (aktuell)
admin [Welche Netzwerkkarte ist physisch verbunden?]
Zeile 2: Zeile 2:
   * [[http://blog.noviantech.com/2010/12/22/debian-router-gateway-in-15-minutes/]]   * [[http://blog.noviantech.com/2010/12/22/debian-router-gateway-in-15-minutes/]]
  
-===== ip Kommando =====+===== ip Befehl ===== 
 +Mit dem ''ip''-Befehl lassen sich viele Netzwerkeinstellungen manipulieren.
 ==== IP-Adressen ==== ==== IP-Adressen ====
 === IP-Adressen anzeigen === === IP-Adressen anzeigen ===
Zeile 48: Zeile 49:
 <code|user@host:~#> <code|user@host:~#>
 ip r del 10.0.200.0/24 via 10.0.200.1 dev enp1s0 ip r del 10.0.200.0/24 via 10.0.200.1 dev enp1s0
 +</code>
 +
 +===== nft Befehl =====
 +''nft'' steht für ''nftables'', das wiederum für ''netfilter tables'', und das
 +ist der Nachfolger von ''iptables''. Dieses Programm wird für [[https://en.wikipedia.org/wiki/Firewall_computing|Firewall]], bzw. Packet
 +filtering verwendet.
 +  * [[https://wiki.debian.org/nftables|Debian Wiki nftables]]
 +  * [[https://wiki.archlinux.org/index.php/Nftables|Arch Wiki nftables]]
 +Wir benötigen diesen Befehl hauptsächlich um
 +[[https://de.wikipedia.org/wiki/Netzwerkadressübersetzung|NAT]] auf unseren
 +Routern zu betreiben.
 +==== NAT einrichten ====
 +Zunächst wird eine neue Tabelle ''nat'' mit den ''pre''- und ''postrouting'' Chains eingerichtet:
 +<code|user@host:~#>
 +nft add table nat
 +nft add chain nat prerouting { type nat hook prerouting priority 0 \; }
 +nft add chain nat postrouting { type nat hook postrouting priority 0 \; }
 +</code>
 +Auf diese Weise soll nun ''source NAT'' eingerichtet werden, welches sich
 +liest: "source network address translation". Dies ist vielleicht leichter zu
 +verdauen, wenn man dazu "Quelladressenübersetzung" sagt, was die
 +folgende ''rule'', die hinzugefügt werden soll besser erklären kann:
 +<code|user@host:~#>
 +nft add rule nat postrouting ip saddr 10.0.1.0/24 oif enp0s7 snat 134.99.246.151
 +                                |_______________| |________| |_________________|
 +                                        |              |             |
 +  nimm diesen Source-Addressbereich-----+              |                 
 +                                                                   |  
 +  und übersetze ihn am ausgehenden interface-----------+             |
 +                                                                     |  
 +  zu dieser Adresse, die dann als Source-Adresse stehen soll---------+
 +</code>
 +Falls man nun doch die Adressen und Netzwerke durcheinander gebracht hat, kann
 +man die chain ''postrouting'' so wieder zurücksetzen:
 +<code|user@host:~#>
 +nft flush chain ip nat postrouting
 +</code>
 +Dann kann man sich das entstandene ''ruleset'' ansehen:
 +<code|user@host:~#>
 +nft list ruleset
 +</code>
 +Und für die Ewigkeit in Datei schreiben, damit es auch einen Reboot überlebt:
 +<code|user@host:~#>
 +nft list ruleset > /etc/nftables.conf
 +</code>
 +Falls man Veränderungen in der Datei ''/etc/nftables'' vornehmen möchte und diese
 +dann wirksam werden, muss der ''nftables''-Dienst neu gestartet werden:
 +<code|user@host:~#>
 +systemctl restart nftables
 </code> </code>
  
Zeile 59: Zeile 109:
 ===== Packet forwarding einschalten ===== ===== Packet forwarding einschalten =====
 Damit ein Router überhaupt als solcher funktionieren kann, muss packet Damit ein Router überhaupt als solcher funktionieren kann, muss packet
-forwarding eingeschaltet werden:+forwarding eingeschaltet werden. Das kann man indem man die Datei 
 +''/etc/sysctl.conf'' bearbeitet und die Zeile ''net.ipv4.ip_forward=1'' 
 +auskommentiert oder indem man diesen Einzeiler ausführt:
 <code|user@host:~#> <code|user@host:~#>
 sed -i '/^.*ip_forward=1/s/^#//' /etc/sysctl.conf sed -i '/^.*ip_forward=1/s/^#//' /etc/sysctl.conf
routing.1519041178.txt.gz · Zuletzt geändert: 2018/02/19 12:52 von admin