fenris14
Goto Top

PfSense tftp Server

Guten Tag,

ich versuche gerade den TFTP-Server von pfSense zum laufen zu bekommen. Sollte ja eigentlich kein Problem sein, aber irgendwie scheint dieser zu streiken. Egal von welchem Gerät ich versuche eine Verbindung herzustellen, es schlägt immer fehl.

Leider gibt Google nicht viel her, nur das es bis vor paar Monaten einige Probleme mit dem Package gab.

Port Forward vom LAN auf Port 69 UDP auf die Firewall ist eingerichtet, aber ich bekomme einfach keine Verbindung.

Weiß jemand mehr? Hat jemand schonmal diesen TFTP-Server auf der pfSense verwendet?

Gruß

Content-Key: 347473

Url: https://administrator.de/contentid/347473

Ausgedruckt am: 29.03.2024 um 13:03 Uhr

Mitglied: Pjordorf
Pjordorf 28.08.2017 um 12:37:36 Uhr
Goto Top
Hallo,

Zitat von @Fenris14:
Port Forward vom LAN auf Port 69 auf die Firewall ist eingerichtet, aber ich bekomme einfach keine Verbindung.
UDP 69 oder was?
https://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

Einen anderen TFTP kannst du problemlos nutzen? http://tftpd32.jounin.net/

Gruß,
Peter
Mitglied: Fenris14
Fenris14 28.08.2017 aktualisiert um 13:04:09 Uhr
Goto Top
Ja, ist Port 69 UDP.

Habe gerade von einem Gerät auf meinen eigenen Rechner eine Config-File hochgeladen... geht einwandfrei. Wenn ich aber versuche auf die pfSense hochzuladen, belibt er bei Block stehen.
Mitglied: 117471
117471 28.08.2017 aktualisiert um 13:21:04 Uhr
Goto Top
Hallo,

Zitat von @Fenris14:

Port Forward vom LAN auf Port 69 auf die Firewall ist eingerichtet, aber ich bekomme einfach keine Verbindung.

Im Gegensatz zu FTP, das ein verbindungsorientiertes Transportprotokoll erfordert, wird TFTP normalerweise über ein verbindungsloses Protokoll wie UDP betrieben. Allerdings gibt es die Ähnlichkeit zu FTP, dass die Daten nicht in der gleichen Verbindung wie die Steuerungskommandos übertragen werden. Der Client fragt eine Aktion (lesen/schreiben) zwar auf dem Port 69 an, aber der Server sendet nicht mit Port 69 als Quellport, wie man es beispielsweise von DNS kennt (mit Port 53). Client und Server wählen vielmehr sogenannte Transfer IDentifiers (TID). Diese TIDs entsprechen dem UDP-Port auf der jeweiligen Seite und liegen im Bereich von 1024 bis 65535.

Quelle: https://de.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

Gruß,
Jörg
Mitglied: Fenris14
Fenris14 28.08.2017 um 13:26:54 Uhr
Goto Top
Zitat von @117471:

Hallo,

Zitat von @Fenris14:

Port Forward vom LAN auf Port 69 auf die Firewall ist eingerichtet, aber ich bekomme einfach keine Verbindung.

Im Gegensatz zu FTP, das ein verbindungsorientiertes Transportprotokoll erfordert, wird TFTP normalerweise über ein verbindungsloses Protokoll wie UDP betrieben. Allerdings gibt es die Ähnlichkeit zu FTP, dass die Daten nicht in der gleichen Verbindung wie die Steuerungskommandos übertragen werden. Der Client fragt eine Aktion (lesen/schreiben) zwar auf dem Port 69 an, aber der Server sendet nicht mit Port 69 als Quellport, wie man es beispielsweise von DNS kennt (mit Port 53). Client und Server wählen vielmehr sogenannte Transfer IDentifiers (TID). Diese TIDs entsprechen dem UDP-Port auf der jeweiligen Seite und liegen im Bereich von 1024 bis 65535.

Quelle: https://de.wikipedia.org/wiki/Trivial_File_Transfer_Protocol

Gruß,
Jörg

Habe ich schon Pjordorf beantwortet... Port Forward und Firewall Rule sind bereits auf UDP 69 angelegt. Daran liegt es also nicht!
Mitglied: 117471
117471 28.08.2017 um 13:41:32 Uhr
Goto Top
Hallo,

Zitat von @Fenris14:

Port Forward und Firewall Rule sind bereits auf UDP 69 angelegt.

Achso - und der Port, auf dem TFTP nach dem Verbindungsaufbau schwenkt, wird per UPnP weitergeleitet / freigeschaltet?

Gruß,
Jörg
Mitglied: 134058
134058 28.08.2017 aktualisiert um 14:07:12 Uhr
Goto Top
Für eine Verbindung LAN <-> FW (Server darauf) benötigt man keinerlei Portforwarding, hier findet kein NAT und auch keine Portumleitung/Redirect statt!

Auf dem LAN-Port der FW (Incoming vom Client-PC) muss Port 69/UDP als Ziel erlaubt sein. Oder eben testweise alles. Also entsprechende Regel erstellen.

TFTP-Antworten erfolgen vom Server/FW von UDP/1765 auf Ziel-Port UDP/32534 (TFTP-Client). Dafür (Outgoing) muss keine Regel erstellt werden, darf aber auch nicht verboten sein.

Läuft der tftp-Server auf der PFSense? Wie installiert? PFSense-Logs über aktiven Dienst?
Was sagt nmap (oder beliebiger Portscanner) auf UDP/69 vom Client-PC auf Firewall/TFTP-Server?
Was sagen die PFSense Logs nach tftp-Verbindungsversuchen? Kannst ja wie oben geschrieben filtern/suchen.

UPnP ist für TFTP völlig unnötig und ein Sicherheitsrisiko! Ein dauerhafter TFTP-Server auf der FW ist ebenfalls ein Sicherheitsrisiko. Nur unbedingt notwendige Dienste gehören dahin!


,
Mitglied: Pjordorf
Pjordorf 28.08.2017 aktualisiert um 14:00:46 Uhr
Goto Top
Hallo,

Zitat von @Fenris14:
Port Forward und Firewall Rule sind bereits auf UDP 69 angelegt. Daran liegt es also nicht!
An Port 69 sicherlich nicht, aber entweder ist dein TFTP kaputt oder TFTP nutzt tatsächlich noch weieter Ports. Du hast alo schlichtweg dies hier
TFTP uses UDP as its transport protocol. A transfer request is always initiated targeting port 69, but the data transfer ports are chosen independently by the sender and receiver during the transfer initialization. The ports are chosen at random according to the parameters of the networking stack, typically from the range of ephemeral ports.
überlesen / nicht gelesen. In deinen Einstellungen könnte etwas davon drin stehen, aber die PFSense TFTP Oberfäche kenne ich nicht. Und wenn das alles nicht hilft, nimm ein Wireshark und die Logs deine PFSense und schau wo es steckenbleibt (deine PFSense hat doch Logs?). Ich vermute genauso wie @117471 das du schlichtweg die benötigten Ports gar nicht zulässt, und jetzt ist hier wieder nicht von UDP 69 die rede.

Gruß,
Peter
Mitglied: Fenris14
Fenris14 28.08.2017 um 14:06:42 Uhr
Goto Top
Ich kenn das nur so vom UPS-Tool, dort musste man ein Port Forward zeigend auf den localhost einrichten, damit sich Clients verbinden können. Sah für mich nach gleichem Prinzip aus.

Installiert habe ich den tftp-server über die pfsense-repos, ganz normal über den Package Manager. Leider hat dieser scheinbar keinerlei Log-Funktionalitäten und unter Status>System Logs ist ebenfalls nichts zu finden.

Ports sind ausgehend offen.
Mitglied: 134058
134058 28.08.2017 aktualisiert um 14:13:20 Uhr
Goto Top
Dann nimm Portforwarding raus und irgendwo loggt die PFSEnse den Staus der Dienste (aktiv/deaktiv). Also schaue richtig nach! Teilweise muss man diese nach Installation/Reboot explizit einschalten, z. B. iperf-Server. Sicherheitsfeature!

Und was ist mit Inbound-Rules auf entsprechendem LAN-Interface?
Mitglied: 117471
117471 28.08.2017 um 14:13:17 Uhr
Goto Top
Hallo,

Für eine Verbindung LAN <-> FW (Server darauf) benötigt man keinerlei Portforwarding, hier findet kein NAT statt!

Der Teilnehmer hat nirgendwo geschrieben, dass es sich bei der Firewall und dem TFTP-Server um ein- und dasselbe Gerät handelt. Und wenn er die pfSense als TFTP-Server in der entsprechenden Zone einer (externen) Firewall betreibt, benötigt er sehr wohl ein entsprechendes Regelwerk in seiner Netzwerkkonfiguration.

UPnP ist völlig unnötig und ein Sicherheitsrisiko!

Das war ironisch gemeint!

Ein dauerhafter TFTP-Server auf der FW ist ein Sicherheitsrisiko.

Nö. Es ist durchaus möglich, eine pfSense dauerhaft exklusiv als TFTP-Server zu benutzen. Allerdings haben Regelwerke bezüglich der Netzwerksicherheit dann nichts mehr auf der Hardware zu suchen. Aber wenn eine externe Firewall davorsteht, sehe ich grundsätzlich erst einmal keine Bedenken.

Du hast alo schlichtweg dies hier [...] überlesen / nicht gelesen.

Ja, das meinte ich. Und ehrlich gesagt frage ich mich hier wieder einmal, ob ich meine Beiträge in Serbo-Kroatisch schreibe oder inzwischen bei 99% der Teilnehmer auf der Ignore-Liste stehe. Meine Motivation, hier noch eine "kluge Antwort" zu geben, ist gerade ziemlich auf dem Nullpunkt angelangt. Zumal alles Weitere letztendlich auf eine Wiederholung meiner Aussage hinauslaufen würde... face-smile

Gruß,
Jörg
Mitglied: Fenris14
Fenris14 28.08.2017 um 14:14:14 Uhr
Goto Top
Ich habe jetzt mal ein bisschen rumgespielt. Mir fällt auf, dass ich herunterladen kann (also GET), aber nicht hochladen (PUT). Wenn einen Upload mit tftpd64 versuche, sagt er mir "Permission denied". Eventuell ist dies sogar vom Entwickler des Paketes gewollt?!
Mitglied: 117471
Lösung 117471 28.08.2017 um 14:17:43 Uhr
Goto Top
Hallo,

Zitat von @Fenris14:

Ich habe jetzt mal ein bisschen rumgespielt. Mir fällt auf, dass ich herunterladen kann (also GET), aber nicht hochladen (PUT). Wenn einen Upload mit tftpd64 versuche, sagt er mir "Permission denied". Eventuell ist dies sogar vom Entwickler des Paketes gewollt?!

Welche Zugriffsrechte hat der tftp-Daemon denn auf das Verzeichnis, in das Du deine Datei packen möchtest?

Gruß,
Jörg
Mitglied: 134058
134058 28.08.2017 um 14:19:18 Uhr
Goto Top
Zitat von @117471:

Hallo,

Für eine Verbindung LAN <-> FW (Server darauf) benötigt man keinerlei Portforwarding, hier findet kein NAT statt!

Der Teilnehmer hat nirgendwo geschrieben, dass es sich bei der Firewall und dem TFTP-Server um ein- und dasselbe Gerät handelt.
Threaderöffnung.

UPnP ist völlig unnötig und ein Sicherheitsrisiko!
Das war ironisch gemeint!
Okay.
Ein dauerhafter TFTP-Server auf der FW ist ein Sicherheitsrisiko.

Nö. Es ist durchaus möglich, eine pfSense dauerhaft exklusiv als TFTP-Server zu benutzen. Allerdings haben Regelwerke bezüglich der Netzwerksicherheit dann nichts mehr auf der Hardware zu suchen. Aber wenn eine externe Firewall davorsteht, sehe ich grundsätzlich erst einmal keine Bedenken.
PFSense exklusiv als TFTP-Server + Firewall ist wohl eine eher seltene Konstellation. face-wink
Mitglied: 117471
117471 28.08.2017 aktualisiert um 14:23:44 Uhr
Goto Top
Hallo,

Der Teilnehmer hat nirgendwo geschrieben, dass es sich bei der Firewall und dem TFTP-Server um ein- und dasselbe Gerät handelt.

Threaderöffnung.

Ich schreibe mal beides untereinander, dann erkennt man es besser:
  • auf die Firewall
  • auf der Firewall

Bitte den 5. und den 6. Buchstaben unterscheiden face-smile

PFSense exklusiv als TFTP-Server + Firewall ist wohl eine eher seltene Konstellation. face-wink

Aha.

Gruß,
Jörg
Mitglied: 134058
134058 28.08.2017 um 14:24:02 Uhr
Goto Top
Zitat von @Fenris14:

Ich habe jetzt mal ein bisschen rumgespielt. Mir fällt auf, dass ich herunterladen kann (also GET), aber nicht hochladen (PUT). Wenn einen Upload mit tftpd64 versuche, sagt er mir "Permission denied". Eventuell ist dies sogar vom Entwickler des Paketes gewollt?!
Mal anderen TFTP-Client probieren. Und erst mal kleine Dateien übertragen. Serverkonfiguration überprüfen (Zugriffsrechte). Ohne Logs kann man nur rätseln.
Mitglied: Fenris14
Fenris14 28.08.2017 um 14:29:26 Uhr
Goto Top
Der Ordner heißt /tftpboot/ und hat 0755.

Dann kann es natürlich nicht gehen, aber wirklich ändern will ich es nicht, wenn es nicht mal von den Entwicklern vorgesehen wurde. Ich überlege mir das nochmal ob ich den TFTP-Server auf der pfsense betreiben will oder ob ich doch lieber einen seperaten Server nehme.

TFTP+pfsense scheint mir nicht so legitim, wie es für mich anfangs aussah.
Mitglied: 117471
117471 28.08.2017 um 14:31:14 Uhr
Goto Top
Hallo,

Zitat von @Fenris14:

Der Ordner heißt /tftpboot/ und hat 0755.

Dann hätten wir zumindest einmal die Ursache. Vielen lieben Dank für das "Gelöst" face-smile

Gruß,
Jörg