GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Einrichten des CUPS-Druckservers unter CentOS 8/RHEL 8 (Bonjour, IPP, Samba, AirPrint)

Dieses Tutorial zeigt Ihnen, wie Sie einen an einen CentOS 8/RHEL 8-Computer angeschlossenen Drucker für Windows-, macOS- und iOS-Clients im selben Netzwerk freigeben. CUPS (Common Unix Printing System) ist das Standarddrucksystem unter Linux, FreeBSD und macOS. Ihre Linux-Desktopumgebung verfügt möglicherweise über ein dediziertes Dienstprogramm zur Druckerkonfiguration, aber alle verwenden CUPS unter der Haube. CUPS-Drucker können über mehrere Protokolle im Netzwerk gemeinsam genutzt werden, darunter:

  • Bonjour + IPP :Bonjour, auch bekannt als mDNS/DNS-SD (Multicast DNS/DNS Service Discovery), ermöglicht es einem Computer, Dienste im lokalen Netzwerk zu finden. IPP (Internet Printing Protocol) ist das Transportprotokoll.
  • KMU :auch bekannt als Samba, wird hauptsächlich verwendet, um Dateien und Drucker mit Windows-Clients zu teilen.
  • AirPrint :Ermöglicht iPhone-, iPad- und macOS-Clients das Drucken über WLAN.

Jedes Protokoll hat seine Vor- und Nachteile. Zuerst zeige ich Ihnen, wie Sie CUPS installieren und konfigurieren. Dann lernen wir, wie man den CUPS-Drucker über die oben genannten 3 Protokolle teilt. Ich empfehle, alle 3 Methoden zu verwenden, um Ihren Drucker freizugeben, damit Benutzer mit minimalem Aufwand einen verfügbaren Drucker im lokalen Netzwerk finden können.

Schritt 1:Installieren und konfigurieren Sie CUPS unter CentOS 8/RHEL 8

CentOS 8/RHEL 8 Desktop Edition hat CUPS vorinstalliert. Wenn Sie CentOS 8/RHEL 8 Server Edition verwenden, müssen Sie den folgenden Befehl ausführen, um CUPS aus dem standardmäßigen CentOS 8/RHEL 8-Repository zu installieren.

sudo dnf install cups

Starten Sie dann CUPS.

sudo systemctl start cups

Autostart beim Booten aktivieren.

sudo systemctl enable cups

Überprüfen Sie den Status:

systemctl status cups

Beispielausgabe:

Bearbeiten Sie als Nächstes die CUPS-Hauptkonfigurationsdatei mit einem Befehlszeilen-Texteditor wie Nano.

sudo nano /etc/cups/cupsd.conf

Standardmäßig ist die CUPS-Weboberfläche nur unter localhost:631 verfügbar . Wenn Sie CentOS 8/RHEL 8 Server Edition ausführen, möchten Sie vielleicht, dass CUPS auf allen verfügbaren Netzwerkschnittstellen lauscht, damit Sie von anderen Computern aus auf die CUPS-Webschnittstelle zugreifen können. Suchen Sie die folgende Zeile.

Listen localhost:631

Ändern Sie es wie folgt:Damit CUPS auf allen Netzwerkschnittstellen lauscht.

Port 631

Die folgende Zeile veranlasst CUPS, freigegebene Drucker im lokalen Netzwerk anzuzeigen, sodass andere Computer im selben Netzwerk Drucker sehen können, die mit Ihrem CentOS 8/RHEL 8-Computer verbunden sind.

Browsing On

Suchen Sie dann die folgenden Zeilen.

<Location />
  Order allow,deny
</Location>

Die obige Konfiguration erlaubt nur den Zugriff auf die CUPS-Weboberfläche von localhost. Um den Zugriff von anderen Computern im selben Netzwerk zuzulassen, fügen Sie Allow @LOCAL hinzu zur Konfiguration wie unten.

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

Wenn Sie die Fernverwaltung aus dem lokalen Netzwerk zulassen möchten, fügen Sie dies auch für /admin hinzu Verzeichnis.

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

Speichern und schließen Sie die Datei. Starten Sie dann CUPS neu, damit die Änderungen wirksam werden.

sudo systemctl restart cups

Wir müssen Clients im selben Netzwerk erlauben, auf Port 631 auf Ihrem CentOS 8/RHEL 8-Computer zuzugreifen.

sudo firewall-cmd --permanent --add-port=631/tcp

Laden Sie die Firewall neu, damit die Änderung wirksam wird.

sudo systemctl reload firewalld

Zusätzlich zum Haupt-cups.service , gibt es auch cups-browsed.service , die zum Scannen und Hinzufügen von Druckern aus dem lokalen Netzwerk verwendet wird. Wenn Sie möchten, dass Ihr CentOS 8/RHEL 8-Computer andere Drucker im lokalen Netzwerk verwenden kann, starten Sie diesen Dienst.

sudo systemctl start cups-browsed

Und aktivieren Sie den automatischen Start beim Booten.

sudo systemctl enable cups-browsed

Schritt 2:Treiber für Ihren Drucker unter CentOS 8/RHEL 8 installieren

Sie müssen den Treiber unter CentOS 8/RHEL 8 installieren, damit er den Drucker erkennen und verwenden kann. Wenn Sie einen HP-Drucker haben, können Sie den Treiber einfach mit dem folgenden Befehl installieren.

sudo dnf install hplip

Ich empfehle auch die Installation der gutenprint-cups Paket, das CUPS-Treiber für Canon, Epson, HP und kompatible Drucker bereitstellt.

sudo dnf install gutenprint-cups

Wenn Sie andere Drucker haben, finden Sie Treiber auf openprinting.org.

Nach der Installation des Treibers müssen Sie den Drucker möglicherweise erneut an den USB-Anschluss Ihres CentOS 8/RHEL 8-Computers anschließen. Um zu testen, ob der Treiber korrekt funktioniert, können Sie unter CentOS 8/RHEL 8 eine Textdatei erstellen:

echo "LinuxBabe is awesome!" > file.txt

Führen Sie dann den folgenden Befehl aus, um diese Textdatei über die Befehlszeile zu drucken.

lp file.txt

Dies ist eine sehr rudimentäre Methode, also machen Sie sich jetzt keine Sorgen um die Druckqualität.

Schritt 3:CUPS-Drucker über Bonjour/IPP-Protokoll freigeben

Avahi-Daemon installieren

CUPS kann seine Präsenz im Netzwerk über das mDNS- (Multicast-DNS) und das DNS-SD-Protokoll (DNS Service Discovery), das auch als Bonjour bekannt ist, bekannt geben. Dazu müssen Sie avahi-daemon installieren und ausführen , ein dem Apple Bonjour-Dienst ähnlicher Dienst, der es Computern ermöglicht, freigegebene Geräte und Dienste im lokalen Netzwerk automatisch zu erkennen.

sudo dnf install avahi

Außerdem müssen wir nss-mdns installieren Paket aus dem EPEL-Repository, das Clients zum Auflösen von .local benötigen Domäne im Netzwerk.

sudo dnf install epel-release

sudo dnf install nss-mdns

Starten Sie den Avahi-Daemon.

sudo systemctl start avahi-daemon

Autostart beim Booten aktivieren.

sudo systemctl enable avahi-daemon

Avahi-Daemon lauscht auf UDP-Port 5353. Öffnen Sie ihn in der Firewall.

sudo firewall-cmd --permanent --add-port=5353/udp

Laden Sie die Firewall neu, damit die Änderung wirksam wird.

sudo systemctl reload firewalld

Treiberloses IPP-Drucken

Bonjour wird verwendet, um den Drucker im lokalen Netzwerk anzukündigen. Damit Clients und der CUPS-Server miteinander kommunizieren können, wird IPP (Internet Printing Protocol) benötigt. Der Vorteil von IPP besteht darin, dass Clients den freigegebenen Drucker verwenden können, ohne einen Treiber auf ihren eigenen Geräten zu installieren. CUPS unterstützt IPP standardmäßig, sodass Sie nichts weiter tun müssen, um CUPS-Drucker über IPP freizugeben.

Schritt 4:Drucker auf Client-Computern hinzufügen

macOS- und Linux-Clients

Da macOS und die meisten Linux-Desktop-Distributionen CUPS als Standarddrucksystem installiert haben, können macOS- und Linux-Benutzer im selben Netzwerk den Drucker automatisch verwenden, sobald Sie die Druckerfreigabe über Bonjour/IPP auf der CentOS 8/RHEL 8-Box aktiviert haben. Wenn sie in Anwendungen (Textverarbeitungsprogramme, E-Mail-Programme, Bildbearbeitungsprogramme und Webbrowser) auf die Druckoption klicken, steht der Drucker automatisch zur Verfügung. Sie müssen den Drucker nicht explizit hinzufügen. Es ist magisch.

Wenn Ihr Linux-Computer den Drucker nicht finden kann, verfügt Ihr System möglicherweise nicht über den ippfind Befehl. Führen Sie den folgenden Befehl aus, um es auf einer Debian-basierten Linux-Distribution zu installieren.

sudo apt install cups-ipp-utils

Führen Sie unter CentOS 8 den folgenden Befehl aus.

sudo dnf install cups-ipptool

Starten Sie dann CUPS auf dem Client-Computer neu.

sudo systemctl restart cups

Windows

Windows 10 wird mit einem IPP-Client ausgeliefert. Geben Sie Drucker ein in der Suchleiste unten links und öffnen Sie Drucker &Scanner . Klicken Sie dann auf Drucker oder Scanner hinzufügen Taste. Es scannt verfügbare Drucker im lokalen Netzwerk.

Wie Sie sehen können, hat es meinen HP Deskjet-Drucker gefunden. Wählen Sie den gefundenen Drucker aus und klicken Sie auf Gerät hinzufügen . Es wird in Kürze zur Druckerliste hinzugefügt.

Wenn Sie eine andere Windows-Version verwenden, die auf diese Weise keinen Drucker hinzufügen kann, können Sie die Bonjour-Druckdienste installieren. Starten Sie nach der Installation den Bonjour-Druckerassistenten. Es scannt automatisch verfügbare Drucker im lokalen Netzwerk. Wie Sie auf dem Screenshot sehen können, hat es meinen HP-Drucker gefunden.

Klicken Sie auf Weiter, dann müssen Sie einen Treiber für diesen Drucker auswählen. Sie können den Microsoft IPP-Klassentreiber auswählen, der standardmäßig auf dem System installiert ist.

Klicken Sie auf Weiter und der Drucker wird Ihrem Windows-System hinzugefügt.

Drucker manuell unter Linux hinzufügen

Wenn Sie den Drucker aus irgendeinem Grund nicht sehen, können Sie manuell einen hinzufügen. Um einen von Bonjour freigegebenen Drucker unter Desktop-Linux hinzuzufügen, durchsuchen Sie Ihre Systemeinstellungen oder das Anwendungsmenü nach dem Dienstprogramm zur Druckerkonfiguration. Klicken Sie auf Hinzufügen Schaltfläche, um einen neuen Drucker hinzuzufügen.

Klicken Sie dann auf Netzwerkdrucker und es würde automatisch verfügbare Drucker im lokalen Netzwerk scannen. Wie Sie sehen können, hat es meinen HP Deskjet-Drucker gefunden. Klicken Sie auf Weiter Schaltfläche.

Anschließend können Sie dem Drucker einen Namen und eine Beschreibung geben. Ich übernehme einfach die Standardwerte. Klicken Sie auf Anwenden und Sie sind fertig.

Drucker unter macOS manuell hinzufügen

Um einen von Bonjour freigegebenen Drucker unter macOS hinzuzufügen, gehen Sie zu den Systemeinstellungen -> Drucker &Scanner . Klicken Sie auf die Plus-Schaltfläche (+), um einen Drucker hinzuzufügen.

Es scannt automatisch verfügbare Drucker im lokalen Netzwerk. Wie Sie sehen können, hat es meinen HP Deskjet-Drucker gefunden.

Klicken Sie auf Hinzufügen klicken und es erscheint in der Druckerliste.

Schritt 5:CUPS-Drucker über Samba freigeben

Samba ist eine kostenlose und quelloffene SMB/CIFS-Protokollimplementierung für Unix und Linux, die die Datei- und Druckfreigabe zwischen Unix/Linux- und Windows-Rechnern in einem lokalen Netzwerk ermöglicht. Es wird hauptsächlich verwendet, um Dateien und Drucker mit Windows-Clients zu teilen.

Um Samba auf CentOS 8/RHEL 8 zu installieren, führen Sie den folgenden Befehl aus.

sudo dnf install samba

Führen Sie dann den folgenden Befehl aus, um smbd zu starten und nmbd Dienst.

sudo systemctl start smb nmb

Autostart beim Booten aktivieren.

sudo systemctl enable smb nmb

Um zu überprüfen, ob der Samba-Dienst läuft, führen Sie die folgenden Befehle aus.

systemctl status smb nmb

Einmal gestartet, wird smb Daemon lauscht auf den TCP-Ports 139 und 445. Der nmbd überwacht die UDP-Ports 137 und 138. Führen Sie den folgenden Befehl aus, um diese Ports in der Firewall zu öffnen.

sudo firewall-cmd --permanent --add-service=samba

Laden Sie den Firewall-Daemon neu, damit die Änderung wirksam wird.

sudo systemctl reload firewalld

Bearbeiten Sie dann die Hauptkonfigurationsdatei.

sudo nano /etc/samba/smb.conf

Suchen Sie den [printers] Sektion. Standardmäßig sieht es so aus:

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

Wir müssen den Wert von browseable ändern auf yes , damit Clients im selben Netzwerk den Drucker finden und guest ok = yes hinzufügen können damit jeder im Netzwerk den Drucker verwenden kann.

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = yes
        guest ok = yes

Es wird empfohlen, spoolssd zu aktivieren Dienst beim Freigeben des Druckers. Dadurch wird Samba effizienter, wenn es viele Druckaufträge gibt. Fügen Sie einfach die folgenden beiden Zeilen im [global] hinzu Abschnitt, um den spoolssd zu aktivieren Dienst.

 rpc_server:spoolss = external
 rpc_daemon:spoolssd = fork

Speichern und schließen Sie die Datei. Starten Sie dann Samba neu.

sudo systemctl restart smb nmb

Hinzufügen eines von Samba freigegebenen Druckers in Windows.

Öffnen Sie den Datei-Explorer, geben Sie die IP-Adresse des CentOS 8/RHEL 8-Computers in die Adressleiste ein, z. B. \\192.168.0.110 . Der Drucker sollte nun aufgelistet sein.

Doppelklicken Sie auf den Drucker, um ihn Ihrem Windows-System hinzuzufügen. Klicken Sie dann auf die Schaltfläche OK, um einen zu installierenden Treiber auszuwählen. Nach der Installation des Treibers wird der Drucker Ihrem Windows-System hinzugefügt.

Schritt 6:CUPS-Drucker über AirPrint für iOS-Clients freigeben

Mit AirPrint können iPhone-, iPad- und macOS-Clients über Wi-Fi drucken, ohne Treibersoftware auf den Clientgeräten zu installieren. CUPS unterstützt Airprint, aber avahi-daemon kündigt den AirPrint-Dienst standardmäßig nicht im lokalen Netzwerk an. Wir müssen einen .service erstellen Datei in /etc/avahi/services/ Verzeichnis für den Drucker mit einem Python-Skript. Führen Sie den folgenden Befehl aus, um das Skript auf CentOS 8/RHEL 8 herunterzuladen.

wget https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

Ausführungsberechtigung hinzufügen.

chmod +x airprint-generate.py

Dieses Python-Skript wurde für Python2 erstellt. CentOS 8/RHEL 8 verwendet standardmäßig Python3. Wir müssen Python2 installieren.

sudo dnf install python2

Bearbeiten Sie diese Datei.

nano airprint-generate.py

Ändern

#!/usr/bin/env python

zu

#!/usr/bin/env python2

Speichern und schließen Sie die Datei. Installieren Sie dann die Abhängigkeiten.

sudo dnf install gcc python2-devel cups-devel redhat-rpm-config

Installieren Sie das Cups-Modul.

sudo pip2 install cups pycups

Führen Sie dann dieses Skript aus.

sudo ./airprint-generate.py -d /etc/avahi/services/

Jetzt sollte ein .service vorhanden sein Datei unter /etc/avahi/services/ Verzeichnis für Ihren Drucker.

ls /etc/avahi/services/

Beispielausgabe:

AirPrint-DeskJet-2130-series.service

Starten Sie den Avahi-Daemon neu.

sudo systemctl restart avahi-daemon

Jetzt sollten iOS- und macOS-Clients im selben Netzwerk Ihren Drucker verwenden können. Der folgende Screenshot zeigt, dass mein iPhone erfolgreich einen AirPrint-Drucker gefunden hat.


Cent OS
  1. So richten Sie einen OpenVPN-Server unter CentOS 7 ein

  2. So installieren Sie den OpenLiteSpeed-Webserver unter CentOS 8/RHEL 8

  3. SysLog-Server auf CentOS 6 / RHEL 6 einrichten

  4. So installieren Sie Puppet auf RHEL 8/CentOS 8

  5. DHCP-Server auf CentOS 8 einrichten – wie geht das?

Samba-Server auf CentOS 8/RHEL 8 für die Dateifreigabe einrichten

Installieren und konfigurieren Sie OpenDKIM auf dem Mailserver CentOS 8/RHEL 8

Teil 4:SPF und DKIM mit Postfix auf CentOS 8/RHEL 8 Mailserver einrichten

Einrichten des CUPS-Druckservers auf Ubuntu (Bonjour, IPP, Samba, AirPrint)

So richten Sie einen DHCP-Server unter CentOS 8 ein

So richten Sie SSH unter CentOS und RHEL ein