Externe Lösungen
Was muss ich ändern, um über das externe Netzwerk auf meine owncloud vom internen Netzwerk aus zuzugreifen?
Leider habe ich noch nie einen Heimrouter getroffen, der NAT Loopback (auch als Hairpinning bezeichnet ) nicht unterstützt hat. Daher kann ich keine konkrete Antwort darauf geben, wie er mit externem Zugriff auf ihn zugreifen kann .
Andere Lösungen
Sie können einen Blick auf das Split-Horizon-DNS oder die Verwendung von PFSense NAT Reflection werfen, wie in dieser Super User-Frage vorgeschlagen .
Sie können sich auch diese unterstützte Liste der von NAT Loopback unterstützten Router von OpenSimulator.org ansehen, wenn Sie sich zum Kauf eines neuen entscheiden.
Möglicherweise ist auch ein Upgrade auf eine benutzerdefinierte Firmware möglich, z. B. Tomato oder DD-WRT. Ich würde diesen Vorgang jedoch gründlich untersuchen, bevor ich etwas unternehme.
Eine DNS-basierte Lösung
Wenn Sie davon ausgehen, dass Ihr Ziel nicht komplizierter ist als der Zugriff auf Ihren Medienserver über das interne Netzwerk mit einer von Menschen lesbaren Domäne und Sie bereit sind, BIND-DNS zu konfigurieren, können Sie versuchen, eine Pseudo-Domain auch für Ihr Netzwerk verfügbar zu machen .
Diese Pseudo-Domäne ermöglicht möglicherweise den Zugriff auf Ihren lokalen Server server.own
über das interne Netzwerk. Diese gefälschte Top Level Domain (TLD) ex . .own
kann im Wesentlichen alles sein, was Sie wollen.
Ich würde vermuten, dass dies auch mit dem NAT-Loopback-Problem funktionieren sollte.
Verwendung einer Pseudo-Domain
Am einfachsten ist es, wenn ein Computer im Netzwerk DNS bereitstellt. Die größten potenziellen Nachteile dieser Anordnung sind:
Sie müssen wahrscheinlich sicherstellen, dass Ihr Router auf den Server zeigt, auf dem BIND ausgeführt wird.
Der Computer, der als DNS-Server dient, muss eingeschaltet sein, damit dies funktioniert (und Ihre Netzwerkverbindung).
Auch wenn dies in diesem Fall wahrscheinlich weniger wichtig ist, kann das Ausführen eines BIND-Diensts, der Zugriff auf interne und externe Netzwerke bietet, etwas riskant sein. Im Allgemeinen sollten Sie nicht eine nachahmen öffentliche TLD wie .eu
es sei denn, Sie wissen, was Sie tun. Wenn Sie das doc.selfhost
Präfix lieber als etwas anderes behalten möchten, ist das in Ordnung, Sie sollten jedoch eine andere nicht verwendete Erweiterung auswählen (z doc.selfhost.own
. B. ).
Apache und Owncloud
Nach der Aktivierung müssen Sie Apache (Ihre Pseudo-Domain wird wahrscheinlich ein VirtualHost sein) und Owncloud einrichten, um auf Anfragen richtig zu antworten und den entsprechenden Inhalt bereitzustellen (z. B. Owncloud).
Arbeitsbeispiele
Im Folgenden finden Sie einige Arbeitsbeispiele für die Konfiguration der Hauptdateien in BIND, um Pseudo-Domänendienste bereitzustellen.
Bitte beachten Sie, dass ich nicht alle notwendigen Schritte darlege, um BIND selbst zum Laufen zu bringen, daher gibt es einige zusätzliche Schritte, die hier nicht explizit erwähnt werden. Beachten Sie auch, dass diese Beispiele technisch für neuere Versionen von BIND 9 unter Windows (BIND 9.10 und höher) sind.
Der tatsächliche Inhalt von db.rev.10.txt und db.example.own.txt sollte zwischen Windows und * nix nicht geändert werden. Das größere Hindernis besteht darin, sicherzustellen, dass die named.conf- Einträge in den richtigen Dateien auf Nicht-Windows-Plattformen angezeigt werden und db.rev.10.txt und db.example.own.txt in den korrekten * nix-Verzeichnissen angezeigt werden .
Referenz für Ubuntu: Sieben einfache Schritte zum Einrichten eines Interal DNS-Servers unter Ubuntu
Beachten Sie, dass bei der Verwendung von Redhat-basierten Distributionen subtile Unterschiede zu Debian / Ubuntu / Mint bestehen.
Angenommen, Sie sind mit all dem einverstanden, hier sind die grundlegenden Arbeitsbeispiele. Dies ist im Wesentlichen eine Zwischenspeicherung der DNS-Konfiguration, falls dies wichtig ist.
BIND einrichten und arbeiten. Ich werde warten. =)
named.conf - Bearbeiten Sie named.conf. (ungefähr) wie unten angegeben. Unter Windows befinden sich alle Einträge in "named.conf" (im Verzeichnis "etc" von BIND). Bei modernen * nix sind diese Einträge häufig auf mehrere Dateien aufgeteilt. Stellen Sie außerdem sicher, dass Sie bei Bedarf alle richtigen Einträge für "rndc-key" und "control" angeben.
Ex. named.conf
# Our basic options -- where do we find our zone files, etc.? # On *nix, options likely need to go in "named.conf.options" options { directory "Path\to\zones"; # On *nix it's / not \ of course allow-transfer { none; }; # disable zone transfers by default # We restrict access to recursion to avoid security issues, etc. # You can change IPs as required. #allow-recursion ; # "localnets" is a special ACL in BIND allow-recursion {"localnets";}; # We are using named.root, so forwarders are disabled. # forwarders { 8.8.8.8; 8.8.4.4; }; }; # Current versions of named.root/db.cache -- ftp://ftp.internic.net/domain/ # *nix likely uses named.root (Redhat/Fedora) or db.cache (Deb/Ubu/Mint) # This file does need periodic updating (perhaps twice a year) zone "." { type hint; file "named.root"; # On Windows, place in your BIND "zone" directory }; # Local domain where "example.own" is whatever domain you want # On *nix, these zone definitions likely need to go in "named.conf.local" zone "example.own" IN { type master; file "db.example.own.txt"; # On Windows, place in your BIND "zone" directory allow-transfer { none; }; }; # Local loopback interface so our local domains work # The digits are the local lan prefix in reverse # Note that /16 subnets use only two digits e.g. 128.10 for 10.128.xxx.xxx zone "0.0.10.in-addr.arpa" IN { type master; file "db.rev.10.txt"; # On Windows, place in your BIND "zone" directory allow-transfer { none; }; }; # ### Any "rndc-key" and "control" statements go here ### # End of named.conf
db.rev.10.txt - Unsere Reverse-Zonendatei. Fügen Sie PTR-Einträge für jeden physischen Server hinzu, auf den in Ihrer Forward-Zonendatei verwiesen wird (z . B. db.example.own.txt ). In diesem Beispiel gehen wir davon aus, dass wir als Single Media Server
10.0.0.3
anrufen möchtenexample.own
.Ex. db.rev.10.txt
; BIND reverse data file for a local loopback interface ; The domain used should be a listed 'zone' in named.conf $TTL 86400 ; Default TTL @ IN SOA example.own. admin.example.own. ( 2015071301 ; serial 10800 ; Refresh period 3600 ; Retry interval 604800 ; Expire time 86400 ) ; Negative caching TTL ; The number before PTR is the last octet of the IP address ; for the device to map (e.g. 10.0.0.3). For /16 subnets, ; this is the last two digits e.g. "8.9" for "128.10.in-addr.arpa" (10.128.9.8) IN NS ns1.example.own. IN NS ns2.example.own. 3 IN PTR example.own.
db.example.own.txt - Unsere Forward-Zone-Datei. In diesem Beispiel gehen wir davon aus, dass wir als Single Media Server
10.0.0.3
anrufen möchtenexample.own
. Natürlich können Sie auch MX und CNAMEs hinzufügen. Wenn Sie weitere Server hinzufügen (z. B.media IN A 10.0.0.4
), fügen Sie der Reverse-Zone auch den entsprechenden PTR-Datensatz hinzu (z. B. db.rev.10.txt →4 IN PTR media.example.own
).Ex. db.example.own.txt
; We are using our reverse DNS to provide name server services ; Enables use of http://(www).example.own on our local network $TTL 86400 ; Default TTL @ IN SOA ns1.example.own. admin.example.own. ( 2015071322 ; serial 10800 ; Refresh period 3600 ; Retry interval 604800 ; Expire time 86400 ) ; Negative caching TTL @ NS ns1.example.own. ns1 IN A 10.0.0.3 ; This entry is ABSOLUTELY NECESSARY - Use an IP ns2 IN A 10.0.0.3 ; Secondary Name Server Prefix/IP (Required 2nd Name Server - backup - IP or domain) example.own. IN A 10.0.0.3 ; A Record for the basic domain name www IN A 10.0.0.3 ; A Record for the www prefix
Krimskrams
Stellen Sie sicher, dass Sie die Seriennummer jedes Mal in den Forward- und Reverse-Zonen aktualisieren, wenn Sie Änderungen daran vornehmen.
Stellen Sie ebenfalls sicher, dass Sie die Bindung neu laden, nachdem Sie ANY Änderungen an Ihren BIND-Konfigurationsdateien vorgenommen haben. Im Allgemeinen möchten Sie wahrscheinlich alle Originale vor dem Basteln sichern.
Unter der Annahme, alles richtig eingerichtet ist, jedes fähiges Gerät (einschließlich Android) im Netzwerk sollte die Lage sein, den Zugriff
example.own
ohne weitere Konfiguration (dh wie das reguläre Netz).Beachten Sie, dass Sie bei der Verwendung von Chrome einen nachgestellten Schrägstrich in der Adressleiste anhängen müssen (z. B.
example.own/
). Andernfalls werden Sie möglicherweise zur Google-Suche weitergeleitet. Diese Anforderung wird in zukünftigen Versionen wahrscheinlich nicht geändert .In eher traditionellen Setups zeigen diese beiden Artikel für Ubuntu und Centos 7 (Redhat) einige Unterschiede bei der Konfiguration von BIND zwischen den beiden.