In Teil 6 der Webserver Installation geht es um darum den Server voch außerhalb des lokales Netzwerkes mittels eines DNS Servers (wie No-IP, DynDNS) erreichbar zu machen.
Mit den bisherigen Programmen konnten wir einen vollständigen Webserver aufsetzen, doch sollen die Dateien in den allermeisten Fällen auch über das Internet erreichbar sein. Dies wird in diesem Tutorial behandelt.
Als erstes benötigen wir einen DNS Anbieter, wobei ich No-IP bevorzuge (kostenlos). Also legen wir einen kostenlosen Account unter https://www.noip.com/sign-up an. Der einzige „Nachteil“ der Free Version ist, dass jeden Monat eine Mail kommt, in der man aufgefordert wird den Account zu bestätigen (mittels Capcha Eingabe).
Nach dem Login klicken wir auf Add a Host und wählen einen Hostnamen und als Domain eine der weiter unten gelisteten No-IP Free Domains. Als Host Type nehmen wir DNS Host (A).
Jetzt noch auf Add Host klicken und wir können zur Konfiguration auf dem Pi kommen.
Das Paket muss von der Seite runter geladen werden
sudo wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz
und entpackt werden:
sudo tar xf noip-duc-linux.tar.gz
Zum installieren des Pakets müssen wir erst in den Ordner wechseln
cd noip-2.*
und compilieren
sudo make install
Daraufhin wird eine Abfrage nach der Email Adresse kommen, sowie dem verwendeten Passwort. Als Intervall habe ich 30 Sekunden gelassen und auf „Do you wish to run something at successful update?“ mit nein geantwortet.
Den Service startest du mittels
sudo noip2
aber Achtung: Startest du den Pi neu, wird No-IP nicht automatisch gestartet. Wie das geht, ist in diesem Tutorial beschrieben.
Damit der Service nun auch von außen auf den Pi weiterleiten kann (beim Aufruf von deine-domain.no-ip.org o.ä.) musst du in deinem Router noch die Ports 80, 81 und 8080 (TCP) freigeben. In meinem Router ist das unter dem Reiter Port Forwarding möglich. Als IP Adresse gibst du die interne IP des Raspberry’s an. Bei mir ist das 192.168.1.83 (welche es genau bei dir ist, lässt sich auch in deinem Router feststellen).
Solltest du zu einem späteren Zeitpunkt die Konfiguration ändern wollen, findest du sie unter /usr/local/etc/no-ip2.conf
52 Kommentare
Gibt es dann auch die Möglichkeit eine Domain aufzuschalten?
Ja, indem du die Records deiner Domain auf deine NoIP Adresse zeigen lässt. Falls du zuhause eine fixe IP Adresse hast kannst du deine Domain auch direkt darauf verweisen und dir NoIP sparen. NoIP ist ja gerade für die regelmäßige IP Neuvergabe für Privatanwender sinnvoll.
Wenn du dein Pi als Webserver öffentlich ins Netz stellen willst, solltest du aber auf jeden Fall vorher entsprechende Sicherheitsvorkehrungen treffen.
Könntest du mal ein Tutorial machen, wie man den PI als Webserver öffentlich ins Netz stellt.
Vielen Dank im Vorraus.
Wenn du in deinem Router die Ports freigibst, so ist er öffentlich im Netz.
Bei dem Schritt:
Kommt diese Fehlermeldung:
Die Domain hat sich geändert, du musst einfach den Bindestrich weglassen.
Habe es aktualisiert 🙂
Hallo! Danke für die tolle Anleitung!
Ich habe jetzt alles so gemacht wie du es beschrieben hast und es hat alles wunderbar geklappt!
Der Minecraft Server ist installiert sowie die Noip.
Die Ports habe ich jetzt auch freigegeben. Meine Frage ist :
Welche IP Adresse gebe ich jetzt meinen Freunden? Die IP Adresse von meinem IP oder die von no ip?
Du solltest die Adresse von no-ip weitergeben, da diese statisch ist (d.h. sich nicht ändert). Gibst du deine lokale IP weiter klappt das zwar auch, aber nach einem Routerneustart ändert sich deine IP und du müsstest allen eine neue Adresse geben. Das ist der Hauptgrund warum man Dienste wie NoIP verwendet.
LG Felix
Ich kriege jedesmal die fehlermeldung nach dem sudo make install schritt, dass mein anmelde daten falsch seien, ich habs dann letztlich mit copy paste probiert, um zu 100% auszuschließen, dass es liegt, dass ich mich tausendmal verclickt habe, aber weiterhin kommt die fehlermeldung. Irgendwelche Ideen, was ich falsch machen könnte?
Dazu kann ich dir leider auch nichts sagen, da ich mir nicht sicher bin, warum es deine Anmeldedaten als falsch bezeichnet, wobei du ja sicher bist, dass diese stimmen. Kannst du den NoIP Support kontaktieren und diese Fragen? Vielleicht ist es ein internes Problem ihrerseits.
Servus zusammen,
ich würde gerne meine Anmeldedaten für no-ip ändern ohne das Programm zu löschen und neu zu installieren. Ist das möglich?
In der erwähnten config „Solltest du zu einem späteren Zeitpunkt die Konfiguration ändern wollen, findest du sie unter /usr/local/etc/no-ip2.conf“ stehen nur cryptische Zeichen.
In der früheren Version schien dies noch ohne weiteres möglich. Gibt es einen bestimmten Grund, warum du es nicht erneut kompilieren kannst?
Hallo,
ich habe unter noip.com einen Hostnamen angelegt.
Ich kann mich aber mit diesem Hostnamen nicht verbinden.
Die angegebenen Ports habe ich in meinem Router eingetragen (mit der IP von dem erstellten Webserver).
Meine Fragen dazu:
1. wie muss ich die Adresse von meinem Hostnamen eingeben ?
2. muss unter dem Hostnamen noch etwas hinterlegt werden (index.html) ?
MfG
Bei der Konfiguration vom noip Service wirst du nach dem Hostnamen gefragt. Apache muss natürlich laufen (welches Verzeichnis aufgerufen wird, kannst du in der Konfigurationsdatei angeben.).
Bei meinem Router ist es so, dass ich die Hostadresse nicht vom internen Netzwerk aufrufen kann. Zum testen zuhause nutze ich dann z.B. das mobile Internet am Handy.
Mein Raspi hat ne fixe IP.
Was muss ich nun tun, damit meine Kollegen auf meinen Minecraft-Server gehen können?
Meinst du die Interne IP (192.168.x.x) oder die IP deines Anschlusses? Im letzteren Fall einfach Ports freigeben und den Kollegen die IP mitteilen.
Ich meinte die Interne.
Wie kann ich die des Anschlusses festlegen?
Ich kenn mich da überhaupt nicht aus.
Naja, wenn du diesem Tutorial folgst, verbindet sich dein Raspberry Pi automatisch mit der „NoIP Domain“. Auch wenn sich die IP ändert, kannst du dann über diese Domain auf den Pi zugreifen / in Minecraft darauf verbinden. Eine feste IP bekommst du von deinem Internet Service Provider.
Hallo,
Was tun wenn der Provider auf Dual Stack umgestellt hat und mit IPv4 keine verbindung auf NAS mehr von Aussen hinbekomme?
Habe schon DynDns mit IPv6 erstellt , aber kann nur aus IPv6 zugreifen und nicht aus dem IPv4. (NAS)
Kann ich dem Raspi eine IPv6 zuweisen? Port oder MAC weiterleitung funzt nicht.
MfG
Also erstmal: Die Adresse, die bei euch mit no-ip.net endet, ist bei no-ip nicht mehr verfügbar, was aber wahrscheinlich auch kein Problem ist. Habe ddns.net genommen.
Mein Problem:
Ich habe alles so getan, wie es im Tutorial stand.
Mit https://xyz.ddns.net:42570 kann ich sogar auf meine FritzBox zugreifen und mich anmelden!!!!!!!!!!
Wenn ich aber nur http://xyz.ddns.net aufrufe, schlägt die Verbindung fehl („Fehler: Verbindung fehlgeschlagen“), obwohl ich die Portweiterleitung von 8080 auf 80 eingestellt habe.
Bin mit meinem Latein am Ende!
Läuft der Webserver denn? Ansonsten könnte Port 80 noch von einer Firewall geblockt werden, sofern er in der Fritzbox geöffnet ist.
Ich habs dreimal versucht mit dieser Anleitung, aber bei
sudo make install
hats nicht funktioniert.
Nun habe ich geschaut wie man es auch noch entpacken könnte:
tar vzxf noip-duc-linux.tar.gz
Und jetzt hats funktioniert, nur falls sonst jemand Probleme damit hätte…
Ach und zudem musste ich mit
sudo rm /usr/local/bin/noip2
noch diese Datei löschen, damits ging.
Die Verwendung dieses Linux-Clients ist eigentlich Overkill. Bevor ich gemerkt habe, dass es auch einen Linux-Client gibt, habe ich die Anleitung für die API gefunden: . Für die IP-Aktualisierung muss lediglich ein URL aufgerufen werden, das lässt sich mit einer Zeile in crontab erledigen:
$ crontab -e
*/5 * * * * curl https://username:password@dynupdate.no-ip.com/nic/update?hostname=mydomain.hopto.org
Die erste Spalte mit“*/5″ heißt: Führe das Skript alle 5 min aus. Wenn es jede Minute ausgefüllt werden soll, muss dort auch ein „*“ stehen:
* * * * * curl https://username:password@dynupdate.no-ip.com/nic/update?hostname=mydomain.hopto.org
Die anderen Spalten stehen für Stunde, Tag, Monat und Wochentag. Siehe auch man crontab.
curl ruft die Web-Adresse auf, mit wget geht das auch. username, password und mydomain.hopto.org müssen natürlich mit den eigenen Daten ersetzt werden.
Zum Testen kann man den curl-Befehl auch direkt in der Kommandozeile eingeben, man kann sich die Antwort vom Server auch in eine Logdatei schreiben:
*/5 * * * * curl https://username:password@dynupdate.no-ip.com/nic/update?hostname=mydomain.hopto.org >> /home/pi/crontab-log.txt
Wenn alles funktioniert, kann man das Loggen auch wieder mit „#“ auskommentieren oder löschen, um Datenmüll zu vermeiden:
*/5 * * * * curl https://username:password@dynupdate.no-ip.com/nic/update?hostname=mydomain.hopto.org # >> /home/pi/crontab-log.txt
Die eigene IP muss nicht im GET-String angegeben werden, da No IP auch so merkt, von wo der Request kommt. Den von No IP gewünschten User-Agent-String sendet curl automatisch mit.
Wenn ihr einen Internetanschluss habt, der von außen nur über IPv6 zu erreichen ist, weil der Router keine eigene IPv4-Adresse bekommt, sondern diese mit anderen teilen muss (z.B. bei Unitymedia), kann ich euch https://dynv6.com/ empfehlen. Bei No IP werden keine IPv6-DNS-Einträge automatisch aktualisiertWenn ihr deren IP-Update-Skript verwendet, müsst ihr ggf. untern den Aufruf für die ipv4 auskommentieren oder löschen.
Weiterer Vorteil: Der nervige Zwang zum manuellen Erneuern des Eitrags alle 30 Tage.
guten abend hab auch alles wie beschrieben gemacht mein problem ist ich hab keinen router zu hause bin online über ein handy . wie stelle ich das ein ?
Ich denke, das ist nicht möglich (müsstest du mal speziell für dein Gerät nachschauen, Stichwort Portweiterleitung).
Hallo , danke für die Antwort verwende ein altes Samsung Galaxy S2 mit T-Mobil Austria , das nur fürn Raspi gedacht ist .Hab aber auch soeben im Handbuch Raspberry Pi von Kofler-Kühnast-Scherbeck was on einstellungen Netzwerk usw gelesen. Vielleicht hilft das
Wenn du sowieso eine Extra Sim Karte hast, nutze diese doch fürs Internet: Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
noch einen weiteren fehler gefunden – den hab ich übersehen während der installation
if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
cp noip2 /usr/local/bin/noip2
cp: reguläre Datei ‚/usr/local/bin/noip2‘ kann nicht angelegt werden: Das Programm kann nicht ausgeführt oder verändert werden (busy)
Makefile:28: die Regel für Ziel „install“ scheiterte
make: *** [install] Fehler 1
ich glaub ich gebs auf – gute nacht
Hallo Felix ,
habs mit einem Stick probiert , Huawei wird angezeigt , in ifconfig -a wird kein usb0 angezeigt
Hallo, zu erst einmal Danke für die Anleitung, doch ich habe ein Problem.
Installation auf dem Pi Klappt Problemlos, und auch das anlegen von einem Host und die Port freigabe funktionieren.
ich führe den Befehl „sudo noip2“ aus und bekomme keine Meldung sondern einfache eine neue Eingabe Zeile, was wie ich denke gut ist. doch wenn ich nun probiere über den Host Namen auf den MineCraft Server zu kommen steht da nur „Die Verbindung zum Server kann nicht hergestellt werden“, das verbinden über Lokale IP geht, hat jemand einen Lösungs- Ansatz oder eine Idee was ich falsch mache.
MfG Valentin
Ich Entschuldige mich mal für den post, habe die Lösung nach langem suchen gefunden ich musste noch einen weiteren Port freigeben die seite No-IP hat Eine step by step Hilfe falls jemand auch nicht weiter weiß
Hallo zusammen,
nachdem ich alles wie im Tutorial beschrieben gemacht habe tritt folgendes Problem auf:
wenn ich auf meinen Server im Netzwerk mittels IP-Adresse zugreife funktioniert alles wunderbar (Apache Server mit index.html-Datei; phpinfo.php-Datei; phpmyadmin; ftp server).
Wenn ich aber versuche, mit der DNS-Adresse von No-IP auf den FTP-Server zuzugreifen (ftp://xyz.ddns.net) funktioniert das nicht. Aufrufe wie „xyz.ddns.net“, „xyz.ddns.net/phpmyadmin“ und „xyz.ddns.net/phpinfo.php“ klappen aber einwandfrei.
Woran könnte das liegen?
Hast du die Ports freigegeben?
80, 81 und 8080 habe ich freigegeben, ja
und der interne Verweis des Ports zeigt auf die lokale IP? DynDNS ist auch auf deine aktuelle globale IP eingestellt?
Ja der interner verweis zeigt auf die lokale ip des raspberrys.
Meinst du die Dyn DNS des routers oder in No-Ip.de?
Wie würde ich die globale ip rausbekommen (das ist die meines routers oder?)
Die globale IP bekommst du z.B. über wieistmeineip.de raus. Die Kondüguration über den Router wird in diesem Tutorial nicht besprochen (da verschiedene Router unterschiedlich sind und nicht alle die Option für einen dDNS Service haben) – daher nur über den Client.
Habe jetzt port weiterleitung und ddns server im router eingestellt (nach anleitung von no-ip.com).
Habe aber nach wie vor das problem, dass ich den ftp-server von „aussen“ nicht erreiche.
„ftp://xyz.ddns.net“ funktioniert quasi immer noch nicht. Muss ich evtl einen speziellen port für den ftp-server freigeben (port 21 hab ich öfter mal glessen) und dann folgendes im browser eingeben: „xyz.ddns.net:21“?
Ja, für FTP brauchst du Port 21, welcher auch freigegeben und weitergeleitet werden muss.
Habe jetzt den Fehler gefunden.
Ich habe folgenden Router: Speedport W724V
Da lässt sich der Port 21 nicht freischalten, da er reserviert ist (der Router hat einen USB-Anschluss und lässt sich so als NAS-Server nutzen).
Hab dann den Port 22 im Router auf Port 21 raspberrypi weiter geleitet – nur falls jemand ähnliche Probleme hat.
@Felix: Danke für die Hilfe und das super Tutorial!!
Ja der interner verweis zeigt auf die lokale ip des raspberrys.
Meinst du die Dyn DNS des routers oder in No-Ip.de?
Wie würde ich die globale ip rausbekommen (das ist die meines routers oder?)
Moin Felix,
bis sudo make install passt alles, aber da sagt er mir irgendwann :
if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
cp noip2 /usr/local/bin/noip2
cp: reguläre Datei ‚/usr/local/bin/noip2‘ kann nicht angelegt werden: Das Programm kann nicht ausgeführt oder verändert werden (busy)
Makefile:28: die Regel für Ziel „install“ scheiterte
make: *** [install] Fehler 1
vielleicht weißt du woran es liegt.. Ich möchte nicht ausschließen, dass ich das Problem bin..
Vielen Dank schonmal (auch für alles andere. Ohne diese Seite würde bei mir nicht mal ne Led leuchten.)
Hallo! Beim Einrichtung meiner Kameras hat mir ein Kollege geholfen.Nun wird er versetzt und zieht weg. Er kennt meine Hostadresse bei No-ip.kann ich diese dort ändern,ohne alles wieder neu einstellen zu müssen ?
hallo, installation hat geklappt, aber bei der port freigabe habe ich ein problem, die ports hab ich schon für meinen synology nas benutzt? kann ich jetzt einfach irgendwelche zahlen da eingeben die nicht bei synology hinterlegt sind oder sind dass immer bestimmt zahlen?
Hi, bei Aufruf meiner domaine steht nur
R ejected request from RFC1918 IP to public server address
Habe alles wie in der Anleitung durchgeführt. Leider ist ein verbinden über die DNS Adresse nicht möglich. Habe gesehen das der Hitron Router von Kabel Deutschland nur IPv6 Port Weiterleitungen durchführt. Spielt das eine Rolle, wenn ja was muss ich ändern um den Minecraft Server für andere erreichbar zu machen?
Wenn ich jetzt auf meiner fritzbox eine Domain von noip eingestellt habe z.b. xxxxxx.ddns.net und ich jetzt auf dem Raspberry pi den noip Client installiere und eine 2. Domain auswähle z.b. yyyyyyy.ddns.net auf welche läuft das denn oder bessergesagt würde es dann noch klappen
Der Zeit Intervall ist in Minuten und nicht in Sekunden:
After logging into the DUC answer the questions to proceed. When asked how often you want the update to happen you must choose 5 or more. The interval is listed in minutes, if you choose 5 the update interval will be 5 minutes. If you choose 30 the interval will be 30 minutes.
https://www.noip.com/support/knowledgebase/install-ip-duc-onto-raspberry-pi/
nabend hab einen kaputten Link gefunden…
aber Achtung: Startest du den Pi neu, wird No-IP nicht automatisch gestartet. Wie das geht, ist in diesem Tutorial beschrieben. http://tutorials-raspberrypi.de/allgemein/programm-im-autostart-ausfuehren/