AirPrint zwischen zwei VLANS

Started by shadow010, September 04, 2019, 07:25:25 PM

Previous topic - Next topic
hallo zusammen

zum einen möchte ich mal Fabian danken für die Implementation des MDNS-R. Tolle Sache!
Nach längerem testen kann ich nun sagen dass bei einem Testrechner das AirPrint nicht lief aber nur mit der vorletzten Version. Nach einem Update funktioniert alles wieder. Könnte sogar sein dass nicht mit der Hardware kompatibel ist was mit dem Update danach wieder gefixt wurde. Leider habe ich aber nicht rausbekommen an was es genau liegt.

Aber Danke euch nun läuft alles wieder

Ich möchte das Thema noch mal aufmachen, weil ich die gleichen Probleme habe, wie im ursprünglichen Post.
OPNsense 21.7.2_1 (latest)

Ich habe zwei Subnets A und B. Firewall-Regeln lassen Multicasts (224.0.0.0/4) zu (also A nach Multicast, und B nach Multicasts), alle Ports (any) sind erlaubt.
Ich habe dazu eine Foating Rule erstellt:
Action: pass
Interfaces: A, B
Protocoll: TCP/UDP
Source and Port: any
Destination: 224.0.0.0/4, any Port

MDNS repeater (Version 1.0_1) ist aktiv auf den Subnets A und B (Listen Interfaces auf A und B aktiviert)

Im Subnet A befindet sich ein Airprint-Drucker mit Bonjour-Protokoll.

Wenn ich mich im Subnet A befinde, dann wird der Airprint-Drucker angezeigt.
Wenn ich mich im Subnet B befinde, dann nicht.

Gewünscht ist natürlich, dass der Airprintdrucker im Subnet B auch angezeigt wird.

Was kann ich tun? Hat es jemand mit den aktuellen Versionen zum Laufen bekommen?

Grüße Michael



Benutz mal Discovery und lass Dir anzeigen, was der Drucker denn so kundtut wie er erreichbar sei.

Mein Brother hier publiziert per Bonjour eine IPv6-Linklocal-Adresse. Das Funktioniert über Subnetze hinweg grundsätzlich nicht, da gibt es dann aber auch keinen Fix. Selbst wenn man am Drucker IPv6 deaktiviert, tut er das ...

https://apps.apple.com/us/app/discovery-dns-sd-browser/id1381004916

Gruß
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

September 14, 2021, 09:07:53 PM #18 Last Edit: September 14, 2021, 09:18:54 PM by Michael.Huck
Discovery zeigt hier so einiges an. Ich habe bestimmt 10 Einträge. Leider kann ich aus den Infos nicht wirklich einen Nutzen ziehen. IPv6 wird bei meinem Drucker jedenfalls nirgends angezeigt. IPv4 Adressen von meinem Drucker schon.
Ich habe einen Kyocera M5526cdw. Vielleicht hat ja ein Kollege es hinbekommen, Bonjour in ein anderes Subnetz zu bekommen. In der Firewall sehe ich, dass
dass aus Subnet A mit Source [fe80::c4b:9579:cadf:94c3]:5353 auf Destination [ff02::fb]:5353 wegen der Regel "udp   Block bogon IPv6 networks from NwMb" geblockt werden. Wer da von Port 5353 sendet ist mir nicht klar. IPv6 Listen führe ich nicht, weil mein Netzwerk eigentlich nur ein IPv4 Netzwerk ist.
Laut Statusseite vom Drucker sollte der Drucker die IPv6-Adresse fe80::217:c8ff:fe80:80a8 / 64 (IPv6 Kabelnetzwerk) und    fe80::217:c8ff:fe5f:e3a6 / 64 (IPv6 WLAN) haben.

Die fe80::/64 Adressen sind link-local. D.h. die funktionieren nicht über Router/Firewalls hinweg, auch nicht mit einer "allow all" Regel.

Siehe Screenshot - das ist das, was mein Brother hier ins Netz bläst - zu sehen in Discovery.

Wenn nun mein Mac in einem anderen Subnetz ist, und IPv6 präferiert - was er leider tut - dann findet er den Drucker nicht. Es gibt 2021 keine reinen IPv4-Netze mehr. Alle Betriebssysteme machen standardmäßig zumindest link-local IPv6. Aber das funktioniert eben nur im selben Subnetz, weil "link-local".

Hoffe, ich habe mich verständlich ausgedrückt.

Wenn es jetzt nicht um Airprint mit einem iPad oder iPhone geht, sondern tatsächlich um einen Mac, dann kannst Du den Drucker natürlich manuell mit seiner IPv4-Adresse anlegen. Das wird dann funktionieren. Und dann ggf. vom Mac aus wieder freigeben, damit ein iPhone o.ä. dann dort hin drucken kann.

Gruß
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Hi,

bei mir funktioniert ein Kyocera M5521cdw problemlos über mehrere VLANs mit AirPrint. Allerdings habe ich auch IPv6 aktiviert, inkl. IPv6 ULA Adressen. Vielleicht tut es deshalb. Ich verwende anstatt mdns-repeater den udpbroadcastrelay zum Weiterleiten der Bonjour-Pakete.
Am Wochenende bin ich wieder Zuhause und kann dann mal meine Konfiguration dokumentieren und hier posten.

Gruß KH


Ich hab auch IPv6 aktiv, aber Brother annonciert nur eine link-local Adresse und da ist dann eben Schluss.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Hi pmhausen

Auch IPv6 ULA ?

Gruß KH

Nö, global unicast, also "richtige" Adressen. Wie geschrieben announced der Brother aber nicht diese sondern nur link-local. Ist mir nicht wichtig genug, eindeutig ein Bug im Drucker.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Hallo Zusammen,

ich habe das gleiche Problem mit meinem aktuellen Setup. Ich habe zwei VLANs (VLAN50 und VLAN68). Im VLAN68 soll der Drucker sein und im VLAN50 alle Drahtlosen clients.
Ich habe bereits das multicast-Plugin installiert und für die beiden VLANs aktiviert. Ich habe die Firewallregeln für Multicast DNS im Client und Drucket-VLAN eingetragen. Ich sehe im Firewall log, dass das Multicast beim Drucker ankommt. Ich kann auch den Drucker via Handy und auch am Laptop via Bonjour Discovery finden.

Allerdings habe ich das Problem, dass auf meinem iPhone bei einem Druckversuch nach dem Auswählen des Druckers nach kurzer Zeit der Drucker wieder aus der Auswahl verschwindet.

Auf meinem Arch-Laptop kann ich zwar den Drucker einrichten, aber die Druckeinstellungen reagieren sehr träge, und wenn ich was Drucken will, dann wird kein Drucker angegeben.

Habt ihr eine Idee, was das Problem sein könnte? Ich habe die Vermutung, dass noch irgendwelche Firewallregeln fehlen.

Hier die relevanten Firewallregeln im Clients-Netz

IPv4 TCP/UDP     Clients net     *     DruckerScanner net     631     *     *             
IPv4 TCP/UDP     Clients net     *     DruckerScanner net     515     *     *       
IPv4 TCP/UDP     Clients net     *     MulticastDNS      5353 - 5354     *     *             
IPv4 TCP     Clients net     *     DruckerScanner net     80 (HTTP)     *     *     
IPv4 TCP     Clients net     *     DruckerScanner net     443 (HTTPS)     *     *

Die Firewallregeln im DruckerScanner net
IPv4 ICMP     Clients net     *     DruckerScanner net     *     *     *             
IPv4 TCP     Clients net     *     DruckerScanner net     631     *     *             
IPv4 TCP     Clients net     *     DruckerScanner net     80 (HTTP)     *     *     
IPv4 TCP     Clients net     *     DruckerScanner net     443 (HTTPS)     *     *

PS: Ich habe zwar regeln in den Tabellen für das Erlauben von PINGs/ICMP und den Zugriff auf das Drucker-Webfrontend, aber ich kann weder den Drucker anpingen, noch komme ich aus dem Clientnetz auf das Webfrontend des Druckers.

Danke und Grüße

PS: Ich hoffe, dass es ok ist wenn ich diesen alten Thread recycle.

Benutz mal was wie mDNS-Explorer und guck dir an, was der Drucker da tatsächlich verteilt. Mein oller Brother z.B. ist zwar sichtbar, teilt per mDNS aber eine Link-local v6-Adresse. Das geht über Netzwerke hinweg schlicht nicht.

https://github.com/mnellemann/mdns-explorer

Und dann kann es natürlich noch sein, dass da noch Regeln im Clients-Net fehlen. Pakettrace hilft.

Die Regeln im Drucker-Netz sind überflüssig 😉

Und abschließend ganz pragmatisch: weshalb den Drucker nicht in das Netz, in dem auch die Clients sind, die ihn benutzen? So hab ich das. Sehe keinen Grund, so ein Gerät zu isolieren.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ich hab auf dem Laptop das Avahi-Discovery Tool verwendet. Damit kann ich den Drucker finden und bekomme diverse Dienste mit der IP aus dem Drucker-VLAN angezeigt. Unter anderem finde ich den UNIX-Print Dienst auf der IP-Adresse.

QuoteUnd dann kann es natürlich noch sein, dass da noch Regeln im Clients-Net fehlen. Pakettrace hilft.

Hab's mal getraced, kann da aber nicht wirklich was sehen. Was mir auffällt ist, dass ich bei der gesamten Kommunikation nicht einmal die IP-Adresse vom Drucker sehe. Im pcap sehe ich kein mDNS. Ich sehe aber (reproduzierbar) im OPNsense Firewall log mehrere mDNS-Requests, die aber von IP's (Source) im WAN Netz kommen und dementsprechend von der Firewall geblockt werden.

Kann es sein, dass die mDNS query irgendwie im WAN-Netz landet und dann die Geräte im WAN-Netz versuchen darauf zu antworten?

QuoteUnd abschließend ganz pragmatisch: weshalb den Drucker nicht in das Netz, in dem auch die Clients sind, die ihn benutzen? So hab ich das. Sehe keinen Grund, so ein Gerät zu isolieren.

Drucker sind halt böse :-). Ja ich vermute, dass ich langfristig auch auf diese Lösung umsteigen werden. Ich wollte mich aber generell mal mit der Materie verraut machen, da ich noch andere Geräte habe (WLAN-Lautsprecher) die ich dann doch gerne in einem seperaten VLAN hätte.

Genau das ist der Punkt, den ich am wenigsten verstehe ... Drucker, Scanner, Lautsprecher ... kommt bei mir alles ins vertrauenswürdige Familiennetz. Ich kauf da halt keinen China-Kram, sondern Geräte mit Doku, was sie tun. Lautsprecher z.B. ist eine Airport Express an der Stereoanlage. Drucker Brother mit Ethernet und SNMP ... was tun denn moderne Drucker so? Ich hatte noch nie einen, der nachhause telefoniert hätte. Meiner braucht sogar fürs Firmware-Update ein externes Tool.

Isolieren tue ich ganz anderen Kram 🙂
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)