mpd5.2 + привязка к IP

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ArPoHoM
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-22 17:12:34

mpd5.2 + привязка к IP

Непрочитанное сообщение ArPoHoM » 2009-02-22 17:46:21

Есть ли возможность при подключении к mpd в качестве дополнительного параметра авторизации использовать его локальный ip или MAC ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение GRooVE » 2009-02-22 18:41:34

ну можно попробывать через

Код: Выделить всё

set iface up-script /path/to/script
запускать скрипт, который будет проверять ip клиента, и, в случае несовпадения, дисконектить!

Lucky SB
рядовой
Сообщения: 28
Зарегистрирован: 2009-02-15 1:52:28

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение Lucky SB » 2009-02-22 19:04:38

mpd отсылает радиусу ip клиента
или через внешний скрипт умеет авторизовать. и отдает туда кучу всяких параметров.
http://mpd.sourceforge.net/doc5/mpd29.html#29

ArPoHoM
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-22 17:12:34

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение ArPoHoM » 2009-02-22 19:36:00

ArPoHoM писал(а):set iface up-script /path/to/script
только как этому скрипту передать ip с которого клиент подключился?
Lucky SB писал(а):mpd отсылает радиусу ip клиента
клиенты авторизуются через файл mpd.secret, нехотелось бы, ради этого ставить радиус.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение paradox » 2009-02-22 19:56:18

только как этому скрипту передать ip с которого клиент подключился?
марш документацию читать

ArPoHoM
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-22 17:12:34

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение ArPoHoM » 2009-02-22 20:17:59

mpd передает ip выданный, а не ip с которого он подключился, или я туплю? ;)

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение paradox » 2009-02-22 20:23:03

вы ошибаетесь в свое параное на авторизацию всего
вы еще статик арп вбейте
может поможет

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение schizoid » 2009-02-22 23:13:17

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

ArPoHoM
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-22 17:12:34

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение ArPoHoM » 2009-02-23 0:17:34

Всем спасибо, разобрался... что-бы привязать мак адрес логину и паролю, можно использовать авторизацию скриптом:

в # /usr/local/etc/mpd5/mpd.conf

Код: Выделить всё

set auth extauth-script /usr/local/etc/mpd5/auth.pl 
set auth enable ext-auth 
set auth disable internal
в # /usr/local/etc/mpd5/auth.pl

Код: Выделить всё

#!/usr/bin/perl -w 
use DBI;  
$db_host = '';  
$db_user = '';  
$db_password = '';  
$db_database = '';  
$file_log = '/var/log/user_auth.log'; 
$log = 1;  
$date = `date +%d.%m.%Y`; chomp($date); 
$time = `date +%H:%M`; chomp($time); 
$send_ip = "192.168.99.0";  
$db = DBI -> connect(('DBI:mysql:'.$db_database.':'.$db_host),$db_user,$db_password) || errors("Невозможно присоединиться к базе $db_host:$db_database, пользователь $db_user"); 
$sth = $db -> prepare("SELECT `ip`,`mac`,`ip2`,`mac2`,`ip3`,`mac3`,`password`,`check_mac` FROM `users` where user='$ARGV[0]' LIMIT 1; "); 
$sth -> execute () || errors("Не верный sql запрос"); 
while (my $ref = $sth -> fetchrow_hashref()) 
{ 
$ref_ip = $ref->{'ip'}; 
$ref_mac = $ref->{'mac'}; 
$ref_ip2 = $ref->{'ip2'}; 
$ref_mac2 = $ref->{'mac2'}; 
$ref_ip3 = $ref->{'ip3'}; 
$ref_mac3 = $ref->{'mac3'}; 
$ref_password = $ref->{'password'}; 
$ref_check_mac = $ref->{'check_mac'}; 
} 
$mpd_str = "none"; 
$i = 0; 
until($mpd_str eq ""){ 
if ($log == 1) { 
if ($i == 0) {my $cmd_result = `echo "Date: $date $time" >> $file_log`;} 
$i++; 
} 
$mpd_str = <STDIN>; 
chomp($mpd_str) ; 
 
if ($ref_check_mac eq "yes") { 
my $if_str = index($mpd_str, "PEER_MAC_ADDR:");  
if ($if_str != -1){ 
my $mac_from_mpd = substr($mpd_str, length("PEER_MAC_ADDR:"), (length($mpd_str)-length("PEER_MAC_ADDR:"))); 
if ($mac_from_mpd eq $ref_mac) {$send_ip = $ref_ip} 
elsif ($mac_from_mpd eq $ref_mac2) {$send_ip = $ref_ip2} 
elsif ($mac_from_mpd eq $ref_mac3) {$send_ip = $ref_ip3} 
else { 
$ref_password = "unidentified mac"; 
my $cmd_result = `echo "unidentified mac: $mac_from_mpd" >> $file_log`; 
}  
} 
} else { 
$send_ip = $ref_ip; 
} 
if ($log == 1) { my $cmd_result = `echo "$mpd_str" >> $file_log`; } 
} 
print "RESULT:UNDEF\n"; 
print "USER_NT_HASH:$ref_password\n"; 
print "FRAMED_IP_ADDRESS:$send_ip\n"; 
$sth -> finish(); 
$db -> disconnect(); 
print "\n"; 

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd5.2 + привязка к IP

Непрочитанное сообщение paradox » 2009-02-23 0:22:57

что-бы привязать мак адрес логину и паролю
для этого есть pppoe
:cz2: ммда