Здравствуйте,
Через сервер (слакваре 10) проходят несколько сеток:
192.168.0.0, 192.168.1.0, 192.168.40.0, ....
подскажите как привязать мак к ip?
Заранее блогадарю.
>Здравствуйте,
>Через сервер (слакваре 10) проходят несколько сеток:
>192.168.0.0, 192.168.1.0, 192.168.40.0, ....
>подскажите как привязать мак к ip?
>Заранее блогадарю.
с помощю arp.
>>Здравствуйте,
>>Через сервер (слакваре 10) проходят несколько сеток:
>>192.168.0.0, 192.168.1.0, 192.168.40.0, ....
>>подскажите как привязать мак к ip?
>>Заранее блогадарю.
>с помощю arp.
тут в разделе СОВЕТЫ где-то было
>Здравствуйте,
>Через сервер (слаквар 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
..
>И самое главное:
>фильтрация по MAC-адресам ненадёжна - мак адрес можно как перепрошить, так и
>сменить даже не перезагружаясь на "разрешенный" и работать с ним, вычислить
>данный трюк очень сложно, особенно в больших сетях, так что лучше
>не использовать HWaddr для контроля доступа
Не совсем согласен с автором в плане ненужности фильтрации по МАС, однако действительно для грамотного человека сменить МАС не составит труда, особенно если он работает под линуксом. Единственный плюс - так это то, что далеко не все пионэры имеют представление о МАС - адресах :) Но строить свою защиту только на невежестве пользователей я считаю неправильным. Чтобы сделать такой способ защиты по настоящему надежным, вам необходимо еще привязать МАС адрес к порту управляемого коммутатора. Вот тогда то пионеры дружно побреются, и в сети воцарится мир и порядок.