heinz189
Goto Top

Schnell über Internet drucken

Hallo Zusammen,

ich habe auf einem VPS eine Software installiert. Der VPS liegt in einem Rechenzentrum.

Nun wird über eine API Schnittstelle ein Label in der Software erzeugt und dieses Label muss ich schnellstmöglich auf meinen Drucker welcher an meinen Clientpc angeschlossen ist ausdrucken.

Das ganze wird halt mit jeder Labelerstellung wiederholt. Der VPS ist ein Ubuntu 16.04 Server. Auf dem Client PC könnte ich wahlweise Windows oder auch Ubuntu installieren.

Hättet Ihr das eine Idee wie man das lösen könnte. Ein VPN kann ich für die Umgebung leider nicht einrichten. Den Drucker für das Internet zu öffnen erscheint mir leider auch nicht optimal. Am Ende druckt da jeder wie wild drauf rum.

Am liebsten und logischsten wäre es den Drucker natürlich mit CUPS an den VPS anschließen. Ich habe hierfür schon gesehen, dass es die Google Print Cloud gibt jedoch glaube ich nach einigem Testen nicht, dass man dies so einrichten kann. Zumindest habe ich in der GPC keine IPP gesehen die ich in meine VPS eintragen könnte.

Meine derzeit beste Lösung ist es das Label per email zu schicken und dieses mit einem Skript zu drucken jedoch erscheint mir der Weg doch etwas eigenartig.

Habt Ihr da Ideen wie man dies umsetzen könnte. Danke

Content-Key: 438380

Url: https://administrator.de/contentid/438380

Printed on: April 19, 2024 at 08:04 o'clock

Member: Kraemer
Kraemer Apr 08, 2019 at 14:19:04 (UTC)
Goto Top
Moin,
Zitat von @Heinz189:
Ein VPN kann ich für die Umgebung leider nicht einrichten.
Brieftauben! Brieftauben sind schön und kommen ohne VPN aus. Sogar ohne Internet.

Gruß
Mitglied: 139374
139374 Apr 08, 2019 updated at 14:46:03 (UTC)
Goto Top
Ein VPN kann ich für die Umgebung leider nicht einrichten
Das geht eigentlich immer wenn man nur will und selbst dazu in der Lage ist es einzurichten, und wenn es nur eine Putty-Instanz ist die sich per SSH auf dem VPS einwählt und eine Remote-Portweiterleitung (Reverse Port Mapping) zum Drucker macht, geht eigentlich immer!!

Ansonsten z.B. Dateiablage mit gesichertem Upload (https/sftp&co) und Ordnerüberwachung mit automatischem Druck.

Öffentliche Portweiterleitungen zum Drucker sind wie du selbst auch schon siehst ein NOGO, wenn der Drucker oder dessen Software eine Sicherheitslücke hat, ist der direkt angreifbar und dessen Software ist nicht mal schnell aktualisiert wenn der Hersteller nicht liefert.
Member: ashnod
ashnod Apr 08, 2019 at 15:38:23 (UTC)
Goto Top
Moin ..

Zitat von @Heinz189:
Habt Ihr da Ideen wie man dies umsetzen könnte. Danke

Du hast ja noch nicht viel zum Drucker geschrieben .... gibt ja von den Herstellern auch die Möglichkeit den Druckern ne Mail zu senden die gedruckt wird ... ob das für deine Zwecke taugt ... k.A. face-wink

VG
Member: Heinz189
Heinz189 Apr 08, 2019 updated at 17:34:29 (UTC)
Goto Top
Hi,

ja Brieftauben sind schön.

Der Drucker ist ein Zebra Labeldrucker. Ich glaube nicht, dass man direkt an den Drucker emails schicken kann.

Mein "bestes" Setup soweit ist auf einem Ubuntu Client. Ich rufe dort über "getmail" die emails ab. Mein Emailserver unterstützt IMAP IDLE also geht das eigentlich sofort wobei hackt es hier mal 5-10 Sekunde. Dann wird der Anhang mit Procmail, Uudview extrahiert und automatisch gedruckt.

Das ganze drucken geht super schnell sobald die Datei auf dem Client ist. Nur der Weg dahin hackt leider noch ein wenig.

Wie gesagt geht es aber ich wollte gerne wissen ob es noch ein wenig schneller gehen könnte. Möglicherweise gibt es dafür ja Lösungen.

Ich habe schon ein wenig in Richtung XMPP geguckt. Also Versand der zu druckenden Datei über einen Messangerdienst.
Ich dachte nur, dass es hierfür schon irgendetwas fertiges gibt. Ich kann ja nicht der einzige auf der Welt sein der eine Lösung ohne VPN braucht.
Member: Th0mKa
Th0mKa Apr 08, 2019 at 19:11:03 (UTC)
Goto Top
Du meinst streng nach RFC2549?

/Thomas
Member: Heinz189
Heinz189 Apr 08, 2019 updated at 20:14:54 (UTC)
Goto Top
Hi,

RFC2549 sagt mir jetzt leider nichts.

Ich dachte an https://xmpp.org/extensions/xep-0096.html
Das ist zumindest die Lösung bei den Messangern. Es wird halt eine P2P Verbindung hergestellt und die Datei zwischen beiden Systemen übertragen. Optimal wäre es wenn man so eine Datei schicken könnte ohne dass der Empfänger die Datei zuerst akzeptieren müsste. Sobald die Datei dann auf dem PC liegt kann man diese ja sofort drucken.

Ich habe das nun jedoch mit fetchmail statt getmail gelöst. Ruft die email mit IMAP Idle in einem Bruchteil einer Sekunde ab.
Das trennen des Anhangs und drucken etc. geht dann schon super.
Hab jetzt halt eine Lösung für ein Linux System und nicht Windows ist aber nicht schlimm.

Vielleicht nicht perfekt aber besser als Brieftauben ...

Thx
Member: Lochkartenstanzer
Solution Lochkartenstanzer Apr 09, 2019 updated at 05:04:48 (UTC)
Goto Top
Moin,

Warum kannst Du eigentlich kein VPN nutzen?

Das wäre das einfachste, indem Du zwei linux-Kisten per VPN verbindest und direkt über CUPS druckst.

Das RFC2549 (=Brieftaubenprotokoll) wurde schon mehrmals implementiert und funktioniert auch.

Ansonsten wäre es eine weitere Möglichkeit, eindach in eine Datei zu drucken und diese Datei per scp/rsync zum Client-System zu übertragen. und auf dem Drucker auszugeben.

Es gibt also genug Lösungen.

lks
Member: Penny.Cilin
Penny.Cilin Apr 09, 2019 at 06:38:56 (UTC)
Goto Top
Zitat von @Heinz189:

Hi,

RFC2549 sagt mir jetzt leider nichts.
Hast Du Dir den Link überhaupt angeschaut? Hast Du den Inhalt gelesen und verstanden?

Der Drucker ist ein Zebra Labeldrucker.
Sehr aussagekräftig. Es gibt verschiedene Zebradrucker. face-wink

Gruss Penny.
Mitglied: 139374
139374 Apr 09, 2019 updated at 07:51:14 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:

Moin,

Warum kannst Du eigentlich kein VPN nutzen?

Das wäre das einfachste, indem Du zwei linux-Kisten per VPN verbindest und direkt über CUPS druckst.
Jepp, er hätte sich nur mal meinen ersten Post durchlesen müssen simple ssh Session und ab geht die Post, da kann mir keiner erzählen das das nicht machbar ist. Ich schätze eher ihm fehlt einfach das Wissen und benutzt das als Ausrede.
Member: Heinz189
Heinz189 Apr 09, 2019 updated at 20:46:37 (UTC)
Goto Top
Zitat von @139374:

Zitat von @Lochkartenstanzer:

Moin,

Warum kannst Du eigentlich kein VPN nutzen?

Das wäre das einfachste, indem Du zwei linux-Kisten per VPN verbindest und direkt über CUPS druckst.
Jepp, er hätte sich nur mal meinen ersten Post durchlesen müssen simple ssh Session und ab geht die Post, da kann mir keiner erzählen das das nicht machbar ist. Ich schätze eher ihm fehlt einfach das Wissen und benutzt das als Ausrede.


Mein Problem mit dem VPN bzw der SSH Verbindung ist, dass ich einerseits den Server selbst eingerichtet habe jedoch nicht vom Fach bin und deswegen den Zugang per SSH lediglich von meinen Heimnetzwerk zulasse. Alles andere ist mit Hilfe einer Firewall (uwf) gesperrt. Lediglich den Zugriff auf die Seite habe ich für einen breiteren IP Kreis geöffnet, damit ich zumindest darauf zugreifen kann.

Ein VPN auf diesem Server einzurichten würde ich vermutlich über OpenVPN sogar hinbekommen jedoch mir nicht zutrauen dies auch zu betreiben. Die Verbindung über SSH würde gehen sofern ich darauf zugreifen könnte.

Es ist einfach ein Sicherheitsgedanke welcher mir den Weg versperrt. Der einzige Gedanke welche mir heute gekommen ist ist, dass ich mich zuerst per VPN mit meinem Heimnetzwerk verbinde und diese Verbindung nutze um mich per SSH mit dem VPS zu verbinden. Eine VPN Verbindung zum Heimnetzwerk habe ich, deswegen könnte ich dies tatsächlich ausprobieren.

Ich werde mich deswegen erstmal einlesen wie die Umsetzung mit Reverse Port Mapping funktioniert und dann weiter sehen ob ich dies umsetzen kann.

Beste Grüße
Member: ashnod
ashnod Apr 10, 2019 at 05:31:20 (UTC)
Goto Top
Moin ..

Zitat von @Heinz189:
Ein VPN auf diesem Server einzurichten würde ich vermutlich über OpenVPN sogar hinbekommen jedoch mir nicht zutrauen dies auch zu betreiben. Die Verbindung über SSH würde gehen sofern ich darauf zugreifen könnte.

Das solltest du unbedingt machen, weil die VPN-Verbindung letztendlich sicherer ist als die SSH-Verbindung - insbesondere dann wenn SSH nicht optimal konfiguriert ist.

VG
Member: Lochkartenstanzer
Solution Lochkartenstanzer Apr 10, 2019 at 06:05:12 (UTC)
Goto Top
Zitat von @Heinz189:

Mein Problem mit dem VPN bzw der SSH Verbindung ist, dass ich einerseits den Server selbst eingerichtet habe jedoch nicht vom Fach bin und deswegen den Zugang per SSH lediglich von meinen Heimnetzwerk zulasse. Alles andere ist mit Hilfe einer Firewall (uwf) gesperrt. Lediglich den Zugriff auf die Seite habe ich für einen breiteren IP Kreis geöffnet, damit ich zumindest darauf zugreifen kann.

Ich hoffe doch, daß Du ein zertifikatsbasiertes SSH machst und keines nur mit Paßwort und daß root mit ssh auch nicht rein darf, sondern nur ein normaler User, der dann pe su/sudo zum root wird. Ansonsten hast Du (irgendwann) ein Problem.


Du solltest Dich mit VPN beschäftigen. Und wenn Du Dich mit der Firewall schon beschäftigt hast, solltest Du es auch hinbekommen, damit Dein VPN freizugeben.

Auf jeden Fall ist ein ordentlich zusammengebautes VPN einfacher zu schützen als eine ssh-Verbindung.

Ein VPN auf diesem Server einzurichten würde ich vermutlich über OpenVPN sogar hinbekommen jedoch mir nicht zutrauen dies auch zu betreiben.

Wieso? das schwirige ist doch das einrichten. Danach läuft das VPN von selbst. Du muß nur die security-patches regelmäßig einspielen.

Die Verbindung über SSH würde gehen sofern ich darauf zugreifen könnte.

ssh hat viel mehr Stolpersteine als ein einfaches OpenVPN.


Es ist einfach ein Sicherheitsgedanke welcher mir den Weg versperrt. Der einzige Gedanke welche mir heute gekommen ist ist, dass ich mich zuerst per VPN mit meinem Heimnetzwerk verbinde und diese Verbindung nutze um mich per SSH mit dem VPS zu verbinden. Eine VPN Verbindung zum Heimnetzwerk habe ich, deswegen könnte ich dies tatsächlich ausprobieren.

Der Sicherheitsgedanke soltle Dir eher zu VPN, egal ob SSl oder IP-SEC-basiert, als zu anderen Lösungen raten. Wenn Dir der Sicherheitsgedanke wichtig ist, solltest Du statt einem virtuellen Serverl ieber einen dedizierten Root-Server nehmen. Denn der virtuelle Server ist für Angriffe durch "Nachbarn" deutlich anfälliger.

Ich werde mich deswegen erstmal einlesen wie die Umsetzung mit Reverse Port Mapping funktioniert und dann weiter sehen ob ich dies umsetzen kann.

Mach ein Schritt nach dem anderen, aber das Endergebnis sollte ein VPN sein.

lks

PS: Notfalls kanst Du Dir natürlich auch einen Dienstleister dafür nehmen, von denen es sicher in deiner Nähe und auch hier im Forum genügend gibt. Nachdem Du offensichtlich einen gewerblichen Versandhandel betreibst, solltest Du dir das leisten (können).
Member: Heinz189
Heinz189 Apr 10, 2019 at 20:08:42 (UTC)
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @Heinz189:

Mein Problem mit dem VPN bzw der SSH Verbindung ist, dass ich einerseits den Server selbst eingerichtet habe jedoch nicht vom Fach bin und deswegen den Zugang per SSH lediglich von meinen Heimnetzwerk zulasse. Alles andere ist mit Hilfe einer Firewall (uwf) gesperrt. Lediglich den Zugriff auf die Seite habe ich für einen breiteren IP Kreis geöffnet, damit ich zumindest darauf zugreifen kann.

Ich hoffe doch, daß Du ein zertifikatsbasiertes SSH machst und keines nur mit Paßwort und daß root mit ssh auch nicht rein darf, sondern nur ein normaler User, der dann pe su/sudo zum root wird. Ansonsten hast Du (irgendwann) ein Problem.

Ja natürlich. User erstellt, Passwwort Auth ausgetellt, Zertifikat erstellt und auf meinen Client geladen etc. Dann halt noch ufw als Firewall.

Du solltest Dich mit VPN beschäftigen. Und wenn Du Dich mit der Firewall schon beschäftigt hast, solltest Du es auch hinbekommen, damit Dein VPN freizugeben.

Auf jeden Fall ist ein ordentlich zusammengebautes VPN einfacher zu schützen als eine ssh-Verbindung.

Ein VPN auf diesem Server einzurichten würde ich vermutlich über OpenVPN sogar hinbekommen jedoch mir nicht zutrauen dies auch zu betreiben.

Wieso? das schwirige ist doch das einrichten. Danach läuft das VPN von selbst. Du muß nur die security-patches regelmäßig einspielen.
Heute habe ich eine Verbindung zwischen zwei virtuellen PC's eingerichtet. Hat auch funktioniert. Dumm ist nur, dass die Netzwerknummerkreise ja bei beiden virtuellen PC's gleich sind. Werde den Client wohl nochmal auf einem anderen PC einrichten und mich dann über das Handy einwählen oder so.

Die Verbindung über SSH würde gehen sofern ich darauf zugreifen könnte.

ssh hat viel mehr Stolpersteine als ein einfaches OpenVPN.


Es ist einfach ein Sicherheitsgedanke welcher mir den Weg versperrt. Der einzige Gedanke welche mir heute gekommen ist ist, dass ich mich zuerst per VPN mit meinem Heimnetzwerk verbinde und diese Verbindung nutze um mich per SSH mit dem VPS zu verbinden. Eine VPN Verbindung zum Heimnetzwerk habe ich, deswegen könnte ich dies tatsächlich ausprobieren.

Der Sicherheitsgedanke soltle Dir eher zu VPN, egal ob SSl oder IP-SEC-basiert, als zu anderen Lösungen raten. Wenn Dir der Sicherheitsgedanke wichtig ist, solltest Du statt einem virtuellen Serverl ieber einen dedizierten Root-Server nehmen. Denn der virtuelle Server ist für Angriffe durch "Nachbarn" deutlich anfälliger.

Ich werde mich deswegen erstmal einlesen wie die Umsetzung mit Reverse Port Mapping funktioniert und dann weiter sehen ob ich dies umsetzen kann.

Mach ein Schritt nach dem anderen, aber das Endergebnis sollte ein VPN sein.

lks

PS: Notfalls kanst Du Dir natürlich auch einen Dienstleister dafür nehmen, von denen es sicher in deiner Nähe und auch hier im Forum genügend gibt. Nachdem Du offensichtlich einen gewerblichen Versandhandel betreibst, solltest Du dir das leisten (können).

Du hast natürlich recht. Und ja wir könnten uns die Einrichtung auch sicherlich leisten. Problem ist nur, dass ich halt irgendwo abwägen muss was ich selbst machen kann und was nicht. Es fällt ja nicht nur der Server an sondern es muss hier und da auch öfter mal einiges programiert (Connectoren, Sonderwünsche etc.) werden. Wenn ich für alles immer ein anderes Unternehmen beauftragt hätte ... puh ob das der Laden bisher abwirft bezweifel ich leider.

Dennoch erstmal an alle besten Dank.
Ich werde aber gerne berichten wie ich weiter komme
Member: Heinz189
Heinz189 Apr 11, 2019 updated at 20:30:52 (UTC)
Goto Top
Ich würde gerne noch mal etwas Fragen.

Ich habe jetzt folgendes Setup heute gemacht.

1x Virtualbox wo lediglich Ubuntu Server installiert ist. Sozusagen mein VPS.

Der "PC" bekommt die IP von der Virtualbox mit der 10.0.6.1. Darauf ist auch der Openvpn Server installiert.
Ich habe in meinem Router den Port UDP 1194 zu dem Server freigegeben damit ich mich überhaupt von außen verbinden kann.

Dann habe ich ein weiteres Setup

Es ist ein weiterer Ubuntu PC mit Openvpn als Client. Der PC ist an einen Router (TP Link WR841N) angeschlossen. Auf dem Router ist DD-Wrt installeirt. An diesen Router ist auch der Labeldrucker per Netzwerkkabel angeschlossen. Das Internet erhält der Router über meine Handyverbindung über WLAN.

In dem Router habe ich für den PC eine permanente IP eingerichtet 192.168.1.106. Der Drucker erhält die IP 192.168.1.103.

Ich kann mich also mit dem PC über das VPN mit meinem Testserver verbinden. Der PC erhält die IP 10.0.6.2. Wenn ich jetzt auf meinem Client 10.0.6.1:631 eingebe komme ich auf Cups vom Server.

In der Logdatei von openvpn steht als Client nun lediglich mein PC mit dem ich die Verbindung erstellt habe.

Was muss ich denn nun bei Cups auf dem Server eingeben um den Drucker anzusprechen?

Herzlichen Dank.
Mitglied: 139374
Solution 139374 Apr 11, 2019 updated at 21:53:00 (UTC)
Goto Top
Du brauchst auf dem OpenVPN Server im CCD File nur eine Route mit iroute zu deinem ClientSubnet hinterlegen dann kannst du den Drucker wie gewohnt über seine IP 192 .168.1.103 ansprechen.
Zusätzlich trägst du auf dem DefaultGW des Client Netzes noch das OpenVPN Netz als statische Route ein, das ist aber nur notwendig wenn die Clients nicht das Device des OpenVPN Clients als DefaultGW haben.

https://community.openvpn.net/openvpn/wiki/RoutedLans
Member: Heinz189
Heinz189 Apr 12, 2019 updated at 22:56:32 (UTC)
Goto Top
Super danke. Es geht face-smile
Member: Heinz189
Heinz189 Jun 18, 2019 at 09:04:38 (UTC)
Goto Top
Hallo,

bei meinem Testserver hat das alles funktioniert jetzt bei meiner Arbeitsumgebung macht mir scheinbar der Aufbau mit den Routen Probleme.

Zusätzlich trägst du auf dem DefaultGW des Client Netzes noch das OpenVPN Netz als statische Route ein, das ist aber nur notwendig wenn die Clients nicht das Device des OpenVPN Clients als DefaultGW haben.

https://community.openvpn.net/openvpn/wiki/RoutedLans

Mein VPN steht und funktioniert soweit. Ich kann vom OVPN Server den OVPN Client mit beiden IP's anpingen (10.8.0.6 sowie 192.168.1.109). Ich kann auch den Server vom ClientPC mit 10.8.0.1 anpingen.

Aber ich kann vom Server keine Geräte anpingen welche an den Netzwerkrouter angeschlossen sind. Bitte beachten, dass auf dem Netzwerkrouter nicht der OVPN Client installiert ist.

Könnte mir bitte einer nochmals genauer erklären wie das mit dem Eintrag des OpenVPN Netzes als statische Route auf dem Default Gateway funktionieren soll. Eigentlich bin ich fast überzeugt, dass es daran liegen müsste.

Um auch mal folgendes sicherzustellen damit ich es richtig verstehe:
Mein OpenVPN Netz ist: 10.8.0.0
Mein Default Gateway ist in dem Fall mein LAN Router oder mein OVPN Client? Von der Beschreibung her verstehe ich eher mein OVPN Client jedoch möchte ich nochmals sicher gehen.

Wo trage ich die Route dann genau ein?

Eigentlich ist es hier ja Beschrieben aber ich habe trotzdem meine Probleme:https://openvpn.net/community-resources/how-to/#scope

Ich danke euch für die Hilfe.