# Internetfreigabe mit Java programmieren



## Lilly (19. Jul 2007)

Hallo!
...ich hab da mal ein kleines, für mich eher großes Problem. Wir haben auf Arbeit ein Internetbistro, also einen kleinen Raum mit acht Rechnern wo unsere Mitarbeiter ins Internet können. Zur Zeit ist es so das immer einer von uns Azubis das Internet freischalten muss...Nun hab ich von meinem Chef die Aufgabe bekommen die Internetfreigabe einheitlich über einen Computer laufen zu lassen und das soll ich mit Java programmieren...
Ich hab mir nun gedacht das ich die anderen Rechner ja über ihre IP ansteuern kann, nur weiß ich nicht wie ich so das Internet freigeben könnte  :cry: ...
Wär für ein paar kleine Tipps echt dankbar...
LG Lilly


----------



## foobar (19. Jul 2007)

Einmal posten reicht doch wohl oder?


----------



## Lilli (19. Jul 2007)

...ja ich weiß sorry...


----------



## tuxedo (19. Jul 2007)

Sowas programmiert man in der Regel nicht mit Java. Für Sowas gibts Proxy's mit denen man das steuert. 

Hab sowas früher mal mit dem "Squid" Proxy unter Linux gemacht. Da lässt sich, soweit ich das noch in erinnerung hab, auch einstellen welche IP-Adresse wie, wo und wann ins Internet darf. 

Ich würde dir raten: Schau dich um was es für fertige Programme/Produkte gibt um das zu lösen. In den meisten Fällen kosten die auch nix.

Wenn du das zwingend mit Java machen willst: Proxy selbst programmieren und am zentralen Proxy-Rechner eine GUI für den Proxy basteln mit der man einzelne oder alle Rechner im Proxy freischalten kann.

Wie dem auch sei: Egal wie du's drehst und wendest: Du wirst (fast) immer beim Thema Proxy landen. Es gibt auch andere Wege. Aber ein Proxy ist wohl der gebräuchlichste.

- Alex


----------



## Tellerrand (19. Jul 2007)

Poste mal bitte was zum Aufbau.
Wie hängen die Rechner am Netz und wie wird der Zugang zum Internet derzeit gesperrt/freigegeben?


----------



## Lilly (19. Jul 2007)

Jeder einzelne Rechner hat seinen eingenen Account und seinen eigenen Netzwerkanschluß... Sobald man den Browser startet kommt man auf die Intranetseite von unserem Betrieb.Wenn man ins Internet möchte kommt dann eine login Aufforderung, wir haben verschiedene Loginnamen aber immer das gleiche Passwort...Gesperrt ist das Internet sobald man den Browser schließt...


----------



## Tellerrand (19. Jul 2007)

Hmpf, etzt versteh ich die Problemstellung garnichtmehr.

Mal zum Verständnis:
- Mehrere Rechner hängen an einem Netz
- Im Netz hängt (irgendwo?) ein Router für die Internetverbindung
- Der Router stellt die Intranetseite bereit auf der man sich einloggen kann, um ins Internet zu kommen

Wo liegt nun die gewünschte Veränderung?
Welche freischaltung machen die Azubis, was muss automatisiert werden?


Bin ich der einzige der da nicht durchblickt?


----------



## tuxedo (19. Jul 2007)

?? Und wie schaltet man den Zugang jetzt frei?

Wenn da schon eine Login-Aufforderung kommt wenn man den Browser aufmacht, dann arbeitet da mit sicherheit schon (sowas wie)  ein Proxy. 

Steh am besten mal kurz auf, geh um deinen Schreibtischstuhl drum rum, vergiss alles was dir gerade im Hirm rumschwirrt und setz dich wieder.
Und dann schreibst du nochmal explizit deine Aufgabe nieder. Und zwar so dass es auch jemand versteht der nicht bei euch arbeitet 

Folgende Fragen beschäftigen mich gerade:

- Wenn jeder mit seinem Benutzernamen und Passwort das Internet selbst am Rechner freischalten kann, in dem er eine Nicht-Firmeninterne Seite aufmacht, wie und wo muss ein Azubi das dann noch freischalten?

- Kann es sein dass dein Chef möchte, dann der jeweilige Rechner nicht mehr durch eingabe von Benutzername und Passwort direkt am Rechner freigeschaltet werden soll und stattdessen das ganze Zentral an einem "Freischaltrechner" geschehen soll? Wenn ja: Dann hilft da auch Programmieren nix. Sowas muss man am Proxy machen. Und da kommts drauf an wie der Proxy das macht und was es für ein Proxy ist.

- Alex


----------



## Lilly (19. Jul 2007)

Also an Proxy darf ich nicht ran, problem ist die Rechner hängen am VW Netzwerk mit dran. Und das ist für uns Azubis tabu...
Pro Bistro mit acht Rechner haben wir acht Benutzernamen, Bsp.: Benutzername: gh4a bis gh4g...Das Passwort für diese Benutzernamen wissen nur die Azubis die dort eingesetzt sind. Mit anderen Benutzernamen kommt man da nicht ins Internet. Wenn jetzt ein Mitarbeiter kommt muss der Azubi zu dem Mitarbeiter an den Rechner und ihm dort mit Benutzernamen und Passwort das Internet freischalten.  
Das soll jetzt  so automatisiert werden das der Azubi nicht mehr zu jedem Rechner hinrennen muss und dort Benutzername und Passwort eingeben muss sonder dieser Azubi ein Programm auf dem Rechner laufen hat wo er die einzelnen Rechner sieht und mit Mausklick auf Internet freigeben oder sperren gleich den Mitarbeiter ins Internet lässt. 
Es muss mit Java programmiert sein, da das der Standard hier ist...


----------



## tuxedo (19. Jul 2007)

Hmm... 
warum nicht gleich so.... Hätten wir uns viele Fragen sparen können.

Meine erste Idee:

An die Proxy-User-Abfrage des Browsers kommst du AFAIK mit Java nicht ran. 

Was man aber sicher machen könnte: Eigenen Browser mit diversen Libs basteln, und dann von einem entfernten Rechner mittels RMI oder so die Proxy-Authentifizierung im eigenen Java-Browser steuern.

Aber jetzt mal im ernst: Wie sicher ist denn eine Authentifizierung wenn an jedem Rechner das Passwort gleich ist? Hat sich VW das ausgedacht?

Ihr könntet auch ein eigenes Sub-Netz aufmachen mit einem eigenen Proxy. Das wär vermutlich das beste.

- Alex


----------



## Lilly (19. Jul 2007)

Hier ist das alles leider nicht so einfach...Also mit Proxy darf ich nichts machen auch kein Subnetz oder so aufbauen...mein Chef meint man könnte das mit Java und das ist der einzigste weg für mich...
Leider weiß ich echt nicht weiter, ich darf den Rechner auch keine feste Ip zuweisen also denk ich mal ich muss es irgendwie über die Mac Adresse machen das ich die Rechner ansteuer...
Nur was dann???


----------



## tuxedo (19. Jul 2007)

-> Kannst du vergessen..

Wenn du keinen zweiten Proxy aufbauen darfst der den ersten benutzt, hast du schlechte karten. Die Freigabe ob einer surfen darg oder nicht, erfolgt durch den Proxy selbst. Das jetzt anderweitig zu steuern bedarf einer Ebene VOR dem Proxy oder direkt am Proxy. 

Also mir ist da sonst keine Möglichkeit bekannt. Dachte nur die Inder wollen mit dem Kopf durch stahlbeton. Aber dass VW da auch durch will ?! -> Echte Harteier :.-)

Aber vielleicht fällt jemand anderen noch was kreatives ein.

- Alex


----------



## Tellerrand (19. Jul 2007)

Die Frage ist wie überhaupt die Internetfreischaltung rein technisch funktioniert.
(Und da gibt es recht viele Systeme, kann sogar eine Eigenentwicklung des Betriebes sein. Muss ja nicht ein zwangsläufig ein Proxy sein)
Also entweder Cheffe fragen wie die Freischaltung funktioniert oder Netzwerkübertragung mitschneiden und analysieren.
Da letzteres oft ein Kündigunggrund ist rate ich zur Variante "nachfragen" :lol:

Wenn du keine Informationen hast wie die Freischaltung bisher funktioniert und diese auch nicht bekommst, dann bleiben dir (meiner Meinung nach) nur Lösungen die auf eine Fernsteuerung des Browsers hinauslaufen ... imo Murks.


Falls das doch auf einen Proxy hinausläuft ... vergiss meinen Post


----------



## tuxedo (19. Jul 2007)

Bin mir sicher dass VW es ähnlich habhabt wie andere große Firmen: -> PROXY

Also was ginge, was ich schon erwähnt aber nicht erklärt hab, wäre ein zweiter Proxy:

Dafür braucht ihr nur folgendes:

Einen zentralen Rechner auf dem ihr einen Proxy-Server installiert. Damit der Proxy-Server ins Internet kann, muss ihm als Master-Proxy der Firmen-Proxy eingetragen werden.

So, und die Clients im Bistro stellt ihr dann vom Firmen-Proxy auf den eigenen Proxy um. Und am eigenen Proxy könnt ihr dann nach herzenslust die Clients aktivieren und deaktivieren. Dazu braucht ihr vermutlich noch nicht mal java und sicher auch kein Subnetz.

Ich versuchs mal mit ner Ascii-Zeichnung:

Internet <-> VW-Netzwerk mit Proxy <-> Euer zentraler Rechner mit eigenem Proxy <-> Client-Rechner, eingestellt auf eigenen Proxy

Alle Rechner hängen im gleichen Netzwerk. Nur die Anfragen der Client-Rechner gehen erst an den eigenen Proxy, und wenn der sie frei gibt, gehen sie an den VW-Proxy.

Warum dein Chef gesagt hat "nimm java, das geht" ist mir unerklärlich. Das ist wie wenn man nen Jeti vor die chinesische Mauer stellt und sagt: Nimm Java und NUR Java, damit kommst du über die Mauer


----------



## Tellerrand (19. Jul 2007)

> "Bin mir sicher dass VW es ähnlich habhabt wie andere große Firmen: -> PROXY"

Muss ich zugeben -> die kenne ich nicht.
Ich kenne bei großen Netzwerken nur ein paar UNI Netzwerke die halt auch groß (also minimum 4 stellige PC Anzahl) sind und das über SSH regeln.
Da kann man sich entweder über den Browser einloggen, oder halt direkt eine SSH Verbindung zu Server XY aufbauen.

Das wiederum wäre mit Java problemlos machbar und irgendwie für mich noch das naheliegendste bei Aussagen wie "Mach das mit Java, das geht"

Andererseits will der Cheffe vielleicht auch einen Proxy in Java programmiert haben, der dann auf dem Rechner für den Azubi läuft, ... ist ja nicht bewiesen, dass der Cheffe weiß was ein Proxy ist  :lol:


----------



## NTB (19. Jul 2007)

Ich würde sagen, wichtig ist erstmal, herauszufinden, was Du zur Zeit technisch passiert.
Am besten durch nachfragen! Wenn man so will, eine IST-Analyse... sonst kann das nämlich alles mögliche sein...


----------



## tuxedo (19. Jul 2007)

Da hast du recht @Tellerrand. Firmen setzen, im gegensatz zu Unis, meist ausschließlich M$ Produkte ein. Und das ist dann in fast allen Fällen die Proxy-Lösung mit dem IAS (internet authentification service, wenn ich mich jetzt nicht irre). 

Die Sache mit SSH wäre doch in einer Firma wie VW zu kompliziert. Die Leute sind M$ gewohnt und nutzen es dehslab auch. Das jetzt weiter auszuführen würde aber ins off-topic abschweifen....

Warten wir mal ab was Lilly  noch für Infos liefern kann ...


----------



## Lilly (19. Jul 2007)

so mein cheffe hatte zwar nicht viel zeit meint aber wir gehen über den Proxy ins Netz. Hab ihn dann gefragt wie er das haben will weil ich den ja nicht nutzen darf, seine Antwort, denken sie sich was aus hauptsache die Programmierung der Internetfreigabe erfolgt mit Java...
Jetzt bin ich total fertig weil ich überhaupt keine Ahnung mehr habe was ich tun soll und wie das jetzt funktioniert... :cry:


----------



## tuxedo (19. Jul 2007)

na also... da haben wir's doch.. schreibst du dir "mal eben" nen eigenen Proxy und erledigst du authentifizierung eben da. 

Dazu muss am "original" Proxy nix geändert werden. Und um am selbtgeschriebenen Proxy rauszukriegen welcher der Rechner welche IP hat, kannst du auf den rechnern ne kleine Java-Anwendung installieren/programmieren die dem eigenen Proxy ne Meldun zukommen lässt ("Hallo, ich bin Rechner ABC"). Dann weiß der Java-Proxy sowohl die IP als auch den Namen des Rechners. 

Mein Tipp: Informier dich wie ein Proxy funktioniert (google, wikipedia, fachlitzeratur) und dann schau dir das mal an:
http://www.me.lv/jp/index.html

vielleicht kannst du da Sachen gebrauchen. 

Nach einer "Alles klar Chef, bin in 7 Tagen fertig" arbeit sieht das für dich allerings nicht aus. Eher nach "werd wohl mind. 4 oder mehr Wochen brauchen" ...

Naja, learning by doing sag ich immer.

- Alex


----------



## Gast (26. Jul 2007)

e-mail Passwort soll nicht gleich auf dem Feld Passwort erscheinen


----------



## ARadauer (27. Jul 2007)

wenn ich mir das so druchlesen wunder ich mich schon wie das überhaupt klappen soll.  ???:L 

also hier bei bmw würd ich einfach mal die 55555 anrufen und das an den it support deligieren.....  :roll:


----------



## tuxedo (27. Jul 2007)

@Gast: Was willst du uns damit sagen?

@ARadauer: Naja, eigentlich schon, aber vielleicht isses ein "Ausbildungsprojekt" ?!


----------



## HaBaLeS (29. Jul 2007)

Das ist doch ganicht so schwer. Überleg dir einfach mal was DU tust wenn du nen Rechner freischaltest. Du gehtst hin, und tippst die Authentifizierungg ein. 

Also erster Schritt, du schreibst ein Programm, das auf dem Clinet läuft und die Authentifizierung automatisch macht. Wenn du z.B. nur Wesite aufrufen musst, in die Du User/Pass einträgst iss das einfach. Wenn du ne Native Applikation steuern musst die wirds schon schwerer.

Im Schritt 2 musst du noch DEIN laufen zum Rechner automatisieren. Baust du dir ne kleine Clinet Server Applikation mit der du deine Autentifizierungsprogramme fernsteurn kannst.

Damit wäre die Aufgabe erfüll ... leider nur theoretisch, denn ich denke die Umsetzung wird nicht ganz einfach.


----------

