GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So konfigurieren Sie Linux als statischen Router

Als Netzwerkadministrator wissen Sie wahrscheinlich, wie teuer Router sein können.

Wenn Sie eine komplexe Netzwerkarchitektur konfigurieren, benötigen Sie möglicherweise Cisco- oder Netgear-Router, da sie erweiterte Funktionen für die Netzwerkverwaltung enthalten.

Wenn Sie jedoch vorhaben, ein kleines Netzwerk für Ihr Unternehmen zu erstellen, gibt es möglicherweise eine günstigere Alternative.

Was wäre, wenn Sie einen einfachen Linux-Server so konfigurieren könnten, dass er als statischer Router fungiert? ?

Mit diesen Funktionen könnten Sie einen Raspberry Pi auf Ihrer Website haben, der den Datenverkehr über zwei oder drei verschiedene Netzwerke verarbeiten kann.

In diesem Tutorial werden wir sehen, wie Sie einen Linux-Host so konfigurieren können, dass er als einfacher statischer Router fungiert.

Wir werden auch die Grundlagen des Subnettings wiederholen, damit Sie die Regeln verstehen, die Sie aufgestellt haben.

Voraussetzungen

Um einen Linux-Server als statischen Router zu konfigurieren, müssen Sie sudo-Berechtigungen auf Ihrem Host haben.

Um dies zu überprüfen, können Sie den Befehl „sudo“ mit der Option „-v“ ausführen.

$ sudo -v

Wenn Sie keine sudo-Rechte haben, können Sie sich unsere Tutorials ansehen, um sudo auf Debian- oder CentOS-Distributionen zu werden.

Jetzt, da Sie sudo-Berechtigungen haben, gibt es im Wesentlichen drei Schritte, um Ihren statischen Router zu konfigurieren:

  • Sie brauchen einen globalen Überblick über Ihre Netzwerkarchitektur :was Netzwerk-IP-Adressen sind und welche Netzwerke miteinander kommunizieren müssen;
  • Sie müssen die statische Routing-Tabelle konfigurieren auf Ihrem Linux-Router;
  • Sie müssen die IP-Weiterleitung aktivieren damit Pakete über Ihren Router fließen können.

Das ist ein ziemlich langes Programm, also lassen Sie uns ohne weiteres die Netzwerkarchitektur und unsere Netzwerk-IP-Adressen herausfinden.

Netzwerkarchitektur verstehen

Der Einfachheit halber konfigurieren wir einen einfachen statischen Router zwischen zwei Netzwerken.

Um die Netzwerk-IP-Adressen zu bestimmen, wählen wir zwei Hosts in jedem Netzwerk aus:192.168.200.2/24 und 192.168.190.2/24.

Die beiden Hosts gehören nicht zum selben Subnetz:Folglich können sie nicht direkt kommunizieren.

Anhand der Netzmaske des ersten Hosts können wir feststellen, dass das erste Netzwerk eine IP-Adresse von 192.168.200.0/24 hat.

Ebenso hat das zweite Netzwerk eine IP-Adresse von 192.168.190.0/24.

Mit diesen Informationen können wir Netzwerkschnittstellen auf unserem Linux-Router konfigurieren.

Router-Netzwerkschnittstellen konfigurieren

Um Pakete von einem Netzwerk zum anderen leiten zu können, benötigen Sie zwei Netzwerkschnittstellen:eine im ersten Netzwerk und eine im zweiten Netzwerk.

Um das Tutorial einfach zu halten, gehen wir davon aus, dass beide Hosts den Router als Standard-Gateway für ihre jeweiligen Netzwerke verwenden.

Das bedeutet, dass der erste Host den Router auf 192.168.200.1/24 kontaktiert IP-Adresse und dieser zweite Host kontaktiert den Router über 192.168.190.1/24 IP-Adresse.

Zunächst müssen Sie die für das Routing verwendeten Netzwerkschnittstellen identifizieren

$ ip link show

Auf diesem Host haben wir zwei Netzwerkschnittstellen namens „enp0s3“ und „enp0s8“.

Hinweis:Möglicherweise müssen Sie diese Namen aufschreiben, da Sie sie im nächsten Abschnitt verwenden müssen.

Nachdem Sie nun Ihre Netzwerkschnittstellennamen haben, konfigurieren Sie Ihren Router mit statischen IP-Adressen.

Statische IP-Adresse unter Debian konfigurieren

Wenn Sie Debian oder Ubuntu verwenden, gehen Sie zu /etc/network/interfaces Datei und fügen Sie Ihre beiden Netzwerkschnittstelleninformationen hinzu.

$ sudo nano /etc/network/interfaces

# Defining the first interface
auto <interface_name>
iface <interface_name> inet static
address 192.168.190.1
netmask 255.255.255.0

# Defining the second interface
auto <interface_name>
iface <interface_name> inet static
address 192.168.200.1
netmask 255.255.255.0

Hinweis :Vergessen Sie nicht, die Direktive „auto“ hinzuzufügen, sonst werden Ihre Schnittstellen beim Booten nicht ausgelöst.

Speichern Sie Ihre Datei und starten Sie Ihren Netzwerkdienst neu, damit die Änderungen übernommen werden.

$ sudo systemctl restart networking.service

$ sudo systemctl status networking.service

In diesem Fall verwenden wir nicht den NetworkManager :Wir verwalten Schnittstellen mit dem ifupdown-Dienstprogramm (ähnlich wie in alten Distributionen).

Inzwischen sollten Ihre Schnittstellen betriebsbereit sein, Sie können sie überprüfen, indem Sie den Befehl „ip“ mit der Option „a“ ausführen.

Wenn Ihre Schnittstellen nicht laufen oder als „DOWN“ gekennzeichnet sind, können Sie sie mit dem Befehl „ifup“ aufrufen.

$ ifup <interface_name>

Statische IP-Adresse auf CentOS konfigurieren

Um Ihren CentOS-Host mit einer statischen IP-Adresse zu konfigurieren, gehen Sie zum Verzeichnis „/etc/sysconfig/network-scripts“ und erstellen Sie zwei verschiedene Dateien für Ihre Netzwerkschnittstellen.

$ touch ifcfg-enp0s3 && touch ifcfg-enp0s8

Um eine statische IP-Adresse zu konfigurieren, können Sie Ihrer Datei die folgenden Informationen hinzufügen.

# Content of enp0s3

BOOTPROTO="static"
IPADDR=192.168.200.1
NETMASK=255.255.255.0
NAME="enp0s3"
ONBOOT="yes"

# Content of enp0s8
BOOTPROTO="static"
IPADDR=192.168.190.1
NETMASK=255.255.255.0
NAME="enp0s8"
ONBOOT="yes"

Hinweis :Vergessen Sie nicht, die Datei „ONBOOT hinzuzufügen ”-Direktiven, damit Ihre Schnittstellen beim Booten ausgelöst werden.

Nachdem Ihr Router nun mit beiden Netzwerken verbunden ist, müssen Sie eine statische Route zwischen Ihren beiden Netzwerken hinzufügen, damit sie kommunizieren können.

Statische Routen mit IP erstellen

Zwei Netzwerkschnittstellen zu haben bedeutet nicht, dass Ihr Kernel automatisch Pakete von einer Schnittstelle zur anderen leitet.

Stellen Sie zunächst sicher, dass Sie die vorhandenen Routen auflisten, die möglicherweise auf Ihrem Server vorhanden sind, indem Sie die Datei „ip route“ ausführen ”-Befehl.

$ ip route

Löschen vorhandener statischer Routen

Wenn für Ihre Netzwerkschnittstellen bereits statische Router definiert sind, müssen Sie diese löschen:Andernfalls können Sie keine neuen hinzufügen.

Um eine Route zu löschen, verwenden Sie den Befehl „ip route“ mit der Option „delete“ und geben Sie die zu löschende Route an.

$ ip route delete <route>

In unserem Fall möchten wir Routen löschen, die auf die Netzwerke 192.168.190.0/24 und 192.168.200.0/24 verweisen.

$ ip route delete 192.168.190.0/24

$ ip route delete 192.168.200.0/24

$ ip route

Nachdem die Routen gelöscht wurden, können Sie diejenigen hinzufügen, die Sie interessieren.

Neue statische Routen erstellen

Damit die Pakete vom ersten Netzwerk zum zweiten fließen, muss Ihre erste Netzwerkkarte auf das zweite zeigen und umgekehrt.

Erstens können Sie eine Route von der IP-Adresse des ersten Netzwerkadapters zur zweiten IP-Adresse des Netzwerks erstellen.

$ ip route add 192.168.200.0/24 via 192.168.190.1

Mit dieser Regel können alle Pakete, die über die Schnittstelle 192.168.190.1 als Gateway kommen, an das Netzwerk 192.168.200.0 umgeleitet werden.

Ebenso können Sie eine weitere Route in die entgegengesetzte Richtung hinzufügen, damit Ihre Pakete zurückfließen können.

$ ip route add 192.168.190.0/24 via 192.168.200.1

Nachdem Ihre Routen hinzugefügt wurden, können Sie überprüfen, ob sie aktiv und aktiv sind, indem Sie den Befehl „ip route“ erneut ausführen.

$ ip route

Nachdem Ihre Routen hinzugefügt wurden, müssen Sie noch einen letzten Schritt konfigurieren, damit Ihre Hosts sich gegenseitig anpingen können.

IP-Weiterleitung unter Linux aktivieren

Selbst wenn Routen vorhanden sind, leitet der Kernel ohne Konfiguration keine Pakete an entsprechende Netzwerkschnittstellen weiter.

Um die IP-Weiterleitung zu aktivieren, gehen Sie zur Datei /etc/sysctl.conf und suchen Sie nach dem Parameter „net.ipv4.ip_forward“.

$ vi /etc/sysctl.conf

Standardmäßig ist dieser Parameter auf „0“ gesetzt, aber Sie möchten ihn auf „1“ setzen, um die IP-Weiterleitung zu aktivieren.

Speichern Sie Ihre Datei und aktualisieren Sie die Systemkonfiguration, indem Sie den Befehl „sysctl“ ausführen.

$ sysctl -p /etc/sysctl.conf

Testen der Netzwerkkonnektivität

Jetzt, da die IP-Weiterleitung aktiviert ist, sollten Sie in der Lage sein, von einem Host im ersten Netzwerk zu einem Host im zweiten Netzwerk zu pingen.

Um dies zu überprüfen, stellen Sie eine Verbindung zu einem Host im ersten Netzwerk her und führen Sie einen „Ping“-Befehl auf einem Host im zweiten Netzwerk aus.

$ ping <host_second_network>

In unserem Fall möchten wir den Host „192.168.190.2/24“ vom Host „192.168.200.2/24“ pingen.

Fantastisch! Ihr erster Host kann den zweiten anpingen.

Als zusätzliche Prüfung können Sie sicherstellen, dass Ihr zweiter Host den ersten pingen kann.

Toll!

Jetzt, da Ihr Setup fertig ist, sollten Sie in der Lage sein, neue Hosts zu beiden Netzwerken hinzuzufügen und mit der Kommunikation zwischen den beiden Netzwerken zu beginnen.

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie ganz einfach ein Linux-System als statischen Router konfigurieren können .

Diese Einrichtung kann sehr nützlich sein, wenn Sie den Aufbau einer kleinen Netzwerkinfrastruktur planen für Ihr Unternehmen.

Anstatt einen Cisco-Router kaufen und konfigurieren zu müssen, können Sie einen Raspberry Pi einfach als statischen Router verwenden.

Wenn Ihr Unternehmen wächst und Sie eine größere Netzwerkinfrastruktur planen, können Sie verwaltete Router prüfen da sie wahrscheinlich mehr Flexibilität für Ihre Bedürfnisse bieten.

Wenn Sie an Linux-Systemadministration interessiert sind , wir haben einen eigenen Abschnitt auf der Website, also schauen Sie sich das unbedingt an!


Linux
  1. So richten Sie eine statische IP-Adresse unter Debian Linux ein

  2. So legen Sie eine statische IP-Adresse fest und konfigurieren das Netzwerk unter Linux

  3. So konfigurieren Sie eine statische IP-Adresse auf Fedora

  4. So konfigurieren Sie statische und dynamische IP-Adressen in Arch Linux

  5. Wie konfiguriere ich Qt für die Cross-Kompilierung von Linux auf das Windows-Ziel?

So konfigurieren Sie eine statische IP-Adresse in Linux und Unix

So konfigurieren Sie ein VLAN unter Linux

3 Möglichkeiten, eine Netzwerkschnittstelle in Linux zu konfigurieren

So konfigurieren Sie eine statische IP-Adresse unter Alpine Linux

So fügen Sie eine Route unter Linux hinzu

So konfigurieren Sie eine statische IP-Adresse auf einem Linux-System