Toon posts:

[Linux]-[internet beperken voor bepaald IP

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb thuis een Linux gateway staan (ClarkConnect 3) En deze stuurt het internet door naar een switch die het dan weer verder verdeeld in ons netwerk.

Mijn vraag is nu bestaat er een tooltje voor linux dat internet toegang maar 60 minuten per dag toestaat? Dus geen vaste tijden, nee gewoon 60 minuten per dag. Dus bijvoorbeeld 's morgens 7 minuten, 's middags 23 en 's avonds 30 en dan kapt de verbinding er zelf mee.

Google en de search leverde geen linux oplossingen. Wel zijn er mogelijkheden om een firewall naar een proxy in te stellen maar dit past allemaal niet in mijn netwerk. Ik kom dus nix verder met de search en ook google laat het afweten.

Het lijkt me dat zoiets toch echt bestaat :? want voor bedrijven zou het ook ideaal zijn!

Verwijderd

regeltje in iptables maken wat door een crontab opvaste tijden wordt uitgevoerd.
en weer zorgt dat het geblokkeerd wordt.
wat ook kan is je interface naar internet gewoon uitschakelen met ifconfig.
ben niet zon held in iptables dus je zult zelf beetje bij moeten lezen maar het is te doen en niet eens erg moeilijk

edit: oeps geen vaste tijden dat maakt het iets lastiger. dan zul je dus verbindingen moeten gaan analyzeren ed. ik gebruik zelf snort icm met snortsam voor een constructie die bepaald verkeer blokt op ip adressen maar in jouw geval moeten er wat meer slimme scrtipts aan te pas komen.

[ Voor 32% gewijzigd door Verwijderd op 16-08-2005 20:33 ]


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
hoe definieer vind jij 60 minuten internetten per dag??? Want een beetje pagina creert een data stroom van 2 sec bij mij maar ik ben misschien wel 5 min bezig met het te lezen ( je clarkconnect ziet dus maar 2 sec iets gebeuren ) je kan met ip-tables je verkeer gaan loggen en dan 1x per 5 minuten de log-files om laten rekenen ( via cronjob gewoon de tijden nemen en dan gewoon de tijden van datatransmissie pakken of gewoon stellen dat elk pakketje 1 sec kost ) , indien iemand 60 minuten geinternet heeft ( of max 65 min ) dan gooi je een regel in je iptables die het inet verkeer naar deze comp afsluit. om 0:00 uur even je ip-tables regels opschonen en iedereen mag weer internetten.

Alleen heb je met deze oplossing ( is goed te bouwen ) alleen het daadwerkelijke data-tijd verkeer en dit zegt vrij weinig over de tijd die iemand zit te internetten ( behalve als er p2p progjes / streams bekeken worden ).

Iets wat denk ik wat beter werkt is zoeken naar een client progje wat kijkt of een programma ( iexplorer / firefox ) een bepaalde periode draait en dan een actie verrichten ( of op client-side firewall poort 80 dichtgooien of op clarkconnect poort 80 dichtgooien ) dit heeft als voor / nadeel dat je precies de tijd per progje kan zien.

Misschien kan je ook eens kijken naar netlimiter, misschien kan deze tijd limiteren.

Bedenk wel goed of je alles zou willen afsluiten ( ik zou persoonlijk er wel in kunnen komen dat je http afsluit, maar email zou bij mij bijv altijd aan moeten kunnen staan, im is twijfelgevalletje )

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:10

Gerco

Professional Newbie

Je moet je afvragen wat je eigenlijk wilt, voorbeeldje:

Ik vraag 1 webpagina op, dat duurt zo'n 5 seconden. Vervolgens lees ik die pagina, gedurende 30 minuten. Heb ik nu 5 seconden of 30 minuten geinternet? In het tweede geval kun je het gelijk vergeten, dat is namelijk volkomen onmogelijk. In het eerste geval kun je geen goede tijdlimiet stellen aangezien je alleen de tijd kan meten dat er daadwerkelijk dataverkeer is.

edit:
Gomez12 was me voor...

[ Voor 5% gewijzigd door Gerco op 16-08-2005 20:26 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Daar heb ik eerlijk gezegd helemaal niet bij stil gestaan. over de tijd van downloaden van de site en het lezen ervan.

Het zou mischien wel mogelijk zijn dat je naar een webpagina moet gaan op de gateway en daarop een knopje klikt die het internet acitveerd. Dan zou je 60 minuten kunnen instellen als limiet. Je kan er dan denk ik ook wel een knopje opzetten die de teller stil zet.

kan dit?

En hoe ga ik dit realiseren?? Ik ben best wel leek met linux en php vooral. Ik had eerlijkgezegd ook gehoopt dat er al een programma bestaat wat zoiets kan.

Netlimiter kan geen tijden instellen. Ik ga kijken of DU meter werkt. Du meter en netlimiter kunnen dit niet!

Als het me nou niet gaat lukken is kan iemand mij dan duidelijker uitleggen wat er moet gebeuren met de iptables en wat ik daarvoor moet doen? Een korte omschrijving dus?

iig bedankt voor de snelle reacties ;)

[ Voor 4% gewijzigd door Verwijderd op 16-08-2005 21:39 ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:10

Gerco

Professional Newbie

Zo'n aan en uitzetpagina op de router is goed mogelijk en misschien wel de makkelijkste optie. De gebruiker kan dat natuurlijk "misbruiken" door na elke pagina opgevraagd te hebben snel de verbinding uit te zetten, dat is echter weer te blokkeren door voor elke keer aanzetten minimaal 5 minuten in rekening te brengen.

Je zou zoiets kunnen doen:
In een database of file houd je bij hoeveel krediet er vandaag al opgemaakt is en wat er nog over is.
Op die website werk je dat bestand of db bij als de teller aan en uitgezet wordt
een cronjob controleert elke minuut in die file of db of de teller aanstaat en er genoeg krediet is, zo niet, zet hij de verbinding uit.

Uitzetten kan bijvoorbeeld met iptables -A INPUT -s <ip adres> -j DROP en aanzetten kan met iptables -D INPUT -s <ip adres> -j DROP

Je gebruiker kan nu na het uitzetten van de verbinding nog maximaal 1 minuut doorspelen en dan je het over met de pret. Ik hoop dat je hiermee verder komt, zo niet zien we je wel terug in: Programming & Webscripting

Bedrijven werken overigens vaak met controle achteraf (logs uitdraaien en de uitschieters aanspreken) of met een datalimiet (bijv 10MB per dag), dat werkt over het algemeen goed genoeg.

offtopic:
Waar is het eigenlijk voor als ik vragen mag?

[ Voor 26% gewijzigd door Gerco op 16-08-2005 22:13 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Verwijderd schreef op dinsdag 16 augustus 2005 @ 21:34:
Het zou mischien wel mogelijk zijn dat je naar een webpagina moet gaan op de gateway en daarop een knopje klikt die het internet acitveerd. Dan zou je 60 minuten kunnen instellen als limiet. Je kan er dan denk ik ook wel een knopje opzetten die de teller stil zet.

kan dit?

En hoe ga ik dit realiseren?? Ik ben best wel leek met linux en php vooral. Ik had eerlijkgezegd ook gehoopt dat er al een programma bestaat wat zoiets kan.
Hiermee valt ook weer te frauderen: internet activeren, gauw website opvragen, internet deactiveren, en lekker de opgevraagde website lezen.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:10

Gerco

Professional Newbie

GlowMouse schreef op dinsdag 16 augustus 2005 @ 22:10:
Hiermee valt ook weer te frauderen: internet activeren, gauw website opvragen, internet deactiveren, en lekker de opgevraagde website lezen.
Daar is makkelijk rekening mee te houden door bijvoorbeeld een sessie een minimale tijdsduur te geven van 5 minuten, zoals ik hierboven al beschreef. Dan kun je dit maar een paar keer uithalen en je krediet is op. Het is wel wat eerlijker als je gewoon niet toestaat de sessie uit te schakelen binnen de minimale tijdsduur, dan kunnen mensen ook niet "per ongeluk" hun krediet snel opmaken.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Het kan inderdaad wel zoals al meerdere mensen zeggen, maar ipv een cronjob zou ik je linux mbv php ofzo gewoon een exec laten doen met een iptable commando, als je dit via suexec laat lopen is het nog niet helemaal onveilig. En de mensen kunnen gelijk internetten als ze op het knopje drukken ipv te moeten op de cronjob.

En als het is waarvoor ik denk dat is ( thuissituatie met kinderen die te veel internetten ) dan moet je je wel gaan afvragen of het allemaal de moeite waard is, want als je al niets van iptables afweet kan het nog best wel een redelijke klus worden.

Verwijderd

Topicstarter
Gomez12 schreef op dinsdag 16 augustus 2005 @ 22:30:
<kinp>
En als het is waarvoor ik denk dat is ( thuissituatie met kinderen die te veel internetten ) dan moet je je wel gaan afvragen of het allemaal de moeite waard is, want als je al niets van iptables afweet kan het nog best wel een redelijke klus worden.
Ok, dat klopt. maar dan zal er roch een oplossing moeten komen... Kijk als er program's zijn die op de client pc zelf internet kunnen limiteren is het natuurlijk ook ok.

Echter zou ik het toch liever op de router hebben omdat dan alles centraal blijft snap je.. Is er niemand die mij kan vertellen wat ik nou precies moet doen?

Verwijderd

Ik wil nog wel een poging doen. Alleen voorzie ik dat een project als dit je niet in de koude kleren gaat zitten.. Maar het is zeker wel goed te doen met wat gepuzzel.

1. Uitzoeken hoe je met iptables het verkeer van een ip adres naar inet op je lokale netwerk kan blokken zonder dat je al het verkeer naar je gateway blokt.
2. Een php script bouwen wat met een knop de iptables regel uitvoert om het verkeer naar internet toe te staan voor dat ip adres en tevens bij houdt hoeveel tijd er verstrekt sinds het activeren hier van.
3. Een php script bouwen wat na een bepaalde tijd te activeren is om het verkeer naar internet af te sluiten. En tevens de timer stopt.
4. Een (shell) script schrijven wat kijkt naar hoeveel tijd er verstreken is nadat de toegang tot internet werd gegeven en na een bepaalde periode de boel naar internet blokt voor dat ip.
5. Zorgen dat het php script niet meer toestaat het routen naar internet te activeren als de tijd is verstreken.
6. Een script schrijven wat de bijgehoude tijd reset en dat dmv een cronjob om bv. 12 uur s'nachts draait.
7. Beveiligingen in bouwen om bv. te voorkomen dat met het veranderen van het ip adres de boel te foppen is. (bv. alle andere ip adressen te blokken)
8. Testen testen en nog meer testen

Imho is het php script schrijven het meeste werk. De iptables regels kan je met wat gezoek wel van internet plukken en aanpassen aan jouw situatie. Maar het php script zul je grootendeels van scratch moeten schrijven net als evt. shell scripts. Ik denk dat je kan kiezen tussen de boel helemaal in php uitvoeren of gedeeltelijk in php en de rest in een shell script.

ps. dit is een sterk simpele uitleg van de realiteit maar voorzover ik dit even kan brainstormen wel het meest essentieele.

succes :)

edit: wat toevoegingen / wijzigingen

[ Voor 9% gewijzigd door Verwijderd op 17-08-2005 00:45 ]


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 17:10

Gerco

Professional Newbie

Als je het wilt gebruiken om je kinderen in bedwang te houden, staat gebruiksvriendelijkheid natuurlijk hoog in het vaandel denk ik zo. In dat geval kun je eens kijken naar het programma ComputerTijd, daarmee kun je allerlei tijd gebaseerde limieten instellen aan het computergebruik. Of je er ook internet toegang mee kunt beperken weet ik niet, maar het lijkt me een koud kunstje om dat even aan de auteurs te vragen.

Het is niet gratis, maar ook niet duur. Als het doet wat je wilt is het iig een STUK makkelijker dan PHP scripts te gaan pielen, zeker als je daar geen ervaring mee hebt.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!

Pagina: 1