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

Grundlegende Master Cups-Server- und -Client-Konfiguration für das Browsen in CentOS/RHEL 7

Die Absicht dieses Beitrags ist es, zu erklären, wie die grundlegende Konfiguration von CUPS-Server und -Clients zum Durchsuchen von Druckern durchgeführt wird, die über das Netzwerk verfügbar sind, wenn dies unter CentOS/RHEL 7 nicht richtig funktioniert.

CUPS-Serverkonfiguration

1. Überprüfen Sie, ob cups-Pakete installiert sind

# rpm -qa | grep cups
cups-client-1.6.3-35.el7.x86_64
cups-filesystem-1.6.3-35.el7.noarch
cups-filters-libs-1.0.35-22.el7.x86_64
cups-filters-1.0.35-22.el7.x86_64
cups-1.6.3-35.el7.x86_64
cups-libs-1.6.3-35.el7.x86_64
ghostscript-cups-9.07-28.el7_4.2.x86_64

falls nicht im System verfügbar, installieren Sie es:

# yum install cups
Installed:
cups.x86_64 1:1.6.3-35.el7

Dependency Installed:
avahi-glib.x86_64 0:0.6.31-19.el7 bc.x86_64 0:1.06.95-13.el7 cairo.x86_64 0:1.14.8-2.el7
cups-client.x86_64 1:1.6.3-35.el7 cups-filesystem.noarch 1:1.6.3-35.el7 cups-filters.x86_64 0:1.0.35-22.el7
cups-filters-libs.x86_64 0:1.0.35-22.el7 fontconfig.x86_64 0:2.10.95-11.el7 fontpackages-filesystem.noarch 0:1.44-8.el7
ghostscript.x86_64 0:9.07-28.el7_4.2 ghostscript-cups.x86_64 0:9.07-28.el7_4.2 ghostscript-fonts.noarch 0:5.50-32.el7
jbigkit-libs.x86_64 0:2.0-11.el7 lcms2.x86_64 0:2.6-3.el7 libICE.x86_64 0:1.0.9-9.el7
libSM.x86_64 0:1.2.2-2.el7 libX11.x86_64 0:1.6.5-1.el7 libX11-common.noarch 0:1.6.5-1.el7
libXau.x86_64 0:1.0.8-2.1.el7 libXdamage.x86_64 0:1.1.4-4.1.el7 libXext.x86_64 0:1.3.3-3.el7
libXfixes.x86_64 0:5.0.3-1.el7 libXfont.x86_64 0:1.5.2-1.el7 libXrender.x86_64 0:0.9.10-1.el7
libXt.x86_64 0:1.1.5-3.el7 libXxf86vm.x86_64 0:1.1.4-1.el7 liberation-fonts-common.noarch 1:1.07.2-16.el7
liberation-mono-fonts.noarch 1:1.07.2-16.el7 libfontenc.x86_64 0:1.1.3-3.el7 libjpeg-turbo.x86_64 0:1.2.90-5.el7
libpng.x86_64 2:1.5.13-7.el7_2 libtiff.x86_64 0:4.0.3-27.el7_3 libusbx.x86_64 0:1.0.21-1.el7
libwayland-client.x86_64 0:1.14.0-2.el7 libwayland-server.x86_64 0:1.14.0-2.el7 libxcb.x86_64 0:1.12-1.el7
libxshmfence.x86_64 0:1.2-1.el7 mesa-libEGL.x86_64 0:17.2.3-8.20171019.el7 mesa-libGL.x86_64 0:17.2.3-8.20171019.el7
mesa-libgbm.x86_64 0:17.2.3-8.20171019.el7 mesa-libglapi.x86_64 0:17.2.3-8.20171019.el7 openjpeg-libs.x86_64 0:1.5.1-17.el7
pixman.x86_64 0:0.34.0-1.el7 poppler.x86_64 0:0.26.5-17.el7_4 poppler-data.noarch 0:0.4.6-3.el7
poppler-utils.x86_64 0:0.26.5-17.el7_4 qpdf-libs.x86_64 0:5.0.1-3.el7 urw-fonts.noarch 0:2.4-16.el7
xorg-x11-font-utils.x86_64 1:7.5-20.el7

Complete!

2. Cups und cups-browsed-Dienste starten:

# systemctl enable cups
# systemctl start cups
# systemctl enable cups-browsed.service
# systemctl start cups-browsed.service

3. Bearbeiten Sie die Cups-Konfigurationsdatei „/etc/cups/cupsd.conf “, um anderen Servern zu erlauben, sich mit Druckern auf diesem Master-Server zu verbinden. Das Folgende ist eine Cups-Konfigurationsdatei von einem CentOS/RHEL 7-Server.

# grep -v '#' /etc/cups/cupsd.conf
MaxLogSize 0
LogLevel warn
Listen *:631
Listen /var/run/cups/cups.sock
Browsing On
BrowseLocalProtocols all
DefaultAuthType Basic
WebInterface Yes

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

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

<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>

<Policy default>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default

<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit All>
Order deny,allow
</Limit>
</Policy>

<Policy authenticated>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default

<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit All>
Order deny,allow
</Limit>
</Policy>

Um CUPS so zu konfigurieren, dass es auf allen Netzwerkschnittstellen lauscht, ändern Sie:

Listen localhost:631

zu

Listen *:631

Um Cups so zu konfigurieren, dass sie auf einer bestimmten Netzwerkschnittstelle lauschen, verwenden Sie stattdessen einfach die IP-Adresse:

Listen 10.157.100.45:631

Um Clients im selben Subnetz zuzulassen, in dem sich der Master-Server befindet, fügen Sie „Allow @LOCAL hinzu ” am Ende der Strophe:

<Location />
# Allow shared printing
Order allow,deny
Allow @LOCAL
</Location>

aber wenn wir alle Clients benötigen, um auf diesen Master-Server zuzugreifen, verwenden Sie „Alle zulassen ” statt:

<Location />
# Allow shared printing
Order allow,deny
Allow all
</Location>

Standardmäßig ist die Konfigurationsdatei von cups so eingerichtet, dass Broadcast-Pakete mit Informationen zur Druckerfreigabe gesendet werden. Stellen Sie sicher, dass der folgende Parameter darin vorhanden ist.

Browsing On
BrowseLocalProtocols cups dnssd

Falls nicht benötigt, stellen Sie es auf „Browsing Off“. “.

4. Starten Sie den Avahi-Daemon-Dienst. Falls nicht verfügbar, installieren Sie es.

# yum -y install avahi
# systemctl enable avahi-daemon
# systemctl start avahi-daemon

Prüfen Sie, ob der Server jetzt ordnungsgemäß läuft

# systemctl status avahi-daemon
● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-07-24 13:15:02 EDT; 3 days ago
Main PID: 635 (avahi-daemon)
Status: "avahi-daemon 0.6.31 starting up."
CGroup: /system.slice/avahi-daemon.service
├─635 avahi-daemon: running [gerald-vmol7.local]
└─646 avahi-daemon: chroot helper

Jul 24 13:15:01 ol7-master avahi-daemon[635]: Registering HINFO record with values 'X86_64'/'LINUX'.
Jul 24 13:15:01 ol7-master avahi-daemon[635]: Server startup complete. Host name is gerald-vmol7.local. Local service cookie is 3732296456.
Jul 24 13:15:02 ol7-master systemd[1]: Started Avahi mDNS/DNS-SD Stack.
Jul 24 13:15:07 ol7-master avahi-daemon[635]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.157.10.122.
Jul 24 13:15:07 ol7-master avahi-daemon[635]: New relevant interface eth0.IPv4 for mDNS.
Jul 24 13:15:07 ol7-master avahi-daemon[635]: Registering new address record for 10.157.10.122 on eth0.IPv4.
Jul 24 13:15:09 ol7-master avahi-daemon[635]: Registering new address record for fe80::221:f6ff:feb0:3f6e on eth0.*.
Jul 24 13:15:13 ol7-master avahi-daemon[635]: Joining mDNS multicast group on interface virbr0.IPv4 with address 192.168.122.1.
Jul 24 13:15:13 ol7-master avahi-daemon[635]: New relevant interface virbr0.IPv4 for mDNS.
Jul 24 13:15:13 ol7-master avahi-daemon[635]: Registering new address record for 192.168.122.1 on virbr0.IPv4.

5. Starten Sie den cups-browsed-Dienst.

# systemctl enable cups-browsed
Created symlink from /etc/systemd/system/multi-user.target.wants/cups-browsed.service to /usr/lib/systemd/system/cups-browsed.service.
# systemctl start cups-browsed
Check that the service is now runnning
# systemctl status cups-browsed
● cups-browsed.service - Make remote CUPS printers available locally
Loaded: loaded (/usr/lib/systemd/system/cups-browsed.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-07-27 15:20:03 EDT; 2s ago
Main PID: 14388 (cups-browsed)
CGroup: /system.slice/cups-browsed.service
└─14388 /usr/sbin/cups-browsed 

Jul 27 15:20:03 ol7-master systemd[1]: Started Make remote CUPS printers available locally.
Jul 27 15:20:03 ol7-master systemd[1]: Starting Make remote CUPS printers available locally...

6. Starten Sie den Cups-Dienst.

# systemctl start cups
 Check that the service is now running
# systemctl status cups
● cups.service - CUPS Printing Service
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-07-27 15:20:03 EDT; 33s ago
Main PID: 14387 (cupsd)
CGroup: /system.slice/cups.service
└─14387 /usr/sbin/cupsd -f

Jul 27 15:20:03 ol7-master systemd[1]: Started CUPS Printing Service.
Jul 27 15:20:03 ol7-master systemd[1]: Starting CUPS Printing Service...

7. Konfigurieren Sie die Firewall entweder so, dass externer Zugriff auf Port 631 und 5353 zugelassen wird, oder stoppen Sie sie.

Regel hinzufügen:

# iptables -A OUTPUT -p tcp -m tcp --dport 631 -j ACCEPT
# iptables -A INPUT -p tcp --dport 631 -j ACCEPT
# iptables -A OUTPUT -p tcp -m tcp --dport 5353 -j ACCEPT
# iptables -A INPUT -p tcp --dport 5353 -j ACCEPT

So stoppen Sie die Firewall:

# systemctl stop firewalld
# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

Jul 30 12:49:58 ol7-master systemd[1]: Starting firewalld - dynamic firewall daemon...
Jul 30 12:49:59 ol7-master systemd[1]: Started firewalld - dynamic firewall daemon.
Jul 30 12:54:48 ol7-master systemd[1]: Stopping firewalld - dynamic firewall daemon...
Jul 30 12:54:49 ol7-master systemd[1]: Stopped firewalld - dynamic firewall daemon.

8. Fügen Sie den Drucker über die CUPS-Weboberfläche auf dem Master-Server hinzu:

Öffnen Sie einen Webbrowser, geben Sie den URI im folgenden Format „https://localhost:631/“ ein und gehen Sie zu Verwaltung Tab. Stattdessen kann die IP oder der Hostname des Master-Cups-Servers verwendet werden.

Wählen Sie auf der Registerkarte „Administration“ „Neuen Drucker hinzufügen“ und dann „Andere Netzwerkdrucker:Internet Printing Protocol (http)“ aus, das in unserem Testfall verwendet wird. Klicken Sie dann auf Weiter.

Geben Sie den Geräte-URI in das Verbindungsfeld ein, wie im Beispiel unten, und klicken Sie dann auf Weiter.

Wobei „10.157.138.57“ die IP des vernetzten Druckers und 631 der Port ist, der von cups zum Verbindungsaufbau verwendet wird. Geben Sie die erforderlichen Informationen zum Drucker wie im Beispiel unten ein und klicken Sie auf Weiter.

Wählen Sie auf der nächsten Seite den Druckerhersteller oder die PPD-Datei (Postscript Printer Description) aus, falls erforderlich, und klicken Sie auf Drucker hinzufügen

Beenden Sie die Druckerkonfiguration mit den entsprechenden Einstellungen.

9. Überprüfen Sie nun, ob der Drucker auf dem Master-CUP-Server erkannt wird

# lpstat -t
scheduler is running
no system default destination
device for TestPrinter08-SP5210SR: http://10.157.138.57:631/ipp/
device for TestPrinter09-SP5210SR: http://10.157.138.61:631/ipp/
TestPrinter08-SP5210SR accepting requests since Mon 30 Jul 2018 12:46:47 PM EDT
TestPrinter09-SP5210SR accepting requests since Mon 03 Sep 2018 03:53:53 PM EDT
printer TestPrinter08-SP5210SR is idle. enabled since Mon 30 Jul 2018 12:46:47 PM EDT
printer TestPrinter09-SP5210SR is idle. enabled since Mon 03 Sep 2018 03:53:53 PM EDT

Beachten Sie unseren kürzlich hinzugefügten Drucker und den in der Vergangenheit entdeckten vorherigen Drucker

TestPrinter08-SP5210SR accepting requests since Mon 30 Jul 2018 12:46:47 PM EDT
TestPrinter09-SP5210SR accepting requests since Mon 03 Sep 2018 03:53:53 PM EDT

CUPS-Client-Konfiguration

1. Überprüfen Sie, ob cups-Pakete installiert sind

# rpm -qa | grep cups
cups-libs-1.6.3-35.el7.x86_64

Wenn es nicht installiert ist, fahren Sie mit der Installation des Pakets fort

# yum install cups-1.6.3-35
Installed:
cups.x86_64 1:1.6.3-35.el7

Dependency Installed:
avahi-glib.x86_64 0:0.6.31-19.el7 bc.x86_64 0:1.06.95-13.el7 cairo.x86_64 0:1.14.8-2.el7
cups-client.x86_64 1:1.6.3-35.el7 cups-filesystem.noarch 1:1.6.3-35.el7 cups-filters.x86_64 0:1.0.35-22.el7
cups-filters-libs.x86_64 0:1.0.35-22.el7 fontconfig.x86_64 0:2.10.95-11.el7 fontpackages-filesystem.noarch 0:1.44-8.el7
ghostscript.x86_64 0:9.07-28.el7_4.2 ghostscript-cups.x86_64 0:9.07-28.el7_4.2 ghostscript-fonts.noarch 0:5.50-32.el7
jbigkit-libs.x86_64 0:2.0-11.el7 lcms2.x86_64 0:2.6-3.el7 libICE.x86_64 0:1.0.9-9.el7
libSM.x86_64 0:1.2.2-2.el7 libX11.x86_64 0:1.6.5-1.el7 libX11-common.noarch 0:1.6.5-1.el7
libXau.x86_64 0:1.0.8-2.1.el7 libXdamage.x86_64 0:1.1.4-4.1.el7 libXext.x86_64 0:1.3.3-3.el7
libXfixes.x86_64 0:5.0.3-1.el7 libXfont.x86_64 0:1.5.2-1.el7 libXrender.x86_64 0:0.9.10-1.el7
libXt.x86_64 0:1.1.5-3.el7 libXxf86vm.x86_64 0:1.1.4-1.el7 liberation-fonts-common.noarch 1:1.07.2-16.el7
liberation-mono-fonts.noarch 1:1.07.2-16.el7 libfontenc.x86_64 0:1.1.3-3.el7 libjpeg-turbo.x86_64 0:1.2.90-5.el7
libpng.x86_64 2:1.5.13-7.el7_2 libtiff.x86_64 0:4.0.3-27.el7_3 libusbx.x86_64 0:1.0.21-1.el7
libwayland-client.x86_64 0:1.14.0-2.el7 libwayland-server.x86_64 0:1.14.0-2.el7 libxcb.x86_64 0:1.12-1.el7
libxshmfence.x86_64 0:1.2-1.el7 mesa-libEGL.x86_64 0:17.2.3-8.20171019.el7 mesa-libGL.x86_64 0:17.2.3-8.20171019.el7
mesa-libgbm.x86_64 0:17.2.3-8.20171019.el7 mesa-libglapi.x86_64 0:17.2.3-8.20171019.el7 openjpeg-libs.x86_64 0:1.5.1-17.el7
pixman.x86_64 0:0.34.0-1.el7 poppler.x86_64 0:0.26.5-17.el7_4 poppler-data.noarch 0:0.4.6-3.el7
poppler-utils.x86_64 0:0.26.5-17.el7_4 qpdf-libs.x86_64 0:5.0.1-3.el7 urw-fonts.noarch 0:2.4-16.el7
xorg-x11-font-utils.x86_64 1:7.5-20.el7

Complete!

2. Bearbeiten Sie die Konfigurationsdatei /etc/cups/cups-browsed.conf und fügen Sie die erforderlichen Konfigurationsanweisungen hinzu, einige der folgenden sind verfügbar:

BrowsePoll
BrowseAllow
BrowseLocalProtocols
BrowseRemoteProtocols
BrowseProtocols

Vor CentOS/RHEL 7 wurden diese Direktiven unter /etc/cups/cupsd.conf verwendet aber auf CentOS/RHEL 7 und aktueller funktionieren diese nicht mehr, sondern in der Datei /etc/cups/cups-browsed.conf . Weitere Informationen zu den verfügbaren Direktiven finden Sie auf den man-Seiten von cups-browsed.conf, „# man cups-browsed.conf“.

# vi /etc/cups/cups-browsed.conf
<<< IN THIS TEST WE JUST ADDED BrowseAllow 10.157.10.122 IN WHICH THE IP IS OUR CUPS SERVER >>>
# cat /etc/cups/cups-browsed.conf | grep -v '#'  
BrowseRemoteProtocols dnssd cups
BrowseAllow 10.157.10.122

3. Starten Sie den Cups-Dienst

# systemctl enable cups.service
# systemctl start cups.service

4. Starten Sie den Avahi-Daemon-Dienst. Falls nicht verfügbar, installieren Sie es:

# yum -y install avahi
# systemctl enable avahi-daemon
# systemctl start avahi-daemon

5. Starten Sie den cups-browsed-Dienst

# systemctl enable cups-browsed
# systemctl start cups-browsed

6. Verwenden Sie den Befehl lpstat, um zu testen, ob das Browsen wie erwartet funktioniert:

# lpstat -t
scheduler is running
no system default destination
device for TestPrinter08-SP5210SR: ipps://ol7-master.local:631/printers/TestPrinter08-SP5210SR
device for TestPrinter09-SP5210SR: ipps://ol7-master.local:631/printers/TestPrinter09-SP5210SR
TestPrinter08-SP5210SR accepting requests since Mon 03 Sep 2018 04:19:49 PM EDT
TestPrinter09-SP5210SR accepting requests since Mon 03 Sep 2018 04:19:49 PM EDT
printer TestPrinter08-SP5210SR is idle. enabled since Mon 03 Sep 2018 04:19:49 PM EDT
printer TestPrinter09-SP5210SR is idle. enabled since Mon 03 Sep 2018 04:19:49 PM EDT

oder

# lpstat -v
device for TestPrinter08-SP5210SR: ipps://ol7-master.local:631/printers/TestPrinter08-SP5210SR
device for TestPrinter09-SP5210SR: ipps://ol7-master.local:631/printers/TestPrinter09-SP5210SR

Weitere Informationen zu lpstat finden Sie auf den Manpages „# man lpstat“. Jetzt sind Ihre CUPS-Master- und Client-Server konfiguriert und einsatzbereit.


Cent OS
  1. Installieren und konfigurieren Sie HAProxy unter RHEL 8 / CentOS 8 Linux

  2. FTP-Server unter CentOS 7 / RHEL 7 installieren und konfigurieren – (vsftpfd)

  3. Schritt für Schritt Konfiguration des OpenLDAP-Servers auf CentOS 7 / RHEL 7

  4. CentOS / RHEL 7 :Konfigurieren eines NFS-Servers und NFS-Clients

  5. So konfigurieren Sie NTP-Server und -Client in CentOS / RHEL 7

So registrieren Sie Clients bei SpaceWalk Server – CentOS / RHEL

Installieren und konfigurieren Sie Puppet unter CentOS 7 / RHEL 7

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

So installieren Sie Varnish Cache für Apache unter CentOS/RHEL 8

Anleitung zur Erstkonfiguration von WHM und cPanel unter CentOS 7.x

So installieren und konfigurieren Sie VNC Server unter CentOS/RHEL 8