URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5277
[ Назад ]

Исходное сообщение
"Доступ по ip+mac одновременно"

Отправлено Костя , 12-Дек-07 12:45 
Всем доброго времени суток!
Подскажите пожалста такую вешь.
Поставил сквид, сделал настройку так, чтобы он брал ip адреса клиентов из текстовика. Все работает. Хочу теперь ещё сделать так, чтобы он и по mac-адресам проверку проводил... А то ведь просто ип подменить не сложно. Слышал, что для поддержки фильтрации по мак-адресам нужно пересобрать сквид. Но тогда я как понял, что только по макам можно будут. А как сделать так, чтобы работало одновременно и по мак и по ип???

Содержание

Сообщения в этом обсуждении
"Доступ по ip+mac одновременно"
Отправлено ipmanyak , 12-Дек-07 12:52 
>Всем доброго времени суток!
>Подскажите пожалста такую вешь.
>Поставил сквид, сделал настройку так, чтобы он брал ip адреса клиентов из
>текстовика. Все работает. Хочу теперь ещё сделать так, чтобы он и
>по mac-адресам проверку проводил... А то ведь просто ип подменить не
>сложно. Слышал, что для поддержки фильтрации по мак-адресам нужно пересобрать сквид.
>Но тогда я как понял, что только по макам можно будут.
>А как сделать так, чтобы работало одновременно и по мак и
>по ип???

Будет работать и так и так! Просто дополнительно включится фича ARP (MAC) access controls
To use ARP (MAC) access controls, you first need to compile in the optional code. Do this with the --enable-arp-acl configure option:
% ./configure --enable-arp-acl ...
% make clean
% make
If src/acl.c doesn't compile, then ARP ACLs are probably not supported on your system.
If everything compiles, then you can add some ARP ACL lines to your squid.conf:
acl M1 arp 01:02:03:04:05:06
acl M2 arp 11:12:13:14:15:16
http_access allow M1
http_access allow M2
http_access deny all
NOTE: Squid can only determine the MAC address for clients that are on the same subnet. If the client is on a different subnet, then Squid can not find out its MAC address.



"Доступ по ip+mac одновременно"
Отправлено Костя , 12-Дек-07 13:04 
Спасибо за инфу!
А вот тогда такой вопрос:

если у меня так к примеру в сквид.конф

acl ip_addr "/etc/squid/ip_addr"
acl mac_addr "/etc/squid/mac_addr"

#ip_addr и mac_addr - там будут перечислены ипы и маки клиентов.

#можно ли сделать так будет тогда:

http_access allow ip_addr mac_addr - т.е. по двум одновременно контролировать.

А вообще в идеале хочу проверку такую, чтобы конкретный мак соответствовал конкретному ипу и наоборот, а иначе чтобы было аксесс денайд. Вот так вот изголиться можно средствами сквида, чтобы не ставить ничего дополнительного???


"Доступ по ip+mac одновременно"
Отправлено Костя , 12-Дек-07 13:07 

>acl ip_addr "/etc/squid/ip_addr"
>acl mac_addr "/etc/squid/mac_addr"

ошибся, так должно быть:

acl ip_addr scr "/etc/squid/ip_addr"
acl mac_addr arp "/etc/squid/mac_addr"


"Доступ по ip+mac одновременно"
Отправлено ipmanyak , 12-Дек-07 16:39 
>[оверквотинг удален]
>если у меня так к примеру в сквид.конф
>
>acl ip_addr "/etc/squid/ip_addr"
>acl mac_addr "/etc/squid/mac_addr"
>
>#ip_addr и mac_addr - там будут перечислены ипы и маки клиентов.
>
>#можно ли сделать так будет тогда:
>
>http_access allow ip_addr mac_addr - т.е. по двум одновременно контролировать.

Так не нужно делать, делай по отдельности. А в целом тебе лучше заняться не сквидом arp таблицей в самой ОС.
man arp
Принцип такой, загоняешь принудительно в таблицу arp ip и их маки
arp -s ip  mac
эти команды пихаешь в скрипт и грузишь его из rc.local
Или качни прогу arpwatch ftp://ftp.ee.lbl.gov/arpwatch.tar.gz
Или прогу ARP ipsentinel
http://www.nongnu.org/ip-sentinel/

Другой способ.
(лучший и наиболее дорогой) нужно купить свитч, который позволяет сделать привязку MAC к конкретному физическому порту в свитче. Побороть подобную защиту практически невозможно.

Еще способ - включить авторизацию по логину и паролю в сквиде.
Ну до кучи читай статью
Как бороться со сменой IP адресов клиентами локальной сети?
http://unixfaq.ru/index.pl?req=qs&id=169