Jump to content
zapptech

DHCP cu MySQL pe FreeBSD [ajutor, idei]

Recommended Posts

Posted (edited)

Salut, am o problema legata de mysql/apache. Am instalat pe un freebsd 10.2 sql/apache si vreau sa creez o baza de date bineinteles conectata la un index.php(o platforma) in care in acel index vreau sa introduc mac-ul, un nume iar acestea automat sa fie scris in /etc/usr/local/etc/dhcpd.conf sub forma :

 

PS:(dhcp este instalat si el).

 

host fantasia {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address (ip-ul generat de dhcp);
}

Vreo idee ceva?, multumesc :)

Edited by aelius
titlu incorect
Posted
3 hours ago, zapptech said:

 

 

Da,

http://www.catb.org/esr/faqs/smart-questions.html

 

Ai un titlu care nu e legat cu mai nimic de ce ai scris in post. Vrei sa scrii intr-un fisier dar totusi vorbesti si de o baza de date.

Descrie mai in detaliu dilema ta.

Poti incepe prezentand datele problemei, ce idee ai / ce vrei sa faci, cum te-ai gandit sa faci, ce ai incercat deja si nu a mers, cu ce te putem ajuta noi.

 

  • Upvote 1
Posted

Cauta dhcpd+mysql si informatiile sunt scrise/citite direct din mysql, fara a face write la un fisier de configurare (unde o sa fie necesar si un reload al daemonului). Daca totusi preferi asa, iti faci o baza de date de genul:

 

1. Nume baza de date: dhcpd

2. Tabela

   clients

       - Aici ai avea nevoie de id, hostname, mac_addr, ip_addr,status

 

Nu trebuie sa scrii direct din php configul. In fisierul de configurare global, faci include la fisierul tau de configurare iar acesta il generezi cu un wrapper rulat in crontab. In momentul in care faci o modificare la config pe site, actualizezi coloana 'status' cu YES. Cand crontabul ruleaza wrapperul, o sa vada status YES pe coloana si o sa ruleze scriptul, face write la config si reload la daemon. Daca vede status 'NO', atunci nu face nimic.

 

Pe viitor, incearca sa ceri ce ai nevoie (adica sa intrebi)

  • Upvote 1
Posted (edited)

Cauta un CaptivePortal, sunt o gramada gata facute.

De obicei autentificarea in Captive Portal este facuta intr-un server radius, iar acesta poate sa aiba in spate un mysql.

Din aplicatia ta scri direct in mysql, ce e folosit de radius, iar radius+captiveportal se ocupa de autentificare.

 

Pentru a-ti usura munca, iti recomand sa folosesti PfSense, este un router os, bazat pe freebsd, foarte light, ce are si captive portal, si radius.

Configurezi apoi radius sa foloseasca un mysql extern, unde ti aplicatia, partea de comanda si control. Si that's it! :)

 

CaptivePortal din PfSense suporta template-uri deci poti face o pagina faina, ce sa informeze/ceara o actiune de la user, chiar cont nou, poti folosi link extern catre partea de plati/user management a aplicatiei tale ce o whitelistezi astfel incat userul sa nu trebuiasca sa fie autentificat pentru a accesa aplicatia ta.

 

Mai mult poti configura din radius (efectiv din mysql) ce limite de viteza vrei pe grupuri de useri sau pe useri individuali, iar pfsense si implementarea lui de CaptivePortal se ocupa de tot! :)

Mai mult PfSense va trimite statistici catre radius ce vor fi stocate in mysql, si poti scoate din ele niste grafice faine, poti vedea ce useri sunt conectati, de cat timp...etc, se numeste radius accounting. PfSense se ocupa de asemenea de dhcp si toate celelalte necesare :).  

 

Spor!

Edited by Cheater
  • Upvote 2
Posted

M-am jucat si cu pfsense, acolo imi genereaza automat o platforma pentru configurare si nu mai am treaba cu sql, am rezolvat si cu freebsd'u i-am dat un /include in dhcpd la baza mea de date unde vroiam sa imi scrie si vad ca merge. Thx guys pt ideei :D

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...