The OpenNET Project / Index page

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



"привязка MAC к IP"
Версия для распечатки Пред. тема | След. тема
Форум Открытые системы на сервере
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "привязка MAC к IP" +/
Сообщение от KupuJIJIemail (?), 07-Сен-05, 02:01 
>Здравствуйте,
>Через сервер (слаквар 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
..

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
привязка MAC к IP, Rustya, 06-Сен-05, 17:01  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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