Титла: DHCP filtering problem Публикувано от: f0x0ff в Apr 05, 2005, 14:49 Привет на всички ,
Картинката е следната : имам DHCP сървър слушащ в даден мрежов сегмент , както и dhcp клиент в този сегмант. Целта ми е да направя така че когато определен клиент (на който му зная mac адреса , примерно mac CC:CC:CC:CC:CC:CC) зададе към броадкаста DHCPDISCOVER заявка и съответно сървъра му върне DHCPOFFER - клиента (демек този от които идва DHCPDISCOVER) да филтрира DHCPOFFER-а. Замисъла е по-този начин да мога да вида дали няма и друг DHCP сървър в сегмента. До сега имах няколко идеи , които за съжаление не сработиха: 1-во) най-простото което ми дойде на ум - да сетна на една от двете машени грешен мак адрес на другата - но това се оказа глупост 2-ро) на клиент-а да забрана мак адреса на сървъра (което не успях да разгадая защо не сработи) Така когато tcpdump-вам на клиента , пакета който получавам от сървъра е : root@client:#tcpdump -n -vvv -e ether src AA:AA:AA:AA:AA:AA 14:24:27.035903 aa:aa:aa:aa:aa:aa > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 56: arp who-has 192.168.0.204 tell 192.168.0.1 14:24:27.111681 aa:aa:aa:aa:aa:aa > cc:cc:cc:cc:cc:cc, ethertype IPv4 (0x0800), length 352: IP (tos 0x10, ttl 16, id 0, offset 0, flags [none], length: 338) 192.168.0.1.67 > 192.168.0.204.68: BOOTP/DHCP, Reply, length: 310, xid:0x75001471, flags: [none] (0x0000) Your IP: 192.168.0.204 Server IP: 192.168.0.1 Client Ethernet Address: cc:cc:cc:cc:cc:cc [|bootp] ... Като aa:aa:aa:aa:aa:aa - е мак адреса на сървъра , а сс:сс:сс:сс:сс:сс на клиент-а Нещото което не разбирам е защо следното правило не сработва: iptables -A INPUT -m mac --mac-source aa:aa:aa:aa:aa:aa -j DROP Правилото се инсъртва без проблеми , няма нишо друго във firewall-а , default политиките са ACCEPT и даденото правило НЕ матчва нищо и пакета си минава 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 MAC aa:aa:aa:aa:aa:aa Дайте малко акъл как да го направя това .. значи другия вариант е да забранявам на сървъра , той е със FreeBSD с pf като firewall , който няма възможност да матчва по мак адрес (поне аз не успях да открия в документацията му) , друго за който се сещам е с ipfw2 пак на сървъра , там поне има възможност за матч по мак адрес , но пък трябва да прекомпилирам кърнъла за да пусна съпорт-а за ipfw2 3-то което ми идва на ум , е ако мога някак си в самия конфиг файл на dhcp сървъра да му кажа да не отговаря на заявки от даден мак адрес Титла: DHCP filtering problem Публикувано от: the_real_maniac в Apr 05, 2005, 15:50 0.Интересно, но защо ли си мисля* , че dhcp клиента (самата програма -> dhcp3 и т.н) може да ти покаже съществуващите dhcp сървъри.
* - може и да греша ![]() 1.Когата има повече от 1 dhcp сървър в една мрежа и двата не са настроени, така че да работят заедно* то би трябвало да настъпят не малко каши - или не малко оплакваня към съотв. админ ,че "нямам мрежа" , "нямам интернет" и т.н , и т.н. ? * - т.е да се съобразяват един с друг (това си е играчка на администратора). 2. Ами не е друго решение, на dhcp сървър-а да забраниш дадения mac адрес на клиента :? Относно това правило - ами наистина си изглежда наред, но пробвай го в -t mangle -A PREROUTING веригата. (т.е още най-най- в началото да го спреш). Виж и това, макар и да е много старо (2001):
http://www.netfilter.org/security/2001-09-26-mac.html 3.Виж дали въобще отчита нещо правилото #iptables -t filter -L INPUT -v Успех. Титла: DHCP filtering problem Публикувано от: VladSun в Apr 05, 2005, 18:07 Най-вече виж в резултатат от листа дали преди твоите правила няма правило, което да ACCEPT-ва заявките. Знам, че си написал, че няма ама все пак ...
Пробвай:
ПС: Доста тъпо ще е, ако мак-мача прави разлика м/у малки и големи букви, ама знае ли се ![]() ![]() Титла: DHCP filtering problem Публикувано от: в Apr 05, 2005, 18:18 Хмм , не става и в mangle веригата когато е . Пак същия резултат.
М/у другото попадна на подобен проблем с тъпото умозаключение : https://lists.netfilter.org/piperma....78.html ..... dhcpd takes and puts packets by netlink sockets which bypass the whole IP stack. So in short, you cannot filter the requests nor the response. ..... Титла: DHCP filtering problem Публикувано от: в Apr 06, 2005, 17:39 ... И все пак може ли това което искам да стане да се направи в конфига на dhcp server-a (isc ползвам) ?
Титла: DHCP filtering problem Публикувано от: zarhi в Apr 13, 2005, 08:31 Ако идеята ти е да търсиш неоторизирани DHCP сървъри в лан-а има 2 начина:
1. http://www.net.princeton.edu/software/dhcp_probe/ - аз не успях да го подкарам под линукс. 2. http://udhcp.busybox.net/ - клиента е така написан, че доста лесно може да се модифицира да покаже всички DHCP сървъри които отговорят и да не променя конфигурацията на лан картата. Аз бях добавил един exit(0); веднага след изпращането на DHCPDISCOVERY пакета. Пускаш 2 конзоли, в едната гледаш с tcpdump, в другата пускаш модифицирания клиент да изпрати DHCPDISCOVERY. Има и 3-ти вариант но е за бозата. Потърси в google Dhcploc.exe. |