[linux] Automatisch mensen blokken...

Pagina: 1
Acties:

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 22-04 08:47
Ik woon dus in een studentenhuis en we hebben @home internet, dit wordt gedeeld met een linux server/router. Hierop staat oa apache, mysql en php. Ik heb nu mbv php, mysql een site gebouwd waar iedereen kan zien wat zijn saldo is mbt internet, dus of hij moet betalen of niet. Als dit saldo over een maand negatief is zal de gebruiker automatisch een mail krijgen waarin hij/zij verzocht wordt geld over te maken, zo niet dat hij/zij dan van internet gegooid wordt.

Momenteel krijg ik nu een mailtje (als iemand negatief staat), van de server, dat persoon X negatief staat waarin ik vervolgens met de hand mijn firewall/CBQ script aan moet passen om hem/haar geen internet meer te geven. Dit werkt allemaal prima, maar dit moet geautomatiseerd worden.

Ik wil nu met php een textfile laten maken met hierin wat data. Deze dat moet verolgens in mijn firewall script geincluded worden en vervolgens moet deze opnieuw gestart worden. Ik ben al enige tijd bezig met uitzoeken hiervan, maar loop telkens vast. De vraag is simpel, hoe kan ik in een script een ander script (php gegenereerd) includen?


CBQ ding wat telkens verandert moet worden:
code:
1
2
3
4
5
6
7
tc filter add dev $INTIF parent 1:0 protocol ip prio 25 u32 match ip dst \
192.168.12.1 flowid 1:20

....

tc filter add dev $INTIF parent 1:0 protocol ip prio 25 u32 match ip dst \
192.168.12.17 flowid 1:255

ips zijn dus 192.168.12.1 t/m .17 (kamer nr 1 t/m 17), dhcpd geeft alleen deze ips weg (welke aan mac adres gekoppeld zijn). 1:20 is de standaar groep, 1:255 is geen inet meet en 1:254, 1:253 en 1:252 zijn gelimiteerde (voor als mensen te veel verkeer hebben).

Ik wil dus de waardes achter flowid telkens veranderen.

if broken it is, fix it you should


  • DiedX
  • Registratie: December 2000
  • Laatst online: 03-05 18:49
Wild idee. Maak die file aan. Laat 'm beginnen met #!/usr/bin/perl

Vervolgens:

#!/usr/bin/perl

system("chmod 700 <filenaam.php>");
system("php <filenaam>");

En dat crontabben?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 22-04 08:47
DiedX schreef op 30 July 2003 @ 21:50:
Wild idee. Maak die file aan. Laat 'm beginnen met #!/usr/bin/perl

Vervolgens:

#!/usr/bin/perl

system("chmod 700 <filenaam.php>");
system("php <filenaam>");

En dat crontabben?
het php deel werkt in principe al, deze maakt al files aan (testfase) die te executeren zijn, maar omdat mijn firewall cbq script redelijk groot is, wil ik alleen maar bepaalde delen extern erin doen en niet het gehele script. Plus het feit het fireall script ook moet kunnen werken zonder het php gegenereerde scriptje

if broken it is, fix it you should


Verwijderd

Waarom maak je dan niet een lijst met "allowed" ip's aan, die je door je fw/qos script laat includen, om vervolgens met php die lijst te updaten.

Als op iedere regel een ip staat, doe je in je firewall script zoiets:

code:
1
2
3
4
for IP in `cat allowed-ips.txt`; do
        < netfilter regels specificiek aan $IP >
        < cbq regels specificiek aan $IP >
done


Vervolgens is het een kwestie van "allowed-ips.txt" updaten via php en je firewall herstarten.

[ Voor 22% gewijzigd door Verwijderd op 30-07-2003 23:31 ]


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 22-04 08:47
Verwijderd schreef op 30 July 2003 @ 23:28:
Waarom maak je dan niet een lijst met "allowed" ip's aan, die je door je fw/qos script laat includen, om vervolgens met php die lijst te updaten.

Als op iedere regel een ip staat, doe je in je firewall script zoiets:

code:
1
2
3
4
for IP in `cat allowed-ips.txt`; do
        < netfilter regels specificiek aan $IP >
        < cbq regels specificiek aan $IP >
done


Vervolgens is het een kwestie van "allowed-ips.txt" updaten via php en je firewall herstarten.
ja zoiets zocht ik....

if broken it is, fix it you should