Seite 1 von 1

Django DNS anstatt IP-Adresse

Verfasst: Samstag 19. Mai 2018, 09:20
von erdmulch
Hallo zusammen,

ich würde gerne meine Django Website, welche auf einem Raspberry PI läuft, nicht über die IP Adresse des Servers ansprechen, sondern über einen Namen.
anstatt 192.168.1.1:8001
mysite:8001

kann mir jemand sagen was ich alles dazu beachten muss.

Im Internet habe ich folgendes gefunden:
https://willy-tech.de/raspberry-pi-hostname-aendern/

leider funktioniert dies nicht.
In "allowed hosts" unter settings.py habe ich bereits den namen mysite eingetragen

vielen Dank im voraus

Re: Django DNS anstatt IP-Adresse

Verfasst: Samstag 19. Mai 2018, 09:56
von __deets__
Das Problem ist nicht der PI. Sondern die Rechner von denen aus du den erreichen willst. DIE müssen wissen welche IP der hat.

Ist das alles ein einem lokalen Netzwerk? Oder soll das auch von außen aus gehen?

Und noch ein Nachtrag: wie bekommt der PI seine IP? Per DHCP vom Router?

Re: Django DNS anstatt IP-Adresse

Verfasst: Montag 21. Mai 2018, 07:19
von erdmulch
Der PI wird im Access Modus betrieben. Das heißt, dass er immer die gleiche IP Adresse hat. Und ja, der PI ist im lokalen Netz. Da er im Access Modus betrieben wird läuft er Autark ohne Router.
Mit dem Pi nehme ich in meiner Gartenhütte Messwerte auf, die ich dann über eine Weboberfläche darstellen kann.

Re: Django DNS anstatt IP-Adresse

Verfasst: Montag 21. Mai 2018, 08:53
von ThomasL
Hi,
in Windows gibt es im Verzeichnis \Windows\System32\drivers\etc eine Datei namens hosts (schreibgeschützt und Zugriff nur mit Adminrechten)
Wenn du dort einen Eintrag wie unten vorgeschlagen einträgst, sollte dein Pi im Browser mit raspberry.pi:8001 angesprochen werden können.
Zu anderen OS kann ich keine Hilfe geben.

Code: Alles auswählen

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
192.168.1.1 raspberry.pi

Re: Django DNS anstatt IP-Adresse

Verfasst: Montag 21. Mai 2018, 10:05
von sls
erdmulch hat geschrieben: Montag 21. Mai 2018, 07:19 der PI ist im lokalen Netz. Da er im Access Modus betrieben wird läuft er Autark ohne Router.
Vielleicht bringst du hier etwas durcheinander. Im Wifi gibt es grundsätzlich zwei Betriebsmodi: Ad-hoc und Infrastruktur. In Ad-hoc-Netzen kommuniziert jeder Teilnehmer direkt mit den anderen Teilnehmern, die Wegfindung findet nicht über einen zentralen Knoten (Router) statt. Im Infrastruktur-Modus hingegen läuft sämtliche Kommunikation über den Router (bzw. Bridge).

Wenn du von autark und "access mode" sprichst, widerspricht sich das somit. Mischen der beiden Netze ist nicht möglich und auch nicht vorgesehen. Wenn du sagst, der Pi ist im "lokalen Netz", meinst du dann das selbe Netz in dem auch die anderen Clients wohnen? Btw: wenn du den Pi als Access-Point betreibst, bildest du ein eigenständiges Netz, der Pi tritt dabei i.d.R. selbst als Router auf.

Re: Django DNS anstatt IP-Adresse

Verfasst: Montag 21. Mai 2018, 11:07
von __deets__
Jenseits der noch ungeklärten Fragen von sls macht deine Beschreibung schon klar, wo der Hase im Pfeffer liegt: ohne DHCP zu verwenden ist der Hostname wirkungslos. Der wird sonst nämlich beim DHCP-request an den DHCP Server übertragen. Und der liefert diesen Namen dann beim auf dem gleichen Router laufenden DNS ab, so das der Name aufgelöst werden kann.

Du kannst also entweder denn Weg von ThomasL gehen, der etwas umständlich ist, weil jeder potentielle Client per Hand konfiguriert werden muss. Was zb für ios Geräte gar nicht geht.

Oder du findest einen Weg, deinem Router von Hand DNS Eingräge unter zu schieben.

Oder last but not least du benutzt zeroconf/mDNS. Dazu startest du den avahi daemon auf dem PI. Der broadcasted dann den Hostnamen an alle anderen zeroconf Teilnehmer, und dein PI wird unter “hostname.local” im Netz sichtbar. Funktioniert für mich super.

Re: Django DNS anstatt IP-Adresse

Verfasst: Montag 21. Mai 2018, 11:22
von ThomasL
__deets__ hat geschrieben: Montag 21. Mai 2018, 11:07 Du kannst also entweder denn Weg von ThomasL gehen, der etwas umständlich ist, weil jeder potentielle Client per Hand konfiguriert werden muss. Was zb für ios Geräte gar nicht geht.
und insbesondere auch ziemlich unpraktisch ist, falls die IP des Pi sich (ständig, sporadisch und selbst wenn nur ganz selten) ändert.

Wenn die IP immer die gleiche ist und man nur von einem Windows Client so auf den Pi zugreifen möchte, ist es schnell einzurichten,
für alles andere denke ich ist die zeroconf Methode eleganter