Portál AbcLinuxu, 8. května 2025 22:52

Dotaz: Jak zablokovat DHCP

21.3.2009 22:42 artec | skóre: 24
Jak zablokovat DHCP
Přečteno: 831×
Odpovědět | Admin

Zdravim,

potrebuji na routeru s 2 sitovkami  zablokovat DHCP provoz (jak od klienta, tak od serveru). Na samotnem routeru DHCP server nebezi.

Zkousel jsem blokaci portu UDP 67 (server) a 68 (klient), ale to nepomohlo.

Zkousel jsem i na routeru dat do iptables pouze:

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
 
nic potom nejelo, ale DHCP si funguje vesele dal.
Na nekolika forech jsem nasel, ze komunikace klienta a serveru nevyuziva IP pakety, ale nejaky RAW socket, ktery pry nejde na linuxu zakazat. Je to vubec mozne?
Da se nejak odfiltrovat DHCPDISCOVER od klienta a DHCPOFFER od serveru? Koukal jsem na l7-filter, ale z toho co jsem pochopil, tak dokaze odchytit az pozdejsi komunikaci na IP paketech pres UDP (67,68).

Diky

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.3.2009 00:15 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
Odpovědět | | Sbalit | Link | Blokovat | Admin
ale DHCP si funguje vesele dal.
To vieš podľa čoho?
the.max avatar 22.3.2009 01:46 the.max | skóre: 46 | blog: Smetiště
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
protoze to prideluje adresy od 169.254.0.1 až do 169.254.255.254 :-D
KERNEL ULTRAS Fan Team || Sabaton - nejlepší učitel dějepisu || Gentoo - dokud nás systemd nerozdělí.
vencour avatar 22.3.2009 08:07 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Čim to asi bude jinym, než zeroconfem (wiki).

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
22.3.2009 08:08 ja
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Ale no taaaaaaaaaaaaaaak - http://support.microsoft.com/kb/220874

22.3.2009 10:10 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

To byl hodne naivni pokus myslet si zrovna tohle :-D.

Pokud mam na klientovi nastavene iptables (viz nize), tak na DHCP serveru vidim v logu pekne komunikaci s klientem (DHCPDISCOVER, DHCPOFFER, DHCPREQUEST i DHCPACK).

 

22.3.2009 10:00 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Podle toho, ze jsem to zkousel :).

Nasledne jsem zkousel i modelovou situaci pouze s 2 PC (2x linux), na kazdem 1x ethernet. Na jednom beha DHCP server (bez iptables), na druhem klient (dhcpcd).

Na klientu v iptables je pouze:

iptables -I INPUT -j DROP
iptables -I OUTPUT -j DROP
iptables -I FORWARD -j DROP
 

+ pro jistotu zablokovane vsechny  multicasty a broadcasty. Klient i potom dostal od dhcp server IP, kterou jsem mu na dhcp serveru pridelil (172.16.0.2) i se vsemi ostatnimi parametry (netmask, DNS, atd.). Komunikace s dhcp na klientovi je normalne videt pres tcpdump.

V diskuzich se tento problem popisoval napriklad zde nebo zde.

22.3.2009 10:41 NN
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

iptables -A -i $LAN -s 0.0.0.0 -d 255.255.255.255 -j DROP

NN

22.3.2009 10:43 Ripper | skóre: 31
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Pokud nechcete DHCP vůbec, tak jednoduše odinstallujte balíky dhcp3 na serveru a na klientech.

22.3.2009 10:46 NN
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Presne:

iptables -A INPUT -i $LAN -s 0.0.0.0 -d 255.255.255.255 -j DROP
iptables -A OUTPUT -s 10.0.0.1 -d 255.255.255.255 -j DROP

NN

22.3.2009 11:13 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Nic, bez vysledku.

Na klientovi jsem mezi prvnimi pokusy zkousel toto, ale take bez vysledku:

iptables -I OUTPUT  -s 0.0.0.0 -d 255.255.255.255 -j DROP
iptables -I INPUT -i $LAN -s 172.16.0.254 -d 255.255.255.255 -j DROP
 
Potom jsem dal na klienta natvrdo:
iptables -I INPUT -j DROP
iptables -I OUTPUT -j DROP
iptables -I FORWARD -j DROP
 
coz by melo obsahovat vsechny moznosti v INPUT, OUTPUT i FORWARD, ale na DHCP serveru se vesele objevuje toto:
 
dhcpd: DHCPREQUEST for 172.16.0.2 from 00:0e:2e:20:1c:7c via eth1
dhcpd: DHCPACK on 172.16.0.2 to 00:0e:2e:20:1c:7c via eth1
 
22.3.2009 11:18 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Toto neresi muj problem. Mam router, pres ktery nesmi proudit DHCP provoz (a to jak od klienta, tak ani od serveru). Na samotnem routeru zadne DHCP (server ani klient) neni. DHCP server ani klienti nejsou v me sprave a nedokazu je tedy ovladat.

22.3.2009 11:33 Zdenek
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
DHCP protokol neni routovatelny (pracuje na linkove vrstve), takze pres router zadny DHCP provoz nemuze proudit. Bud tam mate dhcp relay nebo to neni router ale bridge, v obou pripadech to pres iptables nemuzete filtrovat.
22.3.2009 11:42 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Ano, mate pravdu. Mel jsem tuto informaci napsat hned na zacatku. Ten router tedy vlastne neni router, ale bridge (nastaveny pomoci brctl)

22.3.2009 11:46 Zdenek
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
To jste mel, pak vas misto iptables zajima ebtables.
22.3.2009 13:49 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Dekuji za objasneni problematiky, uz do toho vidim zase o neco vice.

Nakonec se mi to pred chvili podarilo na routeru (bridge) zablokovat pomoci iptables a physdev takto:

iptables -I FORWARD -m physdev --physdev-in $LAN_IFACE -p udp --sport 68 --dport 67 -j DROP

Toto pravidlo zajisti, ze klienti fyzicky pripojeni na $LAN_IFACE neodeslou pres router (bridge) pozadavek na DHCPDISCOVER. Server DHCP uz se blokovat nemusi, protoze klientum uz nema pomoci DHCPOFFER na co odpovidat.

 

22.3.2009 11:35 tomk
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Muzeme si vyjasnit topologii te site? Kde jsou klienti a kde server? Osobne vidim dve moznosti:

1) Klienti jsou v segmentu pripojenem k prvni sitove karte routeru a server v segmentu pripojenem ke druhe karte routeru. V tomto pripade by DHCP nemelo fungovat samo od sebe, protoze broadcast s dotazem klienta neprojde routerem. Pro funkcnost DHCP by na routeru musel byt spusteni DHCP Relay.

2) Klienti i server jsou v jednom segmentu. V tom pripade nema router zadnou moznost, jak zablokovat komunikaci mezi klientem a serverm.

Tomas

22.3.2009 11:49 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Odpoved jsem popsal vyse. Jedna se o bridge. Zil jsem v domneni, ze kdyz pouziji v iptables physdev, tak muzu delat uplne to same co na routeru.

22.3.2009 11:21 hysterix
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud na routeru neni dhcp server, jaky ma smysl na nem blokovat DHCPDISCOVER ? Pokud funguje jako relay agent, je treba proste relay agenta prestat pouzivat. Jinak neverim tomu, ze vas to zajima. To byste si prece zkusil napsat do googlu dve slova. Hned druhy odkaz je dokonce cesky. Co se otazek tyce: Ano, ne, ano.
22.3.2009 11:38 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Nevim, z ceho usuzujete, ze me toto nezajima, ale to ted neni podstatne.

Nyni resim modelovou situaci se 2 PC (popsanou vyse), na te mohu provadet pokusy.

V iptables (-L) klienta je:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Kdyz spustim na klientovi "dhcpcd eth1", tak dostanu od DHCP serveru IP a na DHCP serveru se objevi info o prideleni (viz vyse).

22.3.2009 11:51 hysterix
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
a) Pravidla iptables jsou na filtrovani protokolu IP(v4). Nemaji zadny vliv ani na IPv6 ani na IPX/SPX ani na mnoho dalsich protokolu.

b) Vzhledem k tomu, ze DHCPDISCOVER odchazi v dobe, kdy stroj zadnou IP adresu nema, nemuze to byz IP paket.

c) Routery ethernet broadcast nepropousti

d) DHCPDISCOVER je ethernet broadcast

e) Po zadani do googlu se lze dozvedet mnoho dalsich zajimavych veci
22.3.2009 14:16 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

b) Tedy viz muj uvodni prispevek.

c,d) Nechtene jsem zamlcel na zacatku existenci bridge a tudiz to na prvni pohled vypadalo, ze je na routeru zapnuty DHCP Relay Agent.

22.3.2009 11:24 Zdenek
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP
Odpovědět | | Sbalit | Link | Blokovat | Admin
DHCP server nelze pres iptables blokovat. Pracuje na nizsi urovni a dostane se k paketum drive nez iptables, stejne jako treba tcpdump.
22.3.2009 12:10 NN
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

Dhcpd si otvira raw socket a posloucha primo na nem a obchazi

cely ip stack a iptables. Ale co odesila uz pouziva normalni udp

inet socket, takze se da blokovat UPD na ouput a musi to jit!

NN

22.3.2009 14:26 artec | skóre: 24
Rozbalit Rozbalit vše Re: Jak zablokovat DHCP

 

takze se da blokovat UPD na ouput a musi to jit!

Viz muj prispevek o blokaci vseho na klientovi. Kdyz by dhcpd odesilal pred udp inet socket a dalo by se to blokovat na outputu, tak by se to teoreticky melo blokovat i na inputu u klienta, coz jsem zkousel a nefunguje.

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.