Автор Тема: DHCP filtering problem  (Прочетена 2556 пъти)

f0x0ff

  • Новаци
  • *
  • Публикации: 2
    • Профил
DHCP filtering problem
« -: 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 сървъра да му кажа да не отговаря на заявки от даден мак адрес
Активен

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
DHCP filtering problem
« Отговор #1 -: Apr 05, 2005, 15:50 »
0.Интересно, но защо ли си мисля* , че dhcp клиента (самата програма -> dhcp3 и т.н)  може да ти покаже съществуващите dhcp сървъри.

*  - може и да греша '<img'>

1.Когата има повече от 1 dhcp сървър в една мрежа и двата не са настроени, така че да работят заедно* то би трябвало да настъпят не малко каши - или не малко оплакваня към съотв. админ ,че "нямам мрежа" , "нямам интернет" и т.н , и т.н. ?

* - т.е да се съобразяват един с друг (това си е играчка на администратора).

2. Ами не е друго решение, на dhcp сървър-а да забраниш дадения mac адрес на клиента :?

Относно това правило - ами наистина си изглежда наред, но пробвай го в -t mangle -A PREROUTING веригата. (т.е още най-най- в началото да го спреш).


Виж и това, макар и да е много старо (2001):

Цитат

UBJECT  : Bug in Linux 2.4 / iptables MAC match module
SUMMARY  : MAC match module does not match small packets
EFFECTS  : Malicious users may bypass MAC-based DROP rules
           pcAnywhere does not function correctly if allowed by MAC address
SOLUTION : Apply the attached patch from Harald Welte, Netfilter core
           developer, or wait for the next release of the Linux kernel


http://www.netfilter.org/security/2001-09-26-mac.html

3.Виж дали въобще отчита нещо правилото

#iptables -t filter -L INPUT -v

Успех.
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
DHCP filtering problem
« Отговор #2 -: Apr 05, 2005, 18:07 »
Най-вече виж в резултатат от листа дали преди твоите правила няма правило, което да ACCEPT-ва заявките. Знам, че си написал, че няма ама все пак ...

Пробвай:

Примерен код

iptables -I INPUT -m mac --mac-source aa:aa:aa:aa:aa:aa -j DROP


ПС: Доста тъпо ще е, ако мак-мача прави разлика м/у малки и големи букви, ама знае ли се '<img'> Пробвай '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

  • Гост
DHCP filtering problem
« Отговор #3 -: 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
« Отговор #4 -: Apr 06, 2005, 17:39 »
... И все пак може ли това което искам да стане да се направи в конфига на dhcp server-a (isc ползвам) ?
Активен

zarhi

  • Напреднали
  • *****
  • Публикации: 81
    • Профил
DHCP filtering problem
« Отговор #5 -: 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.
Активен

http://www.skknet.net

CentOS 4.2 (Final) running on:
Epox EP-9NPA+ Ultra
Athlon64 3200+
GigaByte GF6600 PCI-Express x16
2Gb RAM, 2x80Gb Seagate SATA, 4x160Gb Seagate PATA, 2x120Gb Seagate PATA

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
DHCP problem
Настройка на програми
bukich 2 1876 Последна публикация Aug 12, 2004, 18:26
от ntenev
Ubuntu dhcp problem !
Настройка на програми
xplose 12 3677 Последна публикация Sep 14, 2006, 12:35
от angie_bg
Filtering outgoing mails?
Хардуерни и софтуерни проблеми
maniac1 33 6784 Последна публикация Jan 18, 2007, 17:15
от maniac1
Web (URL) filtering
Настройка на програми
h7d8 4 2449 Последна публикация Feb 07, 2009, 14:18
от h7d8
ip tables Mac adress filtering
Настройка на програми
thatsmeufo 13 5170 Последна публикация Dec 01, 2009, 16:27
от mkp