jbnext
Goto Top

CUPS und WIN2012R2 freigegebene Drucker

Hallo zusammen,

wir haben einen Windows 2012 R2 Druckserver auf dem alle unsere Drucker hinzugefügt und für unsere MA freigegeben.
dazu soll jetzt noch ein Linux Maschine (Debian) mit CUPS kommen auf der Druckaufträge mittels einer Java Anwendung Dinge auf den Druckern gedruckt werden sollen.

Gibt es eine Möglichkeit die auf dem Windows Server freigegebenen Drucker an dem CUPS-Server zu synchronisieren?
Oder CUPS nur zu verwenden um die Druckjobs über den Windows Server an den jeweiligen Drucker weiterzureichen?

Ich will mir die Installation der Drucker an CUPS sparen und auch am besten auch die "Pflege" der Drucker bei Änderungen z.B. in Name, Modell+Driver , IP-Adresse ...

Content-Key: 6273061414

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

Printed on: May 4, 2024 at 11:05 o'clock

Member: Juppeck01
Juppeck01 Mar 08, 2023 at 17:08:16 (UTC)
Goto Top
Was bedeutet: "auf dem Windows Server freigegebenen Drucker an dem CUPS-Server zu synchronisieren"?
Du kannst eien Windows Druckerfreigabe über LPR/LPD freigeben und als sochen auch in jede UNIX-Kiste anbinden. Dazu braucht es den Hostnamen des Printserver und die Bezeichnung der QUEUE.
Natürlich muss im Printserver auch LPR/LPD Support vorhanden sein und die Firewall des Printservers diese Ports auch freigeben.
Bitte auch daran Denken, dass die Unix-Kiste den Hostnamen auch auflösen kann. Alternativ geht's auch mit der IP-Adresse - ich finde dies aber unschön; kommt halt drauf an, welche Infrastruktur vorhanden und wie gut die gepflegt ist.
Ich weiß tatsächlich nicht, ob mit CUPS auch RAW auf Port 9100 klappt. Ich mache nichts mit Linux als Workstation und wenn, dass mit Suse. Die kann sowas mit dem YAST schnell erledigen.
Die Berechtigungen zum Drucken sollten auf der Druckfreigabe richtig gesetzt sein. Zum Test würde ich das Drucken mal auf "Jeder"+"Vollzugriff" setzten. Wenn es dann funktioniert, die rechte auf das notwendige Maß reduzieren.
Linux kann mit SAMBA auch Druckfreigaben nutzen. //printservername/freigabe funktioniert dort natürlich auch. Insbesondere bei der Rechtevergabe ist es etwas einfacher, weil CUPS ein Unix Dienst ist und SAMBA eine SMB Dienst ist, der näher an Windows steht. Gehen muss jedoch beides.
Member: jbnext
jbnext Mar 09, 2023 at 10:02:36 (UTC)
Goto Top
Hallo Juppeck01,

danke für die schnelle Antwort.
"synchronisieren" ist wahrscheinlich nicht das richtige Wort.
lpr/lpd support ist gegeben am Windows Druckserver
Eine Testseite hab ich von einem bestehenden CUPS-Server über den Windows-Server schon drucken können.
Was mir Sorge bereitet ist, dass ich nicht unbedingt 3 Systeme anfassen will wenn sich mal etwas ändert z.B. IP, Freigabename oder Modell vom Drucker.
Vielleicht stell ich mir das zu einfach vor, aber kann der CUPS die Druckaufträge nicht einfach an die Freigabe vom Windowsserver weiterleiten wenn der Name passt? //win-printserver/ziel-drucker1
Dann müssen nur die Drucker am Windows Server korrekt freigegeben sein und der Name + Driver am Quell-System passen.
Member: Juppeck01
Juppeck01 Mar 09, 2023 at 23:07:22 (UTC)
Goto Top
Nein, nein - nicht drei Systeme wegen einer Änderung an einem Drucker. Der Sinn des Ganzen ist, dass das genau nicht gemacht werden muss.

Damit sich eine Änderung der IP-Adresse des Druckers oder Modellwechsel nicht gleich in eine Konfig-Arie ausartet, erstmal alle IP-Adressen über einen DNS an einen Hostnamen binden und vom Client auflösbar machen. Wichtig ist, dass der lokale DNS nur autoritativ für Deine interne Internet-Domäne ist. Alles weitere leitet er an den DNS im Internet weiter.
Alle Drucker im DNS eintragen. Allen Geräten in deinem Netz, den DNS im Client als "ersten DNS" eintragen.
Weiter alternativen DNS-Einträge kann man sich schenken. Sie werden nur angefragt, wenn der erste DNS sich gar nicht meldet - also aus oder tot ist. Falsch ist, dass diese angefragt werden, wenn das Auflösungsergebnis des "ersten" DNS negativ ausfiel. Es wird nur ein DNS gefragt - egal wie dessen Antwort lautet, ist die Namensauflösung danach beendet. Leider wird dies sehr häufig falsch verstanden.
Also - alle Druckgeräte haben nun eine IP-Adresse und einen auflösbaren Hostnamen und FQDN. Bitte Reverse-Zone nicht vergessen, damit es auch möglich ist, aus einer IP-Adresse den Hostnamen zu ermitteln.
Nun bei der Drucker-Konfiguration im Drucker-Server als Ziel nicht die IP-Adresse, sondern den Hostnamen einstellen. Den Druckertreiber natürlich auch wählen. Hier ist zu beachten, dass Einstellungen im Windows-Treiber die für die Freigabe sein sollen, nicht direkt in "Reiter" der "Eigenschaften" des Druckertreiberdialogs eingestellt werden, sondern über den Reiter "Erweitert" mit dem Button "Standardwerte..." (unten links in der Dialogbox) eingestellt werden. Die Dialogbox sieht genauso aus, wie beim Reiter "Allgemein" -> Button "Einstellungen..." Diese sind aber nur für den Server selber - also von dort mal was ausgedruckt wird.

Der "Anschluss" enthält nun den Hostnamen oder besser den FQDN und den Namen der QUEUE oder bei RAW, das Port 9100.

Nun die Freigabe des Druckobjekts mit dem Haken "Drucker freigeben". In Sicherheit würde ich zum Test erstmal "Jeder" mit "Drucken" zufügen, wenn der nicht sowieso schon so steht. Später lassen sich dort die Berechtigungen anpassen und schärfen.

Nun sollte sich ein Windows 10 oder 11 mit dieser Freigabe verbinden können und auch den Druckertreiber übertragen lassen.
Du wolltest aber nun mit CUPS auf diese Freigabe drucken.
In Cups ein Druckobjekt mit LPD/LPR Dienst anlegen. Statt der IP-Adresse des Druckgerätes gibst du nun den Hostnamen/FQDN und die Freigabe als QUEUE an.
Cups kann meines Wissens nach keinen Druckertreiber verteilen. Du musst also im Client den Drucker der von CUPS angelegt wurde, in Windows manuell als lpr/lpd Drucker anlegen und das Modell auswählen.
Das ist deutlich aufwändiger als dies mit dem Windows Druckdienst zu machen. Die Druckertreiber auf beiden Seiten müssen gleich sein. CUPS Spoolt eigentlich nur.

Aber mal was zum Use-Case...warum druckst Du nicht nativ mit dem Windows Druckserver und klebst daran die Unix-Workstations? Dies ist wesentlich einfacher zu konfigurieren. Im Ergebnis dürfte es schneller gehen. Dem Windows ist es egal, woher ein Druckjob kommt. Wenn kein Windows angeschlossen ist, sollte man den Haken "Druckjob auf dem Client aufbereiten" nicht im Treiber aktivieren.

Ich bin mir nicht sich sicher, was CUPS mit Treiber an den Windows Spooler sendet. Der Druckfilter von Windows dürfte nicht wirken, denn die Druckstromaufbereitet finden IHMO vor dem Spoolen statt.

Versuch es mal - ich bin gespannt. Mit eine Unix als Workstation arbeite ich schon sehr lange nicht mehr produktiv.
Ich habe mir neuerdings mal ein MacBook Pro gegönnt und bin irgendwie enttäuscht davon, wie wenig Unix Tools überhaupt vorhanden sind. Man kommt sich vor, als hätte man eine Busybox vor sich. Bisher habe ich mir einen Midnight Commander dort übersetzt. Aber was die Apples gut hinbekommen haben, ist die Anbindung von Druckern oder Scanners - sofern sie unterstützt werden.
Na, dann bin ich mal gespannt, was dabei rauskommt...