CUPS Airprint IPv4 only

Ich hatte beim IPAD das Problem, nicht drucken zu können. Im /var/log/cups/error_log hatte ich viele Einträge ähnliche diesem hier

D [16/Jan/2025:15:24:59 +0100] cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
D [16/Jan/2025:15:24:59 +0100] cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
D [16/Jan/2025:15:24:59 +0100] [Client 97] Server address is "[v1.fe80::11:32ff:fe2e:1746+eth0]".
D [16/Jan/2025:15:24:59 +0100] [Client 97] Accepted from [v1.fe80::448:7fc1:f3a2:8693+eth0]:51936 (IPv6)
D [16/Jan/2025:15:24:59 +0100] [Client 97] Waiting for request.
E [16/Jan/2025:15:24:59 +0100] [Client 97] Unable to encrypt connection: error:0480006C:PEM routines::no start line
D [16/Jan/2025:15:24:59 +0100] [Client 97] Closing connection.

Nach einigem googeln bin ich dann darauf gekommen, dass sich das IPAD mit IPv6 mit dem Cups-Server verbinden will, was aber irgendwie nicht klappt. Außerdem sollte die Auth Methode auf None gestellt werden, da Cups sonst auf einen Benutzernamen und Passwort wartet (zumindest bei meinem Macbook so). Ich will aber das alle ohne irgendwas drucken können.

CUPS auf IPv4 beschränken und den DefaultAuthType auf None setzen

ACHTUNG: Das ganze ist nicht updatefest! Wenn also die Cups-Konfig über das Eisfair Menü geändert wird, müssen in der /etc/cups/cuspd.conf die Einstellungen erneut vorgenommen werden!

Öffne die Konfigurationsdatei von CUPS:

/etc/cups/cupsd.conf Ergänze oder passe folgende Einträge an:

# Only listen for connections from the local machine.
#Listen *:631
# Lokale Verbindungen über den Unix-Socket erlauben
Listen /run/cups/cups.sock
# IPv4 für lokale Verbindungen
Listen 127.0.0.1:631
# IPv4 für Netzwerkverbindungen (Netzwerk-IP deines Servers)
Listen 10.10.0.41:631
...
# Default authentication type, when authentication is required...
#DefaultAuthType Basic
DefaultAuthType None

Entferne oder kommentiere alle IPv6-Einträge:

# Listen [::1]:631   # Deaktivieren
# Listen [::]:631    # Deaktivieren
# Port 631           # Deaktivieren (öffnet IPv4 & IPv6)

Dienste neu starten

systemctl restart cups

Überprüfen, ob CUPS nur auf IPv4 lauscht

netstat -tuln | grep 631

Erwartete Ausgabe:

tcp   0   0 127.0.0.1:631   0.0.0.0:*   LISTEN
tcp   0   0 10.10.0.41:631   0.0.0.0:*   LISTEN

Kein IPv6-Eintrag (:: sollte nicht vorkommen).

Avahi auf IPv4 beschränken

Das hier ist obsolet, kann über die Eisfair Konfig eingestellt werden

ausblenden

Da AirPrint über Avahi läuft, muss auch dieser Dienst auf IPv4 beschränkt werden.

IPv6 deaktivieren

Ändere die folgenden Zeilen:

/etc/avahi/avahi-daemon.conf
use-ipv4=yes
use-ipv6=no

Avahi neu starten

systemctl restart avahi-daemon

Überprüfen, ob Avahi nur auf IPv4 lauscht

netstat -tuln | grep 5353

Erwartete Ausgabe:

udp   0   0 224.0.0.251:5353   0.0.0.0:*

Kein Eintrag mit :::5353 (IPv6).

Das ganze ist nicht updatefest! Wenn also die Cups-Konfig über das Eisfair Menü geändert wird, müssen in der /etc/cups/cuspd.conf die Einstellungen erneut vorgenommen werden!

Zuletzt geändert: 2025/01/17 13:52