The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
привязка MAC к IP, !*! Rustya, 06-Сен-05, 17:01  [смотреть все]
  • привязка MAC к IP, !*! seven_angels, 17:23 , 06-Сен-05 (1)
  • привязка MAC к IP, !*! KupuJIJI, 02:01 , 07-Сен-05 (3)
    >Здравствуйте,
    >Через сервер (слаквар 10) проходят несколько сеток:
    >192.168.0.0, 192.168.1.0, 192.168.40.0, ....
    >подскажите как привязать мак к ip?
    >Заранее блогадарю.


    в системе существует arp-таблица, которая позволяет определить соответствие физических адресов устройств и IP адресов устройств в локальном (как правило, Ethernet) сегменте. При отправке IP пакетов хосту в локальном сегменте, по IP адресу берется из этой таблицы MAC-адрес, и IP пакет будет завёрнут в Ethernet-кадр именно дла этого МАКа. Arp-таблица заполняется автоматически, и когда на интерфейс приходит первый пакет от еще не известного хоста, ядро запоминает соответствие IP и MAC в этой таблице...

    Жёстко привязать IP к маку можно вручную заполнив эту таблицу. Для этого создаёте файл /etc/ethers вида
    192.168.0.1 A2:BB:CC:5D:EE:FF
    192.168.0.2 A7:BB:8C:DD:7E:FF
    192.168.0.3 AA:15:CC:DD:EE:FF
    192.168.0.4 AA:BB:24:DD:EE:FF
    192.168.0.5 00:00:00:00:00:00
    192.168.0.6 00:00:00:00:00:00
    192.168.0.7 00:00:00:00:00:00
    192.168.0.8 00:00:00:00:00:00
    192.168.0.9 00:00:00:00:00:00
    192.168.0.10 00:00:00:00:00:00
    192.168.0.11 00:00:00:00:00:00
    ...

    (на каждой строчке IP адрес и MAC-адрес, разделенные пробелами)

    и подгрузить таблицу из этого файла
    arp -f /etc/ethers
    (можно написать скрипт и положить в директорию инициализации /etc/rc.d/init.d и создать ссылку в директории необходимого уровня загрузки
    ln -s /etc/rc.d/init.d/arpload /etc/rc.d/rc3.d/arpload)

    Естесственно, соответствующими нулями должны быть заполнены все адреса "защищаемого сегмента". Допустим, если маршрутизация открыта для подсети 192.168.0.0/24, то подобную таблицу нужно продолжить до адреса 192.168.0.254


    Другой способ привязки IP к маку - создать правила Iptables для каждого из хостов, разрешающие маршрутизацию только с определенным MAC-ом. Удобно эти правила запихнуть в цепочку FORWARD, т.к. все маршрутизируемые пакеты через неё проходят

    iptables -P FORWARD DROP
    # отбрасывать пакеты, не попавшие ни под одно из правил
    iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.1 -m mac --mac-source A2:BB:CC:5D:EE:FF -j ACCEPT
    iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.2 m mac --mac-source A7:BB:8C:DD:7E:FF -j ACCEPT
    # дальше остальные правила...

    man arp
    man iptables, read Iptables Tutorial

    И самое главное:
    фильтрация по MAC-адресам ненадёжна - мак адрес можно как перепрошить, так и сменить даже не перезагружаясь на "разрешенный" и работать с ним, вычислить данный трюк очень сложно, особенно в больших сетях, так что лучше не использовать HWaddr для контроля доступа

    Варламов Кирилл
    Jabber: kupujiji@ratelcom.ru
    ..




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру