>Здравствуйте,
>Через сервер (слаквар 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
..