LINUX.ORG.RU
ФорумAdmin

Как такое сделать в *nix


0

0

Задача такая. Есть FreeBSD с NATом или FreeBSD с squid для доступа пользователей в локалке к инету. Как сделать чтобы подключение было возможно только с сетевух, чьи MACи прописаны и им присвоить жесткие IP адреса. Чтобы не было левых подключений и пользователи не могли сменить свой IP адрес. Чтобы правильно работал счетчик трафика.

Хех... Сейчас и MAC можно сменить.

Ну а что касается вопроса, то в правилах ipfw можно указывать в match MAC-и

Xela
()

я сделал примерно так: на линухе поставил iptables i squid в iptables написал чет вроде -A INPUT -m --mac-source ! 00:01:02:03:04:05 -s 192.168.0.99 -j DROP а в squidе аклами прописал разрешенные адреса сответственно если кто то поменяет ip на доверенній в скуиде то фаервол его отсечет а на вопрос что можно менять мас можно примерно дописать такое -A INPUT -m --mac-source 00:01:02:03:04:05 -s ! 192.168.0.99 -j DROP

ну а если клиент поменяет и мак и ip то помогут разве что умные свичи!!!

anonymous
()
Ответ на: комментарий от anonymous

вообще-то можно с iptables и не связываться, в сквиде есть arp acl, правда для этого его скорее всего придется переконфигурить c --enable-arp-acl и пересобрать. ну а по поводу смены мака вопрос обсуждался много раз. умные свитчи, впн и тд и тп

sasha999 ★★★★
()

Необходимо:

* PC, Linux(желательно один из последних, дистрибутив на ваш вкус, но я использовал Slackware 9.1), ядро серии 2.4, или возможно 2.6.
* Cофт - ftp://ftp.samba.org/pub/ppp/ppp-2.4.2.tar.gz http://www.roaringpenguin.com/products/rp-pppoe/rp-pppoe-3.5.tar.gz
* Желательно проверить наличие в ядре поддержки "кернельного" PPPoE, если его нет - пересобрать ядро.
* Собираем софт: Распаковываем rp-pppoe, заходим, запускаем ./go. Обратите внимание, если поддержка PPPoE в ядре включена, вы увидите строку Checking for Linux 2.4.X kernel-mode PPPoE support... yes.
* Внимание! Если у вас есть какие-то сервисы работающие с ppp, хорошо подумайте прежде чем что-то менять. Рppd может ими использоваться, и его переустановка может привести к неработоспособности сервисов если текущая сборка будет сильно отличаться от новой.
* Распаковываем ppp, запускаем ./configure , затем make, и после него make install. Готово!
* Прошу обратить внимание, плагины в собранном вручную ppp, ложатся в /usr/lib/pppd/2.4.2
* Создаем файл конфигурации
/etc/ppp/pppoe-server-options
noauth
+chap
-pap
name server
lcp-echo-failure 3
lcp-echo-interval 60
idle 1200
# Ваш DNS сервер, который будет установлен автоматически клиенту
ms-dns 1.2.3.4
* Добавляем в /etc/ppp/chap-secrets
testuser
server password 192.168.99.2
Это создаст клиента с логином testuser и паролем password, и при соединении выдаст ему адрес 192.168.99.2
* Рекомендую, если вы используете NAT, добавить в ваш iptables первую строчку
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS
--clamp-mss-to-pmtu
для решения проблем с MTU.
* Запуск PPPoE сервера - pppoe-server -k -I eth0
eth0 - интерфейс на котором сервер будет принимать запросы, кстати, необходимо лишь чтобы состояние интерфейса было UP, назначать на нем IP адрес необязательно, флаг -k указывает использовать "ядерную" поддержку, что полезнее в плане уменьшения нагрузки на сервер и стабильности работы.

http://www.nag.ru/2004/0228/0228.shtml

Sun-ch
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.