Just nu i M3-nätverket
Gå till innehåll

Konfigurering av dhcpd


zopoz

Rekommendera Poster

Hej.

 

Jag har ett nätverk där jag ska sätta upp en dhcp server. Nätverkstopologin ser ut som följande.

 

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,s,,,,,,,,,,,,,,,,,,,,,,,,s

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|,,,,,,,,,,,,,,,,,,,,,,,,|

DHCPD ----- s ----- router ------------ router

 

, = ingenting. (texten formaterades helt fel utan någonting)

s = subnät.

 

Som jag har försökt att illustrera här så är dhcp servern fysiskt ansluten till ett subnät, i andra ändan av det finns router1 som har är kopplad till 3 subnät.

 

Det jag hade tänkt att göra är följande.

 

Varje router kommer att forwarda varje dhcp-request vidare till dhcp servern, men varje router kommer att forwarda till olika ip-adresser.

 

På servern kör jag med ip aliasing, så att jag kan simulera en ny ip-adress för varje subnät som finns bakom det subnät dhcpd är fysiskt kopplad till. I bilden visar jag bara två, men det är ju samma princip.

 

Jag har ej testat denna lösningen än så jag vet inte ifall det fungerar, vilket jag iof tycker att det borde. Men däremot tycker jag ju att det är alldeldes för omständigt att göra på det här sättet. Men eftersom isc dhcpd inte kan avgöra vartifrån requesten kommer ifrån i ett shared-network topologi så ser jag inte någon lösning med dhcpd. Kanske finns det något program som kan ta emot requesten och titta vem som skicka den (vilken router och vilket interface den kom ifrån) och sen skicka vidare detta till dhcpd.

 

Alternativt så skriver man en egen dhcpd som klarar av detta... Som om inte detta vore omständigt ;)

 

Om någon har något tips på hur jag kan göra eller om jag ska hålla mig till den första iden så vore det mycket tacksamt.

 

/Mathias

 

[inlägget ändrat 2007-02-11 22:40:21 av zopoz]

[inlägget ändrat 2007-02-11 22:41:46 av zopoz]

[inlägget ändrat 2007-02-11 22:44:41 av zopoz]

Länk till kommentar
Dela på andra webbplatser

Det är lite svårt att se exakt hur du menar, eftersom forumet har en förmåga att trycka ihop ASCII-bilder.

 

Oberoende...isc dhcpd klarar av att köra multipla subnet, i alla fall om requesten kommer via den router som man lägger upp som 'option routers IP;' i konfen för respektive subnet.

 

I routern (dvs gateway) som har hand om respektive subnät måste man sedan konfa en dhcp-relay-agent som pekar på IP för din dhcpd.

 

Vi kör just nu ett upplägg med olika subnät på samma isc dhcpd, och det fungerar hur bra som helst!

 

==Coleburn==

 

--------------------

"It takes a lot of knowledge to

really mess something up!"

 

Länk till kommentar
Dela på andra webbplatser

Tack för ditt svar, jag ska dock försöka förklara lite bättre denna gången hur det ser ut här.

 

dhcp server ligger på ett nät, på samma nät är även en router kopplad. Från denna routers andra interface så har den ett andra subnät (där det finns hosts), routerns tredje interface är kopplad till en router nummer 2. Denna router har ett interface till ett subnät det också finns hosts. Sedan är router2 kopplad till router 3 med ett eget subnät för hosts igen och sen en koppling till router4 ... o.s.v.

 

Alla de subnät som routrarna har sitter det hosts på, de är dessa som ska tilldelas via dhcp. Eftersom inget subnät är direkt kopplad till dhcp servern så är det ett shared-network statement jag måste använda, men när jag läser i manualen för dhcpd.conf så står det så här angående "the shared-network statement"

 

"There is no way to distinguish on which subnet of a shared network a client should boot."

 

Jag hoppas att detta är lite mera förklarande än min ascii-bild.

 

 

Jag tog och ritade en liten bild som illustrerar topologin igen.

 

R1-R6 = routers

S1-S6 = Subnät (192.168.0.0-192.168.5.0/24)

 

/Mathias

 

 

 

[bild bifogad 2007-02-13 13:08:36 av zopoz]

[inlägget ändrat 2007-02-13 13:11:10 av zopoz]

918403_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Förutsatt att R1 har rutter till alla subnät (S2-S6), och alla routrar (R2-R6) har rutter till dhcp, så går detta att lösa (självklart beroende på vad routrarna klarar av). Om routrarna klarar av att agera dhcp-relay-agent, så ställer man bara in IP för dhcp i dem, och de relayar förfrågan till dhcpd.

dhcpd konfigurationen blir då något ungefär liknande:

Global konfiguration, som kan innehålla bla.
option domain-name
option domain-name-servers
default-lease-time
max-lease-time

osv.

Eventuellt kan man behöva direktiven:

option router-discovery false;

samt direktiv för att inte agera dhcp-server på eventuella andra interface/subnät

subnet aaa.bbb.ccc.ddd netmask eee.fff.ggg.hhh {

not authoritative;

}

 

Subnätsdefinitioner (enligt ditt fall)
subnet 192.168.0.0 netmask 255.255.255.0 {
       pool {
          range                    192.168.0.X 192.168.0.Y; //X och Y beroende på var du vill starta resp avsluta poolen
       }
       option routers           IP.till.routern.för.ovanstående.subnät;
}

subnet 192.168.X.0 helt enligt samma princip som ovan.

 

 

Vi kör med detta upplägg, visserligen med publika IP både på routrar och IP-pooler samt att routrarna snackar ospf mellan varandra...men principiellt är det ingen skillnad jämfört med ditt nät.

 

 

--Edit--

Fixade lite typo

 

==Coleburn==

 

--------------------

"It takes a lot of knowledge to

really mess something up!"

 

[inlägget ändrat 2007-02-14 10:07:37 av Coleburn]

Länk till kommentar
Dela på andra webbplatser

Det låter utmärkt.

 

Jag hade fått för mig att jag skulle använda ett shared-network statement. Men nu när du inte sa något om det utan bara kör subnet statements så var jag tvungen att kolla upp manualen igen. Och det visade sig att jag hade läst fel första gången.

 

"For every subnet which will be served, and for every subnet to which

the dhcp server is connected, there must be one subnet declaration..."

 

Tack så mycket för hjälpen. Det sparade mig antagligen en hel del tid :)

 

/mvh Mathias

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...