Obsah lekce
Většina studentů síťových oborů zná protokol ARP (Address Resolution Protocol), ale protokol Proxy ARP jim ne vždy něco říká. V této lekci vysvětlím, jak proxy ARP funguje, použijeme k tomu následující topologii:
V uvedeném příkladu máme dvě podsítě: 10.1.1.0 /24 a 10.2.2.0 /24. Směrovač uprostřed je připojen k oběma podsítím. Dole vidíte dva hostitele (H1 a H2) a nahoře máme server (S1).
Při bližším pohledu na hostitele vidíte, že H1 má masku podsítě /24 a H2 má masku podsítě /8. Nahoře jsou dva hostitelé (H1 a H2). Když se H1 pokusí spojit se serverem na adrese 10.2.2.100, stane se následující:
- H1 porovná svou IP adresu a masku podsítě s IP adresou serveru (10.2.2.100) a rozhodne, že server je v jiné podsíti.
- H1 se rozhodne poslat paket pro server na svou výchozí bránu (10.2.2.100).1.1.254).
- H1 zkontroluje svou tabulku ARP, zda v ní není záznam pro 10.1.1.254, a pokud ne, odešle požadavek ARP.
- Směrovač odpoví na požadavek ARP a odešle svou adresu MAC rozhraní FastEthernet 0/0.
- Směrovač se pokusí odeslat požadavek ARP.
Takto funguje ARP normálně, když se H2 pokusí odeslat IP paket směrem k serveru, stane se něco jiného:
- H2 porovná svou IP adresu a masku podsítě s IP adresou serveru (10.2.2.100) a rozhodne, že server je ve stejné podsíti.
- H2 zkontroluje svou tabulku ARP, zda v ní není položka pro 10.2.2.100, a pokud ne, odešle požadavek ARP.
Server však není v podsíti 10.1.1.0 /24 a směrovače nepředávají broadcastový provoz, takže požadavek ARP se k serveru nikdy nedostane. Není však ztracena veškerá naděje….tady přichází na pomoc proxy ARP!
Pokud je na směrovači povolen proxy ARP, stane se toto:
- Směrovač vidí požadavek ARP od H2 v podsíti 10.1.1.0 /24 a vidí, že se jedná o požadavek ARP na něco v podsíti 10.2.2.1.0 /24.
- Směrovač si uvědomí, že ví, jak se dostat do podsítě 10.2.2.0 /24, a rozhodne se na požadavek ARP odpovědět, aby pomohl H2.
- Směrovač pošle odpověď ARP H2 s jeho MAC adresou na rozhraní FastEthernet 0/0.
Sledujete mě zatím? Ukážu vám, jak to vypadá na skutečném směrovači.
Konfigurace
Pro demonstraci proxy ARP použiji následující topologii:
Je to stejné jako na obrázku, jak jsem vám právě ukázal, ale používám směrovače ve své laboratoři. Zakázáním „ip routing“ mohu ze směrovačů udělat obyčejná hostitelská zařízení. Začněme tím, že zakážeme směrování na R1, R2 a serveru:
H1, H2 & S1(config)#no ip routing
Nakonfigurujme výchozí bránu na těchto zařízeních:
H1 & H2(config)#ip default-gateway 10.1.1.254
S1(config)#ip default-gateway 10.2.2.254
Nakonfigurujme všechny IP adresy, které potřebujeme:
H1(config)#interface fastEthernet 0/0H1(config-if)#ip address 10.1.1.1 255.255.255.0
H2(config)#interface fastEthernet 0/0H2(config-if)#ip address 10.1.1.2 255.0.0.0
S1(config)#interface FastEthernet 0/0S1(config-if)#ip address 10.2.2.100 255.255.255.0
Všimněte si, že jsem zde použil masku podsítě /8 na H2. Zde je směrovač:
R1(config)#interface FastEthernet 0/0R1(config-if)#ip address 10.1.1.254 255.255.255.0R1(config-if)#interface FastEthernet 0/1R1(config-if)#ip address 10.2.2.254 255.255.255.0
To je vše, co musíme nakonfigurovat… Pojďme si naši práci ověřit!
Ověření
Pro otestování proxy ARP nejprve pošlu nějaký provoz z H1 na server, abyste viděli, jak vypadá normální ARP, a pak pošleme nějaký provoz z H2 na server.
Proxy ARP je ve výchozím nastavení povoleno, jak vidíte zde:
R1#show ip interface FastEthernet 0/0 | include Proxy Proxy ARP is enabled
Abych viděl v reálném čase, co se děje, použiji na R1 následující ladění:
R1#debug arpARP packet debugging is on
Pošleme několik pingů z hostitele A na server:
.