PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux Server über Domain von extern ansprechen



Corono
29.08.21, 09:56
Hallo zusammen

Zu Lern- und Ausbildungszwecken habe ich mir einen kleinen Linux-Server aufgesetzt. Damit ich mein Hauptsystem sauber halte, läuft er aktuell in einer Virtual Box. Verwendet habe ich Ubuntu Server 20.04 LTS.

Leider funktioniert es bis jetzt nicht, den Server über eine externe Domain zu erreichen. Sagen wir, die Domain heisst www.home-test.cc

Was ich bisher gemacht habe:

1: Server aufsetzen, SSH Zugang einrichten und Apache installieren. Danach ist die Default Apache Webseite über die IP meiner Virtualbox im Browser erreichbar.

2: Eine Testwebseite erstellt und danach folgende Apache-Config erstellt und aktiviert:

<VirtualHost *:80>
ServerAdmin admin@home-test.cc
ServerName www.home-test.cc
ServerAlias www.home-test.cc
DocumentRoot /var/www/home-test.cc/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Danach wird über den Browser-Zugriff auf die IP diese neue Webseite aufgerufen, es hat also geklappt.

3: Duck-DNS einrichten. Eine Subdomain (home-test-cc.duckdns.org) bei Duck-DNS registriert und mit folgendem Cron-Job auf dem Server verlinkt:

echo url="https://www.duckdns.org/update?domains=home-test-cc.duckdns.org&token=[MEIN TOKEN]&ip=" | curl -k -o /home/webadmin/duckdns/duck.log -K -
Wenn ich das Cron Job File mit obigem Inhalt manuell aufrufe, dann meldet er als Feedback ok, scheint also zu klappen.

4: Beim Hoster meiner Webseite einen CNAME Eintrag für Duck-DNS hinterlegt. Danach über "dig" getestet:

~$ dig www.home-test.cc

; <<>> DiG 9.16.1-Ubuntu <<>> www.home-test.cc
;; global options: +cmd
;; Got answer:


;; ANSWER SECTION:
www.home-test.cc. 3599 IN CNAME home-test-cc.duckdns.org.
home-test-cc.duckdns.org. 59 IN A 31.***.**.*3

Er leitet also meine Anfrage korrekt an eine IP weiter.

5: Port 80 (HTTP) im Router freigegeben und auf die IP der Virtual Box geleitet.

Trotzdem kann ich die Seite von ausserhalb nicht erreichen, weder über den Domainname noch über die IP von DuckDNS. Hat jemand eine Ahnung, was noch fehlt?

VIelen Dank.

Gruss Corono

nopes
29.08.21, 10:04
Vermutlich hat du das Netzwerk in VBox nicht richtig eingestellt, eine Übersicht findest du zb hier: https://www.thomas-krenn.com/en/wiki/Network_Configuration_in_VirtualBox

Corono
13.09.21, 20:28
So, ich melde mich mal aus dem Urlaub zurück.
Vielen Dank für die Antwort. Mein Netzwerk ist als Bridge eingestellt, so müsste es doch eigentlich gehen:
21626
Wenn ich die Domäne anpinge, dann löst er korrekt den DuckDNS Server auf, danach kommt aber keine Antwort.

nopes
14.09.21, 12:19
Bridge ist korrekt, du kannst da ggf. noch den Promiscuous Modus aktivieren, ich habe da irgendwas im Hinterkopf, dass man das bei Brücken machen soll.

Als nächstes den Router prüfen, bzw die IP durch einen Web Service schicken und prüfen lassen, welche Ports da offen sind, 80 müsste ja dabei sein - gibt einen haufen Services dafür; zB https://portchecker.co/

IPv4 vs IPv6 kann auch noch ein Thema sein.

Corono
16.09.21, 21:13
So, ich habe nun einen Raspi ausegraben und es da wiederholt, so dass ich sicher nicht an der Virtual Box hängen bleibe. Spannend ist: Wenn ich die Webseite über die IP aufrufe, dann erreiche ich sie. Der Port Scanner sagt aber, der Port sei geschlossen. Ich bin mir aber sicher, dass ich den Port offen habe:
21627
Ich kann leider nicht genau sagen, was ich für einen Router habe, das ist so ein gebrandetes Ding von meiner Telefongesellschaft. Er stammt jedenfalls von Sagemcom Broadband SAS.
Ich hatte eine Zeit lang eine Synlogoy angeschlossen, da bin ich durch die anderen Ports immer durchgekommen. Da ich über die IP auch meine Testwebseite angezeigt kriege, hängt ja was am Port 80. Der Port müsste also eigentlich als offen erkannt werden. Jemand eine Idee, was ich noch tun kann?

EDIT: Muss ich im Linux selbst auch irgendwo noch ein Port Forward machen? Da habe ich bis jetzt nicht eingestellt.

EDIT2: Was mir noch aufgefallen ist:

sudo netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 1571/systemd-resolv
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1749/sshd: /usr/sbi
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN 1850/mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1850/mysqld
tcp6 0 0 :::80 :::* LISTEN 1836/apache2
tcp6 0 0 :::22 :::* LISTEN 1749/sshd: /usr/sbi

So wie es aussieht, hört er den Port nur bei IPv6 ab. Kann man das irgendwie änderm?

DrunkenFreak
17.09.21, 07:41
Über welche "IP" rufst du den Server denn auf? Der Webserver hört nur auf IPv6. Das könnte erklären, warum du per IPv4 nichts findest.

Sagemcom hört sich nach Kabel an. Da ist häufig nur Dualstack am laufen. D.h. du selbst hast garkeine IPv4 mehr.

Corono
17.09.21, 17:15
Ich rufe meine Webseite über die IP auf, die oben auch im Port Forward angegeben ist, also 192.168.1.85. Das funktioniert. Also irgentwie habe ich doch auch noch IPv4. So ganz verstehe ich es leider auch nicht, evtl. handhabt mein Router auch Anfragen von aussen anders als solche aus dem Netzwerk.