dhcpd geeft zomaar ip's weg

Pagina: 1
Acties:

  • Ibex
  • Registratie: November 2002
  • Laatst online: 14:00

Ibex

^^ met stom.

Topicstarter
Mijn probleem is als volgt:

Het is de bedoeling dat ik een dhcpserver heb, welke aan clients ip's geeft naargelang hun mac adres. Zodat elke pc steeds hetzelfde ip adres krijgt, en ik die ip's weer kan gebruiken in een iptables firewall.

Wanneer ik de log bekijk, merk ik dat de pc een DHCPDISCOVER doet, en dat de dhcp server zegt: no free leases. Echter, wanneer een pc ooit in het verleden al een ip heeft gekregen, lijkt het erop dat de pc dan deze reactie negeert, en een DHCPREQUEST doet met het ip dat hij ooit heeft gekregen. De dhcpserver zend dan doodleuk een DHCPACK, en de pc heeft zijn ip. Wanneer deze pc de interface down zet, zie ik in de logs van de dhcp server een DHCPRELEASE staan, met op het einde van de regel "not found", wat er op wijst dat de dhcp server deze ip inderdaad niet kent.

De pc kan natuurlijk nog steeds niet door de iptables firewall, maargoed, ik wil dat de dhcpserver de pc weigert als deze niet in een host { } block staat. De pc zou dan in geen geval een ip aangeboden mogen krijgen.

Mijn dhcpd.conf:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
option subnet-mask 255.255.0.0;
option ip-forwarding off;
ddns-update-style none;
authoritative;
deny unknown-clients;

subnet 10.3.0.0 netmask 255.255.0.0 {
  default-lease-time 345600;
  max-lease-time 691200;
  option domain-name "COMPANY";
  option domain-name-servers 195.130.130.130;
  option routers 10.3.0.1;
}

# entry my_self
host my_self {
  hardware ethernet 00:0d:fe:37:44:56;
  fixed-address 10.3.0.20;
}

# entry koen_franken
host koen_franken {
  hardware ethernet 00:90:4b:cc:3b:48;
  fixed-address 10.3.0.22;
}


Ik probeerde zoals je kunt zien reeds gebruik te maken van een deny unknown-clients, wat lijkt te werken als een pc nog nooit een ip heeft gehad (want een of andere pc hier in de buurt probeert de hele tijd een ip te krijgen via de dhcp, maar daar komt dus niet meer van in de logs als een DHCPDISCOVER met daarnaast "no free leases", deze krijgt met andere woorden geen ip, zoals het hoort).
Maar eens een pc ooit een ip heeft gehad, lijkt dit geen verschil te maken.

[ Voor 23% gewijzigd door Ibex op 27-04-2006 11:02 ]

Archlinux - Rode gronddingetjes zijn lekker - Komt uit .be


Verwijderd

Waarschijnlijk staan er nog 'oude' leases in je dhcpd.leases file (/var/state/dhcpd/dhcpd.leases ofzoiets) waardoor je dhcp server een beetje in de war is. Als je dat bestand leeghaald, je dhcpd server moet dan natuurlijk niet draaien, zou het gewoon moeten werken denk ik.

Verwijderd

Als ze altijd hetzelfde IP moeten krijgen, waarom geef je ze dan niet gewoon een static IP en draai je DHCP voor alle adressen die je niet static hebt uitgedeeld (voor bv. vrienden die met laptopje langskomen, etc)

  • Sir Isaac
  • Registratie: September 2002
  • Laatst online: 21-05-2025
Vanwege een centrale configuratie misschien? Op deze manier hoeft er op de clients niets te worden ingesteld.

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

volgens mij gelden die opties binnen subnet{} die je opgeeft alleen voor het subnet waaraan je uitdeelt uit een range. DIe heb ik dus een stukje omhoog gezet.
Nu is het ook nog de vraag, hoe reageerd dhcpd als je geen range opgeeft..
Wel eens aan gedacht dat het goed mogelijk is dat dan gewoon het volledige subnet als range gebruikt wordt? Ik weet het niet zeker, en ik kan het ook niet terugvinden in de manpage. er staat niets over wat er gebeurd wanneer je geen range invult.. Dus ik heb er effie een range bij gezet. er staat wel een # voor dus hij doet nu niets, maar haal die # even weg als na het testen blijkt dat het nog steeds niet werkt..

probeer'm eens zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
authoritative;
deny unknown-clients;
default-lease-time                 345600;
max-lease-time                     691200;
ddns-update-style                 none;
option subnet-mask               255.255.0.0;
option ip-forwarding                off;
option domain-name              "COMPANY";
option domain-name-servers   195.130.130.130;
option routers                        10.3.0.1;

subnet 10.3.0.0 netmask 255.255.0.0 {
#range 10.3.0.100 10.3.0.150;
}

# entry my_self
host my_self {
  hardware ethernet 00:0d:fe:37:44:56;
  fixed-address 10.3.0.20;
}

# entry koen_franken
host koen_franken {
  hardware ethernet 00:90:4b:cc:3b:48;
  fixed-address 10.3.0.22;
}

  • weijl
  • Registratie: Juli 2002
  • Niet online
possamai schreef op donderdag 27 april 2006 @ 14:37:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
authoritative;
deny unknown-clients;
default-lease-time                 345600;
max-lease-time                     691200;
ddns-update-style                 none;
option subnet-mask               255.255.0.0;
option ip-forwarding                off;
option domain-name              "COMPANY";
option domain-name-servers   195.130.130.130;
option routers                        10.3.0.1;

subnet 10.3.0.0 netmask 255.255.0.0 {
#range 10.3.0.100 10.3.0.150;
}

# entry my_self
host my_self {
  hardware ethernet 00:0d:fe:37:44:56;
  fixed-address 10.3.0.20;
}

# entry koen_franken
host koen_franken {
  hardware ethernet 00:90:4b:cc:3b:48;
  fixed-address 10.3.0.22;
}
ik heb em eigenlijk exact zo draaien als hierboven, IPs en MAC addresses en wat opties daargelaten dan.
hij neemt die range dan niet mee, hij kijkt dan in feite alleen naar het host gedeelte, en de machines met een MAC die gedefineerd staan zullen een IP krijgen, aldan static of niet.

ik denk idd ook dat er ergens in een lease file nog wat staat (hetzij op de client, hetzij serverside, ik gok client side). het is namelijk een normale gang van dat een client mits hij geen dhcp lease kan aanvragen (om wat voor reden dan ook) dat hij een eerdere lease probeert (mits die er is) te bemachtigen.
Pagina: 1