Proxy ARP

Aus Foxwiki

Proxy ARP - Ermöglicht einem Router, ARP-Anforderungen für Hosts zu beantworten

Beschreibung

Die Hosts befinden sich dabei in durch einen Router getrennten Netzen – verwenden untypischerweise jedoch den gleichen IP-Adressbereich.
  • Bei der Kommunikation ist für die Hosts der Router transparent, d. h.
  • er braucht nicht speziell angesprochen zu werden, sondern die Hosts können wie gewöhnlich Pakete über verschiedene Netze hinweg versenden.
Sendet Computer A eine ARP-Anforderung an Computer B, reagiert der dazwischen liegende Router anstelle des Computers B mit einer ARP-Antwort und der Hardware-Adresse der Schnittstelle (MAC-Adresse des Ports am Router), auf der die Anfrage empfangen wurde.
  • Der anfragende Computer A sendet dann seine Daten an den Router, der sie dann an Computer B weiterleitet.
Proxy ARP kann man am ARP-Cache von Computer A erkennen.
  • Falls für mehrere IP-Adressen dieselbe MAC-Adresse eingetragen ist, arbeitet der Router mit dieser MAC-Adresse als Proxy.
  • Die Einträge können auch ein Hinweis auf einen Angriff durch ARP-Spoofing sein.
Proxy-ARP ist eine Technik, bei der ein Proxy-Server in einem bestimmten Netz die Address Resolution Protocol (ARP)-Anfragen für eine IP-Adresse beantwortet, die sich nicht in diesem Netz befindet.
  • Der Proxy kennt den Zielort des Datenverkehrs und bietet seine eigene MAC-Adresse als (vorgeblich endgültiges) Ziel an.[1] Der an die Proxy-Adresse gerichtete Datenverkehr wird dann in der Regel vom Proxy über eine andere Schnittstelle oder über einen Tunnel an das beabsichtigte Ziel geleitet.
Der Prozess, der dazu führt, dass der Proxy-Server mit seiner eigenen MAC-Adresse auf eine ARP-Anfrage nach einer anderen IP-Adresse für Proxy-Zwecke antwortet, wird manchmal als Publishing bezeichnet.
In diesem Dokument wird das Konzept des Proxy Address Resolution Protocol (ARP) erläutert.
  • Proxy-ARP ist das Verfahren, bei dem ein Host, in der Regel ein Router, ARP-Anforderungen für einen anderen Rechner beantwortet.
  • Durch "Fälschen" seiner Identität übernimmt der Router die Verantwortung für das Routing von Paketen an das "echte" Ziel.
  • Proxy-ARP kann Computer in einem Subnetz dabei unterstützen, entfernte Subnetze zu erreichen, ohne dass Routing oder ein Standard-Gateway konfiguriert werden müssen.
  • Proxy ARP wird in RFC 1027 definiert.
Anforderungen

Für dieses Dokument müssen die ARP- und Ethernet-Umgebung verstanden werden.

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung.

  • Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration.
  • Wenn sich Ihr Netzwerk in der Produktionsumgebung befindet, müssen Sie sich bei jedem Befehl zunächst dessen potenzielle Auswirkungen vor Augen führen.

Vorteile

Der Hauptvorteil des Proxy-ARP besteht darin, dass es einem einzelnen Router in einem Netzwerk hinzugefügt werden kann und die Routing-Tabellen der anderen Router im Netzwerk nicht stört.

Proxy-ARP muss im Netzwerk verwendet werden, in dem IP-Hosts nicht mit einem Standard-Gateway konfiguriert sind oder über keine intelligenten Routingfunktionen verfügen.

Nachteile

Hosts haben keine Ahnung von den physischen Details ihres Netzwerks und nehmen an, dass es sich um ein flaches Netzwerk handelt, in dem sie jedes Ziel erreichen können, indem sie einfach eine ARP-Anfrage senden.

Die Verwendung von ARP hat jedoch Nachteile
  • Dies erhöht den ARP-Datenverkehr in Ihrem Segment.
  • Hosts benötigen größere ARP-Tabellen, um IP-MAC-Adresszuordnungen handhaben zu können.
  • Sicherheit kann untergraben werden.
  • Eine Maschine kann behaupten, eine andere zu sein, um Pakete abzufangen, was als "Spoofing" bezeichnet wird.
  • Dies funktioniert nicht in Netzwerken, die ARP nicht für die Adressauflösung verwenden.
  • Es wird nicht für alle Netzwerktopologien verallgemeinert.
  • Beispiel: mehrere Router, die zwei physische Netzwerke verbinden.

Funktionsweise

Netzwerkdiagramm

"network diagram"

Host A (172.16.10.100) in Subnetz A muss Pakete an Host D (172.16.20.200) in Subnetz B senden.
  • Wie im Diagramm gezeigt, verfügt Host A über eine /16-Subnetzmaske.
  • Das bedeutet, dass Host A glaubt, direkt mit dem gesamten Netzwerk 172.16.0.0 verbunden zu sein.
  • Wenn Host A mit Geräten kommunizieren muss, die seiner Meinung nach direkt verbunden sind, sendet er eine ARP-Anforderung an das Ziel.
  • Wenn Host A ein Paket an Host D senden muss, glaubt Host A, dass Host D direkt verbunden ist, und sendet daher eine ARP-Anforderung an Host D.
Um Host D (172.16.20.200) zu erreichen, benötigt Host A die MAC-Adresse von Host D.
Host A sendet daher eine ARP-Anforderung an Subnetz A, wie dargestellt
MAC-Adresse des Absenders IP-Adresse des Absenders MAC-Zieladresse Target IP address
00-00-0c-94-36-aa 172.16.10.100 00-00-00-00-00-00 172.16.20.200
In dieser ARP-Anforderung fordert Host A (172.16.10.100) an, dass Host D (172.16.20.200) seine MAC-Adresse sendet.
  • Das ARP-Anforderungspaket wird dann in einem Ethernet-Frame mit der MAC-Adresse von Host A als Quelladresse und einer Broadcast-Adresse (FFFF.FFFF.FFFF) als Zieladresse gekapselt.
  • Da es sich bei der ARP-Anforderung um eine Broadcast-Anforderung handelt, erreicht sie alle Knoten im Subnetz A, das die e0-Schnittstelle des Routers enthält, jedoch nicht Host D.
  • Der Broadcast erreicht Host D nicht, da die Router standardmäßig keine Broadcasts weiterleiten.
Da der Router weiß, dass sich die Zieladresse (172.16.20.200) in einem anderen Subnetz befindet und Host D erreichen kann, antwortet er mit seiner eigenen MAC-Adresse auf Host A.
MAC-Adresse des Absenders IP-Adresse des Absenders MAC-Zieladresse Target IP address
00-00-0c-94-36-ab 172.16.20.200 00-00-0c-94-36-aa 172.16.10.100
Dies ist die Proxy-ARP-Antwort, die der Router an Host A sendet.
  • Das Proxy-ARP-Antwortpaket wird in einem Ethernet-Frame mit der MAC-Adresse des Routers als Quelladresse und der MAC-Adresse von Host A als Zieladresse eingekapselt.
  • Die ARP-Antworten werden immer als Unicast an den ursprünglichen Anforderer gesendet.
Nach Erhalt dieser ARP-Antwort aktualisiert Host A seine ARP-Tabelle wie folgt
IP-Adresse MAC-Adresse
172.16.20.200 00-00-0c-94-36-ab
Von nun an leitet Host A alle Pakete, die 172.16.20.200 (Host D) erreichen sollen, an die MAC-Adresse 00-00-0c-94-36-ab (Router) weiter.
  • Da der Router weiß, wie er Host D erreicht, leitet der Router das Paket an Host D weiter.
  • Der ARP-Cache auf den Hosts in Subnetz A wird mit der MAC-Adresse des Routers für alle Hosts in Subnetz B gefüllt.
  • Daher werden alle Pakete, die an Subnetz B gerichtet sind, an den Router gesendet.
  • Der Router leitet diese Pakete an die Hosts in Subnetz B weiter.
Der ARP-Cache von Host A ist in der folgenden Tabelle dargestellt
IP-Adresse MAC-Adresse
172.16.20.200 00-00-0c-94-36-ab
172.16.20.100 00-00-0c-94-36-ab
172.16.10.99 00-00-0c-94-36-ab
172.16.10.200 00-00-0c-94-36-bb
Hinweis
Einer einzelnen MAC-Adresse, der MAC-Adresse dieses Routers, werden mehrere IP-Adressen zugeordnet.
  • Dies zeigt an, dass Proxy-ARP verwendet wird.
Die Cisco-Schnittstelle muss so konfiguriert werden, dass sie Proxy-ARP akzeptiert und darauf reagiert.
  • Dies ist standardmäßig aktiviert.
  • Die Fehlermeldung no ip proxy-arp muss auf der Schnittstelle des mit dem ISP-Router verbundenen Routers konfiguriert werden.
  • Proxy-ARP kann über den Schnittstellenkonfigurationsbefehl für jede Schnittstelle einzeln deaktiviert werden. no ip proxy-arp, wie dargestellt:
Router# configure terminal
Enter configuration commands, one per line.
  • End with CNTL/Z.
Router(config)# interface ethernet 0
Router(config-if)# no ip proxy-arp
Router(config-if)# ^Z
Router#
Um den Proxy-ARP auf einer Schnittstelle zu aktivieren, geben Sie ip proxy-arp interface configuration-Befehl.
Hinweis
Wenn Host B (172.16.10.200/24) in Subnetz A versucht, Pakete an Ziel-Host D (172.16.20.200) in Subnetz B zu senden, prüft er dessen IP-Routing-Tabelle und leitet das Paket entsprechend weiter.
  • Host B (172.16.10.200/24) führt für die IP-Adresse von Host D (172.16.20.200) kein ARP aus, da er zu einem anderen Subnetz gehört als das, was auf der Host-B-Ethernet-Schnittstelle 172.16.20.200/24 konfiguriert ist.


Anwendungen

Beitritt zu einem Broadcast-LAN

mit seriellen Verbindungen (etwa dialup oder VPN Verbindungen)

Angenommen, es handelt sich um eine Ethernet-Broadcast-Domäne (etwa eine Gruppe von Stationen, die mit demselben Hub oder Switch (VLAN) verbunden sind), die einen bestimmten IPv4-Adressbereich verwendet (etwa 192.168.0.0/24, wobei 192.168.0.1 - 192.168.0.127 den verkabelten Knoten zugewiesen sind).

  • Einer oder mehrere der Knoten ist ein access router, der Einwahl- oder VPN-Verbindungen annimmt.
  • Der Zugangsrouter weist den Einwahlknoten IP-Adressen im Bereich 192.168.0.128 - 192.168.0.254 zu; für dieses Beispiel wird angenommen, dass ein Einwahlknoten die IP-Adresse 192.168.0.254 erhält.

Der Zugangsrouter verwendet Proxy-ARP, um den Einwahlknoten im Subnetz präsent zu machen, ohne mit dem Ethernet verkabelt zu sein: Der Zugangsrouter "veröffentlicht" seine eigene MAC-Adresse für 192.168.0.254.

  • Wenn nun ein anderer Knoten, der mit dem Ethernet verbunden ist, mit dem Einwahlknoten sprechen will, wird er im Netz nach der MAC-Adresse 192.168.0.254 fragen und die MAC-Adresse des Zugangsrouters finden.
  • Er sendet also seine IP-Pakete an den Access-Router, und der Access-Router weiß, dass er sie an den jeweiligen Einwahlknoten weiterleiten muss.
  • Alle Einwahlknoten erscheinen daher den verkabelten Ethernet-Knoten so, als ob sie mit demselben Ethernet-Subnetz verkabelt wären.

Entnahme mehrerer Adressen aus einem LAN

Nehmen wir an, eine Station (etwa ein Server) mit einer Schnittstelle (10.0.0.2) ist mit einem Netzwerk (10.0.0.0/24) verbunden.

  • Bestimmte Anwendungen können mehrere IP-Adressen auf dem Server erfordern.
  • Unter der Voraussetzung, dass die Adressen aus dem Bereich 10.0.0.0/24 stammen müssen, wird das Problem durch Proxy-ARP gelöst.
  • Zusätzliche Adressen (etwa 10.0.0.230-10.0.0.240) werden aliased auf die loopback-Schnittstelle des Servers gelegt (oder speziellen Schnittstellen zugewiesen, was typischerweise bei VMware/UML/jails/vservers/anderen virtuellen Serverumgebungen der Fall ist) und auf der 10.0.0.2-Schnittstelle "veröffentlicht" (obwohl viele Betriebssysteme die direkte Zuweisung mehrerer Adressen zu einer Schnittstelle erlauben, so dass derartige Umgehungen nicht erforderlich sind).

Auf einer Firewall

In diesem Szenario kann eine Firewall mit einer einzigen IP-Adresse konfiguriert werden.

  • Ein einfaches Beispiel für eine solche Anwendung wäre die Platzierung einer Firewall vor einem einzelnen Host oder einer Gruppe von Hosts in einem Subnetz.
  • Beispiel: Ein Netzwerk (10.0.0.0/8) hat einen Server (10.0.0.20), der geschützt werden soll.
  • Eine Proxy-ARP-Firewall kann vor dem Server platziert werden.
  • Auf diese Weise wird der Server hinter eine Firewall gestellt, ohne dass weitere Änderungen am Netzwerk vorgenommen werden müssen.
Mobile-IP

Im Falle von Mobile-IP verwendet der Home Agent Proxy-ARP, um Nachrichten im Namen des mobilen Knotens zu empfangen, damit er die entsprechende Nachricht an die Adresse des tatsächlichen mobilen Knotens (Care-of address) weiterleiten kann.

Transparentes Subnetz-Gatewaying

Eine Einrichtung, bei der zwei physische Segmente dasselbe IP-Subnetz nutzen und über einen router miteinander verbunden sind.

  • Diese Verwendung ist in RFC 1027 dokumentiert.

Redundanz

ARP-Manipulationstechniken sind die Grundlage für Protokolle, die redundancy in Broadcast-Netzwerken (etwa Ethernet) bieten, insbesondere Common Address Redundancy Protocol und Virtual Router Redundancy Protocol.

Sicherheit

Anhang

Siehe auch

Dokumentation

  1. Hal Stern (October 10, 2001). "ARP networking tricks".
  • ITworld.
  1. "arp(8) man page".
  2. "Pseudo-bridges with Proxy-ARP".

Links

Weblinks
Implementierungen
  1. OpenBSD implements proxy ARP.[2]
  2. Linux implements proxy ARP.[3]
  1. https://de.wikipedia.org/wiki/Address_Resolution_Protocol#Proxy_ARP
  2. Multi-LAN Address Resolution. RFC 925.
  3. Using ARP to Implement Transparent Subnet Gateways. RFC 1027.
  4. W.Richard Stevens. The Protocols (TCP/IP Illustrated, Volume 1). Addison-Wesley Professional; 1st edition (December 31, 1993). ISBN 0-201-63346-9
  5. https://en.wikipedia.org/wiki/Proxy_ARP
  6. https://www.cisco.com/c/de_de/support/docs/ip/dynamic-address-allocation-resolution/13718-5.html
  7. IP-Supportressourcen
  8. NAT-Support-Seite
  9. Tools und Ressourcen
  10. Technischer Support und Dokumentation für Cisco Systeme