oppitunnin sisältö
Verkko-opiskelijoista useimmat tuntevat ARP:n (Address Resolution Protocol), mutta Proxy ARP ei aina ole tuttu. Tällä oppitunnilla selitän miten proxy ARP toimii, käytämme tähän seuraavaa topologiaa:
Yllä olevassa esimerkissä meillä on kaksi aliverkkoa: 10.1.1.0 /24 ja 10.2.2.0 /24. Keskellä oleva reititin on yhteydessä molempiin aliverkkoihin. Alhaalla näkyy kaksi isäntää (H1 ja H2) ja ylhäällä on palvelin (S1).
Kun katsot isäntiä tarkemmin, näet, että H1:llä on aliverkon peite /24 ja H2:llä /8. Kun H1 yrittää tavoittaa palvelinta osoitteessa 10.2.2.100, tapahtuu seuraavaa:
- H1 vertaa IP-osoitettaan ja aliverkkomaskiaan palvelimen IP-osoitteeseen (10.2.2.100) ja päättää, että palvelin on toisessa aliverkossa.
- H1 päättää lähettää paketin palvelimelle oletusyhdyskäytävälleen (10.1.1.1.254).
- H1 tarkistaa ARP-taulustaan, onko siellä merkintä 10.1.1.254, jos ei ole, se lähettää ARP-pyynnön.
- Reititin vastaa ARP-pyyntöön lähettämällä FastEthernet 0/0 -rajapintansa MAC-osoitteen.
Tämä ARP toimii normaalisti näin, kun H2 yrittää lähettää IP-paketin kohti palvelinta tapahtuu jotain muuta:
- H2 vertaa IP-osoitettaan ja aliverkon peiteosoitettaan palvelimen IP-osoitteeseen (10.2.2.100) ja päättää, että palvelin on samassa aliverkossa.
- H2 tarkistaa ARP-taulustaan, onko siellä merkintää 10.2.2.100, jos ei ole, se lähettää ARP-pyynnön.
Palvelin ei kuitenkaan ole aliverkossa 10.1.1.0 /24 ja reitittimet eivät lähetä broadcast-liikennettä eteenpäin, joten ARP-pyyntö ei koskaan pääse palvelimelle. Kaikki toivo ei kuitenkaan ole menetetty….Tässä kohtaa proxy ARP tulee apuun!
Kun proxy ARP on käytössä reitittimessä, tapahtuu näin:
- Reititin näkee ARP-pyynnön H2:lta aliverkossa 10.1.1.0 /24 ja näkee, että kyseessä on ARP-pyyntö jollekin alueelle 10.2.2.0 /24-aliverkossa.
- Reititin tajuaa, että se tietää, miten päästä 10.2.2.0 /24-aliverkkoon ja päättää vastata ARP-pyyntöön auttaakseen H2:ta.
- Reititin lähettää H2:lle ARP-vastauksen, jossa on sen MAC-osoite FastEthernet 0/0 -liitännän kautta.
Seurasitko minua tähän asti? Näytän sinulle, miltä tämä näyttää oikeassa reitittimessä.
Konfigurointi
Käytän seuraavaa topologiaa havainnollistamaan proxy-ARP:
Se on sama kuin kuvassa, jonka äsken näytin sinulle, mutta käytän laboratoriossani olevia reitittimiä. Poistamalla käytöstä ”ip routing” voin muuttaa reitittimet tavallisiksi host-laitteiksi. Aloitetaan poistamalla reititys käytöstä R1:stä, R2:sta ja palvelimesta:
H1, H2 & S1(config)#no ip routing
Konfiguroidaan oletusyhdyskäytävä näihin laitteisiin:
H1 & H2(config)#ip default-gateway 10.1.1.254
S1(config)#ip default-gateway 10.2.2.254
Konfiguroidaan kaikki tarvitsemamme IP-osoitteet:
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
Huomaa, että käytin tässä kohtaa H2:lla aliverkon maskia /8. Tässä on reititin:
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
Ei muuta konfigurointia tarvinnut tehdä…todennetaan työmme!
Todentaminen
Testataksemme proxy ARP:tä lähetän ensin hieman liikennettä H1:ltä palvelimelle, jotta näette, miltä normaali ARP näyttää, ja sen jälkeen lähetämme hieman liikennettä H2:ltä palvelimelle.
Proxy ARP on oletusarvoisesti käytössä, kuten näet tästä:
R1#show ip interface FastEthernet 0/0 | include Proxy Proxy ARP is enabled
Katsoakseni reaaliajassa, mitä tapahtuu, käytän seuraavaa debugia R1:ssä:
R1#debug arpARP packet debugging is on
Lähetetään muutamia pingauksia isäntä A:sta palvelimelle: