Русскоязычное Linux-сообщество's Journal
 
[Most Recent Entries] [Calendar View]

Saturday, June 27th, 2015

    Time Event
    7:08p
    DHCP-сервер и IPTABLES
    По мотивам поста.

    На серверочке, где живут DHCP-сервер, DNS-сервер, файрвол и NAT для домашней сетки (Debian 7.8, ядро 3.2.0-4-amd64), в порядке эксперимента заблокировал свой мобильник по мак-адресу:
    iptables -I INPUT -i eth1 -m mac --mac-source e8:99:c4:*:*:* -j DROP
    iptables -I FORWARD -i eth1 -m mac --mac-source e8:99:c4:*:*:* -j DROP

    К eth1 подключена домашняя сетка с wifiной точкой доступа в режиме бриджа, к eth0 - интернет-провайдер.

    Запустил tcpdump на eth1, включил телефон и с удивлением обнаружил, что запрос от телефона дошёл до DHCP-сервера, и он на него ответил. Телефон получил свой IP, DNS и всё прочее, и считал, что успешно подключился к WiFi. Но никакие соединения установить не мог, ответов на DNS-запросы не получал, и даже пинги телефона с серверочка оставались без ответов.

    Хотя в запросе к DHCP адрес получателя был броадкастным на 2 и 3 уровне (IP 255.255.255.255, mac ff:ff:ff:ff:ff:ff), но мак-адрес отправителя таки был тот самый, заблокированный. Вопрос: почему же он прошёл через iptables?

    Update: блокировка в таблице raw (в цепочке PREROUTING, ибо INPUT и FORWARD в raw нету):
    iptables -I PREROUTING -t raw -i eth1 -m mac --mac-source e8:99:c4:*:*:* -j DROP
    даёт точно такой же эффект, DHCP-сервер запрос получает и на него отвечает, а всё остальное блокируется.

    << Previous Day 2015/06/27
    [Calendar]
    Next Day >>

Русскоязычное Linux-сообщество   About LJ.Rossia.org