Fargust 0 Опубликовано: 2007-04-02 23:02:38 Share Опубликовано: 2007-04-02 23:02:38 Всем доброго время суток! Есть у меня 2 вопросика: 1) у кого то есть скрипт на обновление укр. подсетей в файле рулез? 2)как в настройках клиента можно сделать привязку по мас? Спасиба! Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2007-04-03 13:03:17 Share Опубліковано: 2007-04-03 13:03:17 2)как в настройках клиента можно сделать привязку по мас? Никак! Это делается файрволом Тема уже неоднократно поднималась! Ссылка на сообщение Поделиться на других сайтах
Lambert 5 Опубліковано: 2007-04-03 17:58:50 Share Опубліковано: 2007-04-03 17:58:50 Всем доброго время суток!Есть у меня 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 и так далее подвязываешь этот список, и собссно усе. Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубліковано: 2007-04-03 18:38:24 Share Опубліковано: 2007-04-03 18:38:24 Если хочеш мак адрес вносить в конфигуратор то есть вариант: В поле 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 Ссылка на сообщение Поделиться на других сайтах
Fargust 0 Опубліковано: 2007-04-04 17:42:13 Автор Share Опубліковано: 2007-04-04 17:42:13 Спасибо за скрипт обновления..... А второй вопрос я неправильно задал, я знаю, что привязка по мас делается фаерволом, потому как у меня щас так построены правила... Я хотел спросить как в поле настроек клиентов можно вводить мак, а потом по ссылке передавать его в скрипт Онконнект...извиняюсь может где то протупил, пото му как в Bash-е не сильно шарю... Ссылка на сообщение Поделиться на других сайтах
sky 0 Опубліковано: 2007-04-07 22:13:58 Share Опубліковано: 2007-04-07 22:13:58 что- то типо такоко можно сворганить в Онконнекте 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 Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас