Перейти до

привязка по мас...


Рекомендованные сообщения

Всем доброго время суток!

Есть у меня 2 вопросика:

1) у кого то есть скрипт на обновление укр. подсетей в файле рулез?

2)как в настройках клиента можно сделать привязку по мас?

Спасиба!

Ссылка на сообщение
Поделиться на других сайтах
2)как в настройках клиента можно сделать привязку по мас?

Никак!

Это делается файрволом :)

Тема уже неоднократно поднималась!

Ссылка на сообщение
Поделиться на других сайтах
Всем доброго время суток!

Есть у меня 2 вопросика:

1) у кого то есть скрипт на обновление укр. подсетей в файле рулез?

2)как в настройках клиента можно сделать привязку по мас?

Спасиба!

1. мой вариант выглядит так:

 

#!/bin/sh

#

cd /usr/local/etc/scripts/

#cp ua-ix.ip ua-ix.old

/usr/local/bin/curl http://www.colocall.net/ua/prefixes.txt >/usr/local/etc/scripts/ua-ix.col

/bin/cat /usr/local/etc/scripts/ua-ix.col|/usr/local/bin/aggregate >/usr/local/etc/scripts/ua-ix.ip

 

#####################################################

echo "### Local" >> rules

IPFILE="local.ip"

 

grep "^" $IPFILE | while read ip;

do

if [ $ip <> NULL ]

then for d in rules

do

echo "ALL $ip DIR0" >> $d

done

fi

done

 

#####################################################

echo "### Ukrainian" >> rules

IPFILE="ua-ix.ip"

 

grep "^" $IPFILE | while read ip;

do

if [ $ip <> NULL ]

then for d in rules

do

echo "ALL $ip DIR1" >> $d

done

fi

done

 

#####################################################

echo "### World" >> rules

echo "ALL 0.0.0.0/0 DIR2" >> rules

#########################

cp /usr/local/etc/scripts/rules /etc/stargazer/

cp /usr/local/etc/scripts/rules /var/ftp/pub/

#cp /usr/local/etc/scripts/ua-ix.ip /var/ftp/pub/

#cp /RESQ/ua/ua-ix.ip /etc/rc.d/

#cp /usr/local/etc/scripts/ua-ix.ip /usr/local/squid/etc/

#cp /usr/local/etc/scripts/local.ip /usr/local/squid/etc/

#########################

rm rules

rm ua-ix.col

rm NULL

########################

/usr/local/squid/sbin/squid -k reconfigure

sh /etc/rc.firewall

/etc/stargazer/stgctl restart

 

дорабатывай напильником под свою конфигурацию

 

2. старгейзер здесь ни при чем, это делается средствами системы.

У меня так:

 

в rc.conf

 

ifconfig_fxp0="inet 192.168.0.1 netmask 255.255.255.0 staticarp"

 

интерфейсу, доступ к которому надо закрыть по списку МАСов, конфигурируешь как staticarp

 

дальше у меня есть файл /etc/arp.tbl в котором перечислены IP клиентов и соответствующие им МАС

 

например

 

192.168.0.1 00:02:b3:15:66:d7 pub # Peacock

192.168.0.2 00:18:f3:03:2e:d4 # Diamond

192.168.0.3 00:11:2f:56:6d:ea # Player

192.168.0.8 00:50:da:46:eb:24 # Compaq

192.168.0.23 00:80:c7:f2:4c:9e # Vaio

 

и так далее

 

подвязываешь этот список, и собссно усе.

Ссылка на сообщение
Поделиться на других сайтах

Если хочеш мак адрес вносить в конфигуратор то есть вариант:

В поле Userdata0 вносиш маки пользователей

а вот и скрипт OnConnect c привязкой к маку (единственный минус этого способа что инетаксесс все таки подключается но разрешающие правила фаервола не выполняются)

а в случае несоответствия мак+ИП информация заностися в лог по которому сразу можеш найти "штрафника".

#!/bin/sh

 

# Login

LOGIN=$1

#user IP

IP=$2

#cash

CASH=$3

#user ID

ID=$4

 

D=`date '+%Y-%m-%d %H-%M-%S'`

usersconf="/var/stargazer/users/$LOGIN/conf"

logfile="/var/log/stg+mak"

if [ ! -e "$usersconf" ]; then

echo "Конфиг пользователя' $usersconf ' не существует" >> $logfile

exit

fi

mak_=`cat "$usersconf" | grep "Userdata0=" | cut -d"=" -f2`

mak_real=`arp -en $IP | grep ether | awk '{print $3}'`

if [ $mak_ = $mak_real ];

then

# здесь пишеш свои разрешающие правила фаервола

else

echo "$D Local login='$LOGIN' ip=$IP mak_real=$mak_real mak_bases=$mak_ " >> $logfile

fi

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за скрипт обновления.....

А второй вопрос я неправильно задал, я знаю, что привязка по мас делается фаерволом, потому как у меня щас так построены правила... Я хотел спросить как в поле настроек клиентов можно вводить мак, а потом по ссылке передавать его в скрипт Онконнект...извиняюсь может где то протупил, пото му как в Bash-е не сильно шарю...

Ссылка на сообщение
Поделиться на других сайтах

что- то типо такоко можно сворганить в Онконнекте

MAC1=`sed -n 's/Userdata1=//p' /var/stargazer/users/$LOGIN/conf`

MAC2=`arp $ip | awk '/'$ip'/{print $3}'`

if [ $MAC1 = $MAC2 ]

then

  Right MAC

#####твои правила

echo "C $D Connect $LOGIN $MAC1 $ip $CASH " >> /var/stargazer/connect.log

else

  Wrong MAC - BYE

  /etc/stargazer/drop

  echo "ERROR $D $LOGIN - WRONG MAC $MAC2" >> /var/stargazer/badmac.log

fi

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...