PFSense: Problem bei der Übertragung einer XML-Datei an den Fiskus
Hallo.
Ich bin für das Netzwerk eines kleinen Gastbetriebes (Hotel+Restaurant) in Südtirol zuständig.
Im Einsatz ist eine PFSense Firewall (2.6, Community Edition).
Hier in Italien ist es jetzt schon seit ein paar Jahren gesetzlich vorgeschrieben, dass sämtliche Registrierkassen eine XML-Datei mit Tagesinkasso-Informationen über Internet täglich an den Fiskus verschicken. Die Kassen verrichten dies automatisch, der Vorgang kann aber auch manuell angeschubst werden.
Wir haben drei Registrierkassen von der Firma RCH. Bei 2 der 3 Kassen verläuft die Übertragung der XML-Datei problemlos. Nur bei einer Kasse (selbe Marke, anderes Modell) klappt die Übertragung einfach nicht. "Error E94: No connection."
Die Kasse unterstützt kein DHCP, benötigt also eine fixe IP-Adresse. Die Kasse lässt sich im Netzwerk problemlos anpingen.
Folgende Maßnahmen habe ich bereits ausprobiert:
- die Firewall für diese Kasse testweise komplett geöffnet
- Netzwerkkabel ausgetauscht, die Kasse direkt an den Router angeschlossen
In unserem Netzwerk tummeln sich duzende von Netzwerkgeräten und funktionieren ohne Probleme.
Der Servicetechniker ist mit seinem Latein auch am Ende. Er hat mir auch schon ein nagelneues Erstatzgerät vorbeigebracht, auch dieses kann von unserem Netzwerk aus die Meldung nicht durchführen. Im Netzwerk des Firmentechnikers funktioniert die Übertragung jedoch problemlos.
Für Hilfe uns Lösungsvorschläge bin ich sehr dankbar.
Ich bin für das Netzwerk eines kleinen Gastbetriebes (Hotel+Restaurant) in Südtirol zuständig.
Im Einsatz ist eine PFSense Firewall (2.6, Community Edition).
Hier in Italien ist es jetzt schon seit ein paar Jahren gesetzlich vorgeschrieben, dass sämtliche Registrierkassen eine XML-Datei mit Tagesinkasso-Informationen über Internet täglich an den Fiskus verschicken. Die Kassen verrichten dies automatisch, der Vorgang kann aber auch manuell angeschubst werden.
Wir haben drei Registrierkassen von der Firma RCH. Bei 2 der 3 Kassen verläuft die Übertragung der XML-Datei problemlos. Nur bei einer Kasse (selbe Marke, anderes Modell) klappt die Übertragung einfach nicht. "Error E94: No connection."
Die Kasse unterstützt kein DHCP, benötigt also eine fixe IP-Adresse. Die Kasse lässt sich im Netzwerk problemlos anpingen.
Folgende Maßnahmen habe ich bereits ausprobiert:
- die Firewall für diese Kasse testweise komplett geöffnet
- Netzwerkkabel ausgetauscht, die Kasse direkt an den Router angeschlossen
In unserem Netzwerk tummeln sich duzende von Netzwerkgeräten und funktionieren ohne Probleme.
Der Servicetechniker ist mit seinem Latein auch am Ende. Er hat mir auch schon ein nagelneues Erstatzgerät vorbeigebracht, auch dieses kann von unserem Netzwerk aus die Meldung nicht durchführen. Im Netzwerk des Firmentechnikers funktioniert die Übertragung jedoch problemlos.
Für Hilfe uns Lösungsvorschläge bin ich sehr dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3191359931
Url: https://administrator.de/contentid/3191359931
Ausgedruckt am: 24.11.2024 um 21:11 Uhr
27 Kommentare
Neuester Kommentar
Servus,
hast du mal die Kasse 3 ans Netzwerkkabel der Kassen 1 o. 2 geklemmt und geschaut ob die dann Ihre XML raushaut? Wenn ja würde ich den Fehler auf einer falschen Portkonfiguration vermuten.
Falls nicht wäre der einfachste Weg mit Wireshark den Traffic der Kasse 3 zu verfolgen dann siehst du wo es irgendwann klemmt.
hast du mal die Kasse 3 ans Netzwerkkabel der Kassen 1 o. 2 geklemmt und geschaut ob die dann Ihre XML raushaut? Wenn ja würde ich den Fehler auf einer falschen Portkonfiguration vermuten.
Falls nicht wäre der einfachste Weg mit Wireshark den Traffic der Kasse 3 zu verfolgen dann siehst du wo es irgendwann klemmt.
Die Kasse baut also die Verbindung eigenständig nach Außen auf?
Ich habe hier einen VPN Router eines Anbieters. Der nimmt z.B. keinen Traffic an der aus einem Subnetz kommt, der muss mit seiner internen IP zwingend in dem Netz stehen aus dem der Traffic ins VPN geroutet werden soll. Machen die Pakete einen Hop mehr läuft das ins Leere, hat mir vermutlich meine ersten grauen Haare beschert.
Wird deine Kasse direkt ins Internet geroutet oder liegen da mehrere Stationen dazwischen?
Ich habe hier einen VPN Router eines Anbieters. Der nimmt z.B. keinen Traffic an der aus einem Subnetz kommt, der muss mit seiner internen IP zwingend in dem Netz stehen aus dem der Traffic ins VPN geroutet werden soll. Machen die Pakete einen Hop mehr läuft das ins Leere, hat mir vermutlich meine ersten grauen Haare beschert.
Wird deine Kasse direkt ins Internet geroutet oder liegen da mehrere Stationen dazwischen?
Hi,
bevor du mit dem Kabelhai anfängst:
1. Erstelle ein Alias "Kassen", weise die IPs von allen 3 Kassen diesem Alias zu.
2. Erstelle eine Regel: erlaube alles von dem Alias Kassen nach Alles, Log.
Dann sende mal mit einer funktionierenden Kasse und dann mit der nicht funktionierenden Kasse.
Kontrolliere und vergleiche die Logs, da solltest du ggf. schon den Fehler erkennen.
3. wenn gelöst: Passe die Any to any Regel an
Gruß
CH
bevor du mit dem Kabelhai anfängst:
1. Erstelle ein Alias "Kassen", weise die IPs von allen 3 Kassen diesem Alias zu.
2. Erstelle eine Regel: erlaube alles von dem Alias Kassen nach Alles, Log.
Dann sende mal mit einer funktionierenden Kasse und dann mit der nicht funktionierenden Kasse.
Kontrolliere und vergleiche die Logs, da solltest du ggf. schon den Fehler erkennen.
3. wenn gelöst: Passe die Any to any Regel an
Gruß
CH
Servus.
Wie schon gesagt wurde ein tcpdump/wireshark-trace am Port der Kasse bringt in der Regel sofort Klarheit.
Grüße Uwe
Die Kasse unterstützt kein DHCP, benötigt also eine fixe IP-Adresse. Die Kasse lässt sich im Netzwerk problemlos anpingen.
Nur aus dem selben Subnetz oder auch aus anderen an der pfSense? Dann auch Gateway-Adresse und DNS-Server Einträge in der Kasse auf Korrektheit überprüft? pfSense schon mal durchgestartet?Wie schon gesagt wurde ein tcpdump/wireshark-trace am Port der Kasse bringt in der Regel sofort Klarheit.
Denke mal solche Sachen wie doppelte IP-Adresse hast du schon kontrolliert?
Und auch auf doppelte MAC Adressen nicht vergessen, zwar selten aber kann vorkommen ...Grüße Uwe
Wir hatten ein ähnliches Problem mit der Sense.
VM ließ sich anpingen, hatte aber keine Verbindung nach außen.
Der Fehler lag an doppelt vergebenen IPs bzw. Aliasen.
Ein Lease wurde nicht gelöscht und dann wurde zufällig dieselbe IP manuell nochmal vergeben.
Kontrolliere das mal + lösche alle Leases (auch die statischen Mappings!) und lösche die ARP-Table.
Setze dann auch die States mal zurück.
VM ließ sich anpingen, hatte aber keine Verbindung nach außen.
Der Fehler lag an doppelt vergebenen IPs bzw. Aliasen.
Ein Lease wurde nicht gelöscht und dann wurde zufällig dieselbe IP manuell nochmal vergeben.
Kontrolliere das mal + lösche alle Leases (auch die statischen Mappings!) und lösche die ARP-Table.
Setze dann auch die States mal zurück.
Die wichtigsten Checks sind oben schon genannt worden. Wirklich wichtig ist die Überprüfung der statischen IP der Kasse ! Diese darf nicht im DHCP-Server Pool des lokalen LAN Netzes liegen ansonsten kann es zu einer IP Address Dopplung und damit den beschriebenen Symptomen kommen.
Also immer Kassen IP außerhalb des DHCP Address Pools legen!!
Gateway IP und vor allem DNS IP sollten bei der Kasse logischerweise statisch auch auf die pfSense IP gelegt werden.
Ein Capture über die interne Paket Capture Funktion der pfSense (Menü: "Diagnostics") wäre wichtig und hilfreich mit Filter auf die Kassen IP um einmal deren gesamten Traffic mitlesen zu können beim Verbindungsaufbau.
Alternativ einmal einen Test PC mit der gleichen statischen IP wie die Kasse anschliessen und von dem versuchen das Ziel zu pingen bzw. zu erreichen. Kasse VOR diesem Test dann natürlich abziehen! (doppelte IP!)
Ggf. über die Capture Funktion beide Endgeräte einmal vergleichen.
Der Paket Capture sollte, wie oben schon mehrfach gesagt, den Fehler sofort aufzeigen!
Also immer Kassen IP außerhalb des DHCP Address Pools legen!!
Gateway IP und vor allem DNS IP sollten bei der Kasse logischerweise statisch auch auf die pfSense IP gelegt werden.
Ein Capture über die interne Paket Capture Funktion der pfSense (Menü: "Diagnostics") wäre wichtig und hilfreich mit Filter auf die Kassen IP um einmal deren gesamten Traffic mitlesen zu können beim Verbindungsaufbau.
Alternativ einmal einen Test PC mit der gleichen statischen IP wie die Kasse anschliessen und von dem versuchen das Ziel zu pingen bzw. zu erreichen. Kasse VOR diesem Test dann natürlich abziehen! (doppelte IP!)
Ggf. über die Capture Funktion beide Endgeräte einmal vergleichen.
Der Paket Capture sollte, wie oben schon mehrfach gesagt, den Fehler sofort aufzeigen!
In Wireshark laden und Screenshots. Oder DU kannst doch auch schlicht und einfach beschreiben was der Capture dir für Erkenntnisse gebracht hat!
Das Elend siehst du ja auch selber, oder ?
DNS zu agenziaentrate.gov.it und auch der dann folgende Verbindungsaufbau mit TLS Schlüsselaustausch dahin klappt fehlerlos.
Das Ziel hat eine kleinere MTU und erfordert Fragementierung mit einem ICMP Typ 3 oder 4 was die Firewall aber ablehnt. Dadurch kommt es zu Retransmissions und einem Session Abbruch.
Du filterst also in den Firewall Regeln vermutlich irgendwo wichtige ICMP Frames oder hast Scrubbing etc. aktiviert was das verursacht.
Hier kann man jetzt nur im freien Fall raten weil dein FW Regelwerk und dein Setup unbekannt sind...
Was auch noch auffällig ist:
Wie kommt es zu dieser "komischen" IP Adressierung?? Kein normaler Mensch fährt mit einem 8er Prefix in der Segmentierung so das es eigentlich niemals zu einer Kommunikation 10.0.0.1 mit 10.1.5.30 kommen kann?
In einem "normalen" Design nutzt man üblicherweise einen 24er Prefix in der Adressierung mit 255.255.255.0. Wie kommt es also bei dir zu diesen merkürdigen Adressen?
Nutzt du allen Ernstes eine /8er Maske in dem Netz?
Die Grundproblematik ist aber das die Fragmentierung fehlschlägt, was vermutlich am falschen Regelwerk oder dem Grundsetup liegt. (Geraten)
DNS zu agenziaentrate.gov.it und auch der dann folgende Verbindungsaufbau mit TLS Schlüsselaustausch dahin klappt fehlerlos.
Das Ziel hat eine kleinere MTU und erfordert Fragementierung mit einem ICMP Typ 3 oder 4 was die Firewall aber ablehnt. Dadurch kommt es zu Retransmissions und einem Session Abbruch.
Du filterst also in den Firewall Regeln vermutlich irgendwo wichtige ICMP Frames oder hast Scrubbing etc. aktiviert was das verursacht.
Hier kann man jetzt nur im freien Fall raten weil dein FW Regelwerk und dein Setup unbekannt sind...
Was auch noch auffällig ist:
Wie kommt es zu dieser "komischen" IP Adressierung?? Kein normaler Mensch fährt mit einem 8er Prefix in der Segmentierung so das es eigentlich niemals zu einer Kommunikation 10.0.0.1 mit 10.1.5.30 kommen kann?
In einem "normalen" Design nutzt man üblicherweise einen 24er Prefix in der Adressierung mit 255.255.255.0. Wie kommt es also bei dir zu diesen merkürdigen Adressen?
Nutzt du allen Ernstes eine /8er Maske in dem Netz?
Die Grundproblematik ist aber das die Fragmentierung fehlschlägt, was vermutlich am falschen Regelwerk oder dem Grundsetup liegt. (Geraten)
Bitte wenn zitieren dann richtig mit "> " am Zeilenanfang und NICHT in Fettschrift!
Ja ich nutze ein /8er Maske.
Eine recht kranke IP Adressierung. Kein Netzwerker macht so einen Unsinn. Das Wort Segmentierung und VLANs ist sicher ein Fremdwort für dich in dem Zusammenhang, oder?! Aber egal...ohne Worte.
Na ja eine /8er Maske ist ja IP designtechnischer Unsinn. Das solltest du als gestandener Netzwerk Profi aber auch wissen und hat nichts mit Bashing zu tun. Aber egal...
Hier findest du noch weitere Infos zu deinem Fragmentierungsproblem:
https://docs.netgate.com/pfsense/en/latest/config/advanced-firewall-nat. ...
(Kapitel: IP Do-Not-Fragment compatibility)
Hier findest du noch weitere Infos zu deinem Fragmentierungsproblem:
https://docs.netgate.com/pfsense/en/latest/config/advanced-firewall-nat. ...
(Kapitel: IP Do-Not-Fragment compatibility)
Dann wars das nicht und du kannst beide Settings wieder so einstellen wie sie waren.
Sinnvoll ist ggf. mal einen MTU Check zu machen
https://kb.netgear.com/19863/Ping-Test-to-determine-Optimal-MTU-Size-on- ...
https://blog.boll.ch/basic-stuff-mtu-groesse-mit-ping-testen/
Wie betreibst du die pfSense am WAN Port??
Sollte das nicht reichen zusätzlich auf dem LAN Interface (wo die Kasse dran ist) den MSS Wert auf 1448.
Hast du zusätzlich dein FW Regelwerk gecheckt das du keine ICMP Type 3 und 4 Pakete filterst??
Sinnvoll ist ggf. mal einen MTU Check zu machen
https://kb.netgear.com/19863/Ping-Test-to-determine-Optimal-MTU-Size-on- ...
https://blog.boll.ch/basic-stuff-mtu-groesse-mit-ping-testen/
Wie betreibst du die pfSense am WAN Port??
- Router Kaskade mit einem Router und doppeltem NAT/Firewalling davor?
- Mit einem NUR Modem (PPPoE Passthrough, Internet terminiert direkt auf der FW)
Sollte das nicht reichen zusätzlich auf dem LAN Interface (wo die Kasse dran ist) den MSS Wert auf 1448.
Hast du zusätzlich dein FW Regelwerk gecheckt das du keine ICMP Type 3 und 4 Pakete filterst??