Muss sich das Gateway im Subnetz befinden?


14

Ich habe versucht, eine Schnittstelle wie diese in / etc / network / interfaces aufzurufen (dies ist unter debian), mit dem Gateway außerhalb des Subnetzes:

iface eth0 inet static
address 10.100.10.99
netmask 255.255.255.0
gateway 10.100.0.1

aber "ifup --verbose eth0" gibt mir nur diese Fehlermeldung:

ifconfig eth0 10.100.10.99 netmask 255.255.255.0
 route add default gw 10.100.0.1  eth0
SIOCADDRT: No such process
Failed to bring up eth0

Natürlich funktioniert das Ändern der Netzmaske auf 255.255.0.0 einwandfrei.

Ist das überhaupt möglich, oder gibt es noch etwas, das das Problem ist? Gibt es eine Möglichkeit, mehr Informationen aus ifup herauszuholen? Ich sehe einen Beitrag im Internet , der vorschlägt, dass es funktionieren sollte.

Antworten:


10

Eine andere Möglichkeit, sich dieser Frage zu nähern, ist: Wenn Sie Ihren Standard-Gateway-Router in einem lokalen Netzwerk nicht erreichen können, wie senden Sie Pakete über diesen Router? Sie müssten sie über einen anderen Router senden.

Denken Sie für einige Hintergrundinformationen daran, dass ein IP-Paket in der Regel die Quell- und Zieladressen enthält: Woher kommt es und wohin soll es gehen? In der Regel müssen die Router entscheiden, wie sie dorthin gelangen.

Wenn Sie also Ihr IP-Paket über Ihren Off-Network-Standard-Gateway-Router senden, müssen zwei Dinge geschehen.

  1. Der lokale Netzwerkrouter weiß, wie er den Standard-Gateway-Router erreicht, und es stimmt mit Ihrer Vorstellung überein, dass Ihr Paket über den Standard-Gateway-Router gesendet werden sollte, um an sein Ziel zu gelangen. Verwenden Sie in diesem Fall nicht einfach den lokalen Netzwerkrouter als Standardgateway.

  2. Der lokale Netzwerkrouter denkt (standardmäßig), dass Ihr Paket über einen anderen Router gesendet werden sollte, um an sein Ziel zu gelangen. In diesem Fall müssen Sie eine Möglichkeit haben, es anders auszudrücken. Diese Funktion ist vorhanden und wird als "Quell-Routing" bezeichnet. Sie wird jedoch als Sicherheitsrisiko angesehen, und die meisten Router sind so konfiguriert, dass sie diese Funktion ignorieren.

Schließlich können Sie meiner Erfahrung nach mit dem Linux- ipTool iproute ( ) keine Route hinzufügen, wenn das Gateway nicht direkt über eine lokale Netzwerkschnittstelle erreichbar ist.

Einige Quellen-Routing-Referenzen:


4

Das Standard-Gateway muss sich im selben Subnetz wie die IP-Adresse des Geräts befinden. Dies ist normalerweise die IP-Adresse des Routers des Netzwerks, zu dem Sie eine Verbindung herstellen. Auf der Wikipedia-Seite zur Standardroute :

In Computernetzwerken ist ein Gateway ein Knoten (ein Router) in einem TCP / IP-Netzwerk, der als Zugangspunkt zu einem anderen Netzwerk dient. Ein Standardgateway ist der Knoten im Computernetzwerk, den die Netzwerksoftware verwendet, wenn eine IP-Adresse mit keinen anderen Routen in der Routingtabelle übereinstimmt. Dies ist die IP-Adresse des Routers, mit dem Ihr PC-Netzwerk verbunden ist.

In Heimcomputerkonfigurationen stellt ein ISP häufig ein physisches Gerät bereit, das sowohl lokale Hardware mit dem Internet verbindet als auch als Gateway dient. Zu diesen Geräten gehören DSL-Router und Kabelrouter.

In Organisationssystemen ist ein Gateway ein Knoten, der den Datenverkehr von einer Workstation zu einem anderen Netzwerksegment weiterleitet. Das Standard-Gateway verbindet normalerweise die internen Netzwerke und das externe Netzwerk (Internet). In einer solchen Situation kann der Gateway-Knoten auch als Proxy-Server und Firewall fungieren. Das Gateway ist auch einem Router zugeordnet, der mithilfe von Headern und Weiterleitungstabellen feststellt, wohin Pakete gesendet werden, und einem Switch, der den tatsächlichen Pfad für das Paket innerhalb und außerhalb des Gateways bereitstellt.

Mit anderen Worten, ein Standard-Gateway bietet einen Einstiegs- und einen Ausstiegspunkt in einem Netzwerk.


Aber wenn es eine statische Route zu einer Adresse gibt, kann dies nicht das Standard-Gateway sein, auch wenn es sich nicht im Subnetz befindet? (Wir beschäftigen uns hier mit technischen Fragen und gehen von guten Praktiken weg).
Kurtm

Die statische Route kann eine Route sein, nur nicht das Standard-Gateway (wie ich es verstehe).
slm

2
Die Standardroute MUSS sich im selben Subnetz befinden. Bei der Standardroute wird der gesamte Datenverkehr von Ihrem Subnetz auf ein anderes übertragen. Wenn Sie also versuchen, Datenverkehr von 10.100.10.99 bis 10.100.0.1 zu erhalten, benötigen Sie ein "Gateway", um von den Netzwerken 10.100.10.0/24 bis 10.100.0.0/24 zu gelangen. 10.100.0.1 kann nicht Ihr Standard-Gateway sein, da Sie es standardmäßig nicht erreichen können. Es kann jedoch "ein" Gateway sein. Und es kann sogar "das" Gateway sein, an das Sie den gesamten Datenverkehr senden (sobald Sie festgelegt haben, wie Sie zum anderen Netzwerk gelangen).
Coteyr

1
@coteyr: und doch habe ich diese arbeit. Wenn es eine statische Route zum anderen Subnetz gibt und sich das Standardgateway in diesem Subnetz befindet, kann ich die Standardroute hinzufügen und Verbindungen ohne Probleme pingen / herstellen. Es mag weniger effizient sein, aber es funktioniert.
Siride

Ich würde sagen: Eine Route ist, wie Sie den gesamten Datenverkehr von Ihrem Subnetz auf ein anderes übertragen. Wenn Sie eine Route angeben, können Sie entweder ein IP-Segment (oder ein Supernetz - eine Kombination von Segmenten) und ein Gateway für den Zugriff auf dieses Segment / Supernetz angeben oder "für alles andere, was in der Routingtabelle nicht aufgeführt ist, verwenden Sie diese Option Tor". Letzteres ist die Standardroute, und das darin verwendete Gateway wird als Standardgateway bezeichnet. Wenn Sie nur eine Netzwerkkarte haben, benötigen Sie fast immer nur die Standardroute. Bei mehreren Netzwerkkarten benötigen Sie möglicherweise auch andere Routen.
TelcoM

2

Ich habe das gleiche Problem an mehreren Standorten mit dem ADSL-Dienst von Verizon. Das "Standard-Gateway" befindet sich in einem anderen Subnetz. In unserem Fall benötigen wir öffentliche IP-Adressen, um einen IPSec-VPN von Standort zu Standort zu verwenden. Dazu müssen wir das DSL-Gateway in den Bridge-Modus versetzen, damit sich die öffentliche IP-Adresse auf unserem Router anstelle des DSL-Gateways befindet.

Die meisten Anbieter sind in der Lage, dies ziemlich einfach zu tun, aber Verizon scheint Schwierigkeiten zu haben. Wenn ich ein D-Link 2750B DSL-Gateway verwende und es in den Bridge-Modus versetze, fordern die Verizon-Techniker mich auf, das Standard-Gateway in einem separaten Subnetz zu verwenden. Ich habe es mit meinem Windows 7-Laptop getestet und obwohl Windows die Fehlermeldung "Sie sind ein Idiot und das ist eine schlechte Idee - möchten Sie diese Konfiguration NOCH speichern? Ja / Nein" ausgibt, funktioniert es .

Software mit strengeren Sicherheitsüberprüfungen scheint Sie jedoch vor sich selbst zu schützen ...

Trotzdem kann ich nicht anders, als zu glauben, dass es einen Weg geben muss, es zu fälschen ...


1

Es ist möglich, aber wie im verlinkten Artikel erläutert, muss Ihr Computer bereits wissen, wie er an die Gateway-Adresse gelangt. Dies bedeutet, dass Sie post-upzum manuellen Hinzufügen der Routen anstelle von verwenden müssengateway

iface eth0 inet static
  address 10.100.10.99
  netmask 255.255.255.0
  post-up ip route 10.100.0.0/24 via 10.100.10.x # router that can route you to the 10.100.0.0/24 network
  post-up ip route 0.0.0.0 via 10.100.0.1

2
Diese ip routeBefehle schlagen fehl, wenn Sie sie versuchen ... auch wenn Sie den fehlenden addBefehl hinzufügen .
Jander
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.