Cicle: Administració de sistemes informàtics en xarxa (ASIX)
Mòdul: 0374. Administració de sistemes operatius
Un servidor d’impressió és l’element que centralitza la gestió de les impressores d’una organització: rep els treballs des dels clients, els posa en cua, els envia als dispositius físics i informa de l’estat de cada treball. En un entorn corporatiu heterogeni —com el que trobareu en qualsevol empresa real— és habitual conviure amb clients Windows, Linux i macOS que han de compartir el mateix parc d’impressores, sovint gestionat des d’un servidor Linux (CUPS) o des d’un servidor Windows (rol Print and Document Services).
En aquest document farem servir el domini THOS.LOCAL com
a referència d’entorn: un controlador de domini (SRV-DC01),
un servidor de fitxers/impressió Windows (SRV-FS01) i un
servidor CUPS sobre Linux integrat al mateix domini. L’objectiu és que
pugueu reproduir tot el procés al vostre laboratori, sigui quina sigui
la combinació de sistemes operatius que feu servir.
Un sistema d’impressió local (el que trobem a qualsevol PC d’usuari) s’encarrega de:
Un servidor d’impressió afegeix una capa addicional: centralitza aquesta funció perquè múltiples clients no hagin d’instal·lar el driver físic ni conèixer la impressora directament. Els avantatges principals són:
| Avantatge | Descripció |
|---|---|
| Centralització | Un únic punt de gestió, monitoratge i manteniment de cues |
| Compatibilitat | El servidor pot oferir el driver adequat a cada client (Windows, Linux, Mac) |
| Control d’accés | Es poden restringir usuaris o grups que poden imprimir a cada dispositiu |
| Compartició | Impressores físiques connectades per USB es fan accessibles per xarxa |
| Auditoria | Registre de qui imprimeix, quant i quan (útil per a comptabilitat de costos) |
En Linux, aquesta funció la fa CUPS (Common Unix Printing System); en Windows, el Servidor d’impressió (rol Print Server, amb l’Spooler com a servei principal).
Per integrar impressores en una xarxa cal conèixer quins protocols intervenen i quins ports cal obrir als tallafocs.
| Protocol | Port | Transport | Ús |
|---|---|---|---|
| IPP (Internet Printing Protocol) | 631 | TCP | Protocol estàndard actual, usat per CUPS (també com a interfície web) i per Windows des de la versió 7 |
| IPPS (IPP sobre TLS) | 631 | TCP | Igual que IPP però xifrat |
| LPD/LPR (Line Printer Daemon) | 515 | TCP | Protocol clàssic Unix, encara suportat per compatibilitat |
| SMB/CIFS | 445 (i 139 amb NetBIOS) | TCP | Compartició d’impressores Windows i Samba |
| RAW / JetDirect (AppSocket) | 9100 | TCP | Enviament directe de dades a la impressora sense cap protocol d’impressió (típic en impressores de xarxa HP/JetDirect) |
| mDNS/DNS-SD (Bonjour) | 5353 | UDP | Descobriment automàtic d’impressores IPP a la xarxa local (AirPrint) |
| SNMP | 161/162 | UDP | Consulta de l’estat de la impressora (nivell de tòner, papers encallats, etc.) |
A la pràctica: avui dia la majoria d’impressores de xarxa i servidors moderns fan servir IPP (631) com a protocol principal. LPD i RAW es mantenen per compatibilitat amb maquinari antic.
Per comprovar quins ports escolta un servidor CUPS:
sudo ss -tulnp | grep -E '631|515|9100'CUPS és el sistema d’impressió estàndard a totes les
distribucions Linux modernes i a macOS. Funciona com un dimoni
(cupsd) que:
Paquets principals a Debian/Ubuntu:
sudo apt update
sudo apt install cups cups-client cups-bsd printer-driver-allA Windows, el servei Print Spooler
(spoolsv.exe) gestiona les cues locals. Quan un servidor
Windows ha de fer de servidor d’impressió centralitzat, cal afegir-hi el
rol de servidor Print and Document
Services:
Install-WindowsFeature -Name Print-Server -IncludeManagementToolsAquest rol inclou:
printmanagement.msc): consola gràfica centralitzada.| Tasca | Linux (CUPS) | Windows |
|---|---|---|
| Interfície gràfica local | system-config-printer / GNOME Settings →
Impressores |
Configuració → Dispositius → Impressores i escàners |
| Consola d’administració | Interfície web CUPS (https://servidor:631) |
Print Management (printmanagement.msc) |
| Gestió per línia d’ordres | lpadmin, lpoptions, lpstat |
Add-Printer, Get-Printer (PowerShell) |
| Gestió de cues | lpq, lprm, cancel |
Get-PrintJob, Remove-PrintJob |
La consola Print Management de Windows permet, a
més, filtrar impressores per criteris (drivers instal·lats, estat,
ubicació) i desplegar-les automàticament als usuaris o equips mitjançant
directives de grup (GPO), molt útil en un domini com THOS.LOCAL amb diversos edificis o aules.
sudo apt install cups
sudo systemctl enable --now cupsPer defecte, CUPS només escolta a localhost. Cal editar /etc/cups/cupsd.conf:
# Escoltar a totes les interfícies, no només localhost
Port 631
Listen /run/cups/cups.sock
# Permetre l'accés des de la xarxa local
<Location />
Order allow,deny
Allow from 192.168.1.0/24
</Location>
<Location /admin>
Order allow,deny
Allow from 192.168.1.0/24
</Location>
# Permetre compartir impressores
Browsing On
BrowseLocalProtocols dnssdActiveu l’administració remota amb l’eina inclosa (equivalent a marcar la casella des de la interfície web):
sudo cupsctl --remote-admin --remote-any --share-printers
sudo systemctl restart cupsObriu https://IP-DEL-SERVIDOR:631 des d’un navegador.
Des d’aquí podreu:
Per fer canvis d’administració (afegir/eliminar impressores) us
demanarà l’usuari i contrasenya d’un compte del grup lpadmin:
sudo usermod -aG lpadmin ramonUna impressora lògica és l’objecte que el sistema d’impressió gestiona; no cal que es correspongui 1:1 amb un dispositiu físic. Es poden classificar segons:
| Tipus | Descripció | Exemple |
|---|---|---|
| Local | Connectada directament al servidor (USB, paral·lel) | HP-LaserJet-USB |
| Remota IPP/LPD | Impressora de xarxa accessible per IP | hp-planta1 a ipp://192.168.1.50/ipp/print |
| Compartida SMB | Cua que apunta a una impressora compartida per un altre servidor (Windows o Samba) | //SRV-FS01/HP-Direccio |
| Raw | No aplica cap filtre; envia les dades tal qual (útil amb PostScript natiu) | Cua raw cap a JetDirect port 9100 |
| Amb driver (PPD) | Aplica un filtre/driver específic per convertir el treball al llenguatge de la impressora | PPD de Gutenprint o del fabricant |
lpadmin# Impressora de xarxa via IPP amb driver
sudo lpadmin -p HP-Planta1 \
-E \
-v ipp://192.168.1.50/ipp/print \
-m everywhere
# Impressora remota via JetDirect (raw, port 9100)
sudo lpadmin -p Epson-Raw \
-E \
-v socket://192.168.1.60:9100 \
-m rawParàmetres clau:
-p NOM — nom de la cua.-E — habilita la cua i accepta treballs.-v URI — adreça del dispositiu (ipp://, socket://, lpd://, usb://, smb://).-m — model/driver (everywhere per a
driverless IPP, o el nom d’un PPD).sudo lpadmin -d HP-Planta1A Windows, l’equivalent és:
Add-Printer -Name "HP-Planta1" -DriverName "HP Universal Printing PCL 6" -PortName "IP_192.168.1.50"
Set-Printer -Name "HP-Planta1" -Comment "Impressora planta 1"Un grup d’impressió (a CUPS s’anomena classe) agrupa diverses impressores físiques sota una única cua lògica: el primer treball va a la primera impressora lliure, la qual cosa proporciona balanceig de càrrega i tolerància a fallades.
sudo lpadmin -p HP-Planta1 -c Aules
sudo lpadmin -p HP-Planta2 -c AulesAixò crea (o amplia) la classe Aules, formada per les
impressores HP-Planta1 i HP-Planta2. Els
usuaris només han de conèixer el nom Aules; CUPS
distribueix els treballs entre les impressores membres.
Consultar les classes existents:
lpstat -cEliminar una impressora d’una classe:
sudo lpadmin -p HP-Planta2 -r AulesWindows no té “classes” com a tal, però ofereix Printer Pooling: una única impressora lògica que envia els treballs a diversos ports (diverses impressores físiques idèntiques).
Add-PrinterPort -Name "Port1" -PrinterHostAddress 192.168.1.50
Add-PrinterPort -Name "Port2" -PrinterHostAddress 192.168.1.51
Set-Printer -Name "HP-Pool" -PortName "Port1,Port2"Diferència important: el printer pooling de Windows exigeix que totes les impressores del grup siguin del mateix model (mateix driver), mentre que una classe CUPS pot combinar models diferents.
| Ordre | Funció |
|---|---|
lpstat -p |
Estat de totes les impressores |
lpstat -o |
Treballs pendents a totes les cues |
lpq -P NOM |
Consultar la cua d’una impressora concreta |
lp -d NOM fitxer.pdf |
Enviar un treball a una cua |
lprm -P NOM ID |
Eliminar un treball de la cua |
cancel NOM-ID |
Cancel·lar un treball (alternativa a lprm) |
cupsenable NOM / cupsdisable NOM |
Habilitar/deshabilitar una cua |
cupsaccept NOM / cupsreject NOM |
Permetre/rebutjar que la cua accepti nous treballs |
lpoptions -p NOM -l |
Llistar les opcions disponibles d’una impressora (mida de paper, duplex…) |
lpadmin -x NOM |
Eliminar una cua |
Exemple de flux complet:
# Enviar un treball
lp -d HP-Planta1 informe.pdf
# Veure l'estat de la cua
lpstat -o HP-Planta1
# Cancel·lar el treball número 42
cancel HP-Planta1-42
# Aturar temporalment la impressora per manteniment
sudo cupsdisable HP-Planta1
sudo cupsreject HP-Planta1
# Reactivar-la
sudo cupsenable HP-Planta1
sudo cupsaccept HP-Planta1| Ordre | Funció |
|---|---|
Get-Printer |
Llistar impressores instal·lades |
Get-PrintJob -PrinterName NOM |
Consultar treballs d’una cua |
Remove-PrintJob -PrinterName NOM -ID N |
Eliminar un treball |
Restart-Service Spooler |
Reiniciar el servei d’impressió (neteja cues encallades) |
Set-Printer -Name NOM -Shared $true -ShareName NOM |
Compartir una impressora |
Remove-Printer -Name NOM |
Eliminar una impressora |
Get-Printer | Select Name, PrinterStatus
Get-PrintJob -PrinterName "HP-Planta1"
Remove-PrintJob -PrinterName "HP-Planta1" -ID 12
Restart-Service Spooler -ForceAquest és el punt crític en qualsevol xarxa real: fer que impressores
gestionades des de Linux siguin visibles des de clients Windows i
viceversa, dins del mateix domini THOS.LOCAL.
Assegureu-vos que Samba està instal·lat i unit (o almenys
integrat) al domini THOS.LOCAL.
Afegiu a /etc/samba/smb.conf:
[printers]
comment = Totes les impressores
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
printer admin = @lpadmin
[print$]
comment = Drivers d'impressora
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = noCreeu el directori d’estat i reinicieu els serveis:
sudo mkdir -p /var/spool/samba
sudo chmod 1777 /var/spool/samba
sudo systemctl restart smbd nmbd cupsDes d’un client Windows del domini, la impressora apareixerà a \\SRV-CUPS\HP-Planta1 i es podrà afegir amb:
Add-Printer -ConnectionName "\\SRV-CUPS\HP-Planta1"Al servidor Windows (SRV-FS01), comparteix la impressora
amb el rol Print Server (o des de Propietats de la
impressora → Compartició). Des del client Linux, la cua es crea
apuntant a l’URI SMB:
sudo lpadmin -p Windows-Direccio \
-E \
-v "smb://usuari:contrasenya@SRV-FS01/HP-Direccio" \
-m everywhereSi el domini requereix autenticació Kerberos (habitual en un AD com THOS.LOCAL amb SMB signing forçat), cal tenir el paquet smbclient i, si escau, un tiquet vàlid
(kinit usuari@THOS.LOCAL) abans de crear la cua.
Per facilitar que qualsevol client (Linux, Windows 10/11, macOS, mòbils) trobi automàticament les impressores sense configuració manual:
avahi-daemon), que permet que les impressores apareguin
automàticament a macOS i a molts clients Linux.http://SRV-FS01/printers).Documentar la configuració és un requisit professional: facilita el manteniment, la incorporació de nou personal tècnic i la resolució d’incidències. Com a mínim, la documentació hauria d’incloure:
smb.conf o del rol Print Server, drivers
desplegats per GPO.## Impressora: HP-Planta1
- Model: HP LaserJet Pro M404dn
- IP: 192.168.1.50
- MAC: AA:BB:CC:DD:EE:FF
- Ubicació: Aula 204, planta 1
- Protocol: IPP (driverless / Everywhere)
- Servidor: SRV-CUPS (thos.local)
- Cua CUPS: HP-Planta1 (membre de la classe "Aules")
- Compartida via Samba a: \\SRV-CUPS\HP-Planta1
- Grup amb permís d'impressió: G-Alumnes-Aula204
- Grup amb permís d'administració: lpadmin
- Data alta: 2026-09-01
- Responsable: Ramon LópezPodeu generar aquesta documentació automàticament a partir de la configuració real amb:
lpstat -p -d # estat i impressora per defecte
lpstat -c # classes
lpoptions -p HP-Planta1 -l # opcions del PPD