Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| centos:pxe_c8:tftp [04.07.2020 14:51. ] – [automatisierter Weg mit Hilfe von Ansible] django | centos:pxe_c8:tftp [05.07.2020 18:26. ] (aktuell) – [Testdatei transferieren] django | ||
|---|---|---|---|
| Zeile 18: | Zeile 18: | ||
| Damit die Clients später Verbindungsanfragen zu dem geöffneten Port **tftp/ | Damit die Clients später Verbindungsanfragen zu dem geöffneten Port **tftp/ | ||
| - | Unter **CentOS 8** wird als Standard-Firewall, | + | Unter **[[# |
| Mit Hilfe des Programms **firewall-cmd** legen wir nun eine **permanente** Regel in der Zone **public** für den Service ***TFTP** für Port **69** an. | Mit Hilfe des Programms **firewall-cmd** legen wir nun eine **permanente** Regel in der Zone **public** für den Service ***TFTP** für Port **69** an. | ||
| Zeile 93: | Zeile 93: | ||
| ==== automatisierter Weg mit Hilfe von Ansible ==== | ==== automatisierter Weg mit Hilfe von Ansible ==== | ||
| - | Da wir aber in unserer Produktiven Umgebung alle Server, Dienste und Services mit Hilfe von **[[centos: | + | Da wir aber in unserer Produktiven Umgebung alle Server, Dienste und Services mit Hilfe von **[[centos: |
| /* | /* | ||
| Zeile 143: | Zeile 143: | ||
| ===== Systemtest ===== | ===== Systemtest ===== | ||
| - | ==== Testdatei | + | ==== System-Test ==== |
| + | === Testdatei anlegen === | ||
| Für unseren Test legen wir uns einfach eine kleine Textdatei im Arbeitsverzeichnis // | Für unseren Test legen wir uns einfach eine kleine Textdatei im Arbeitsverzeichnis // | ||
| # echo "Dies ist ein ganz einfacher Text für den Test unseres TFTP-Servers" | # echo "Dies ist ein ganz einfacher Text für den Test unseres TFTP-Servers" | ||
| + | === Testdatei transferieren === | ||
| + | Anschließend melden wir uns auf einem Host im zugehörigen Netzwerksegment an, auf dem das RPM-Paket **'' | ||
| + | Dann bauen wir mit dem TFTP-Clientprogramm eine Verbindung zu unserem Server auf und holen uns die zuvor angelegte Datei //test// mit dem Befehl **get**. Nach dem Herunterladen verlassen wir das Programm mit dem Befehl **quit**. | ||
| + | Entweder über IP-Adresse des TFTP-Servers: | ||
| + | # tftp -v 10.0.0.190 | ||
| + | oder über den Hostnamen des TFTP-Servers | ||
| + | # tftp -v tftp.dmz.nausch.org | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Das Ganze geht natürlich auch schneller als " | ||
| + | # tftp 10.0.0.190 -c get test | ||
| + | |||
| + | === Fehlerbehandlung === | ||
| + | Klappt der Download von unserem Clientrechners nicht, trotz funktionierendem Zugriff nicht, liegt es an den Paketfilterregelungen auf dem **Clientrechner**! Wie man in folgendem Beispiel sieht laufen wir hier in einen timeout: | ||
| + | # tftp -v tftp.dmz.nausch.org -c get test | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Was ist nun passiert? Auf dem Client gibt es doch keine iptables-Regel, | ||
| + | # iptables -L | ||
| + | < | ||
| + | target | ||
| + | ACCEPT | ||
| + | ACCEPT | ||
| + | ACCEPT | ||
| + | ACCEPT | ||
| + | REJECT | ||
| + | |||
| + | Chain FORWARD (policy ACCEPT) | ||
| + | target | ||
| + | REJECT | ||
| + | |||
| + | Chain OUTPUT (policy ACCEPT) | ||
| + | target | ||
| + | </ | ||
| + | |||
| + | Auf unserem TFTP-Server haben wir doch auch Port **69** freigeschaltet: | ||
| + | # firewall-cmd --zone=public --list-services | ||
| + | |||
| + | tftp dhcpv6-client http ssh | ||
| + | |||
| + | Im Syslog des TFTP-Servers sehen wir nur die Folgende Fehlermeldung: | ||
| + | Jan 8 07:49:14 vml000057 in.tftpd[10031]: | ||
| + | |||
| + | <WRAP center round tip 90%> | ||
| + | Die Ursache ist ganz einfach erklärt. TFTP nutzt für die Steuerung Port **69**, für die Datenübertragung werden dann aber beliebige highports genutzt. Damit diese nun unseren Paketfilter passieren können, müssen wir an dem betreffenden (Test-)Clientsystem, | ||
| + | * **ip_conntrack_tftp** | ||
| + | * **ip_nat_tftp** | ||
| + | </ | ||
| + | |||
| + | Auf einem **//CentOS 8 bzw. CentOS 7 System//** benutzen wir zur Aktivierung der beiden Module die Datei // | ||
| + | # vim / | ||
| + | <file bash / | ||
| + | # default: none | ||
| + | ip_nat_tftp | ||
| + | ip_conntrack_tftp</ | ||
| + | |||
| + | Zum Aktivieren starten wir den betreffenden Host einmal durch. | ||
| + | # systemctl reboot | ||
| + | |||
| + | Auf einem **//CentOS 6 System//** geschieht dies über die Konfigurationsdatei **iptables-config** des Paketfilter-Regelwerkes **iptables**. Dort tragen wir bei den **nat helpers** die beiden Module nach: | ||
| + | # vim / | ||
| + | <code bash> | ||
| + | # Django 2011-11-24 Freischaltungen für TFTP-Transfers | ||
| + | # default : IPTABLES_MODULES="" | ||
| + | IPTABLES_MODULES=" | ||
| + | </ | ||
| + | Anschließend starten wir unseren iptables-Paketfilter einmal durch. | ||
| + | # service iptables restart | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Nun versuchen wir erneut unsere Testdatei vom TFTP-Server herunterzuladen , was natürlich Dank unserer Anpassungen nun erfolgreich funktioniert. | ||
| + | $ tftp tftp.dmz.nausch.org -v -c get test | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Im Syslog unseres TFTP-Servers wird der erfolgreiche Dateitransfer entsprechend protokolliert. | ||
| + | Jul 4 09:14:30 vml000190 xinetd[7708]: | ||
| + | Jul 4 09:14:30 vml000190 in.tftpd[10146]: | ||
| + | |||
| + | ====== Links ====== | ||
| + | * **[[centos: | ||
| + | * **[[wiki: | ||
| + | * **[[http:// | ||