sakistech
Goto Top

Probleme mit Portweiterleitungen und E-Mail-Versand auf Hetzner Cloud-Server mit

Hallo zusammen,

ich habe ein Problem mit meinem Hetzner Cloud-Server, auf dem Proxmox läuft. Der Server wird nur mit einer IP-Adresse betrieben, da ich ihn über Masquerading verwalten möchte und keine zweite IP kaufen will. Auf diesem Server laufen verschiedene LXC-Container, die ich über den Nginx Proxy Manager nach außen zugänglich machen möchte. Hier sind die Details:

LXC-Container:

  • - Pi-hole: 192.168.1.101
  • - Nginx Proxy Manager: 192.168.1.102
  • - Docker mit Portainer: 192.168.1.103
  • - Mailcow: 192.168.1.104
  • - ISPConfig 3: 192.168.1.105 (noch nicht eingerichtet)

Ziel:
Ich möchte meinen Wordpress-Blog sowie meinen E-Mail-Server eigenständig verwalten. Zwar könnte ich das auch über einen günstigen Webhoster erledigen, aber ich möchte mein Wissen erweitern und die Verwaltung selbst übernehmen.

Aktueller Stand:
Die Grundkonfiguration habe ich anhand der "1EUR-Serie von SemperVideo" (YouTube-Link) durchgeführt. Soweit funktioniert alles gut, aber ich habe folgende Probleme:

1. E-Mails versenden: Ich kann E-Mails empfangen, aber nicht versenden.
2. Zugriff auf Dienste über Nginx Proxy Manager: Alle Hosts, die ich im Nginx Proxy Manager eingetragen habe, sind von außen nicht erreichbar.

Ich habe sowohl WireGuard als auch Tailscale gemäß der Anleitung von SemperVideo installiert und beides funktioniert einwandfrei. Ich kann über beide VPN-Verbindungen auf die Dienste mit den internen IP-Adressen zugreifen, jedoch sind diese Dienste von außen nicht erreichbar. Eine mögliche Alternative wäre die Nutzung von pfSense oder OPNsense, aber zunächst möchte ich mich mit UFW und den Grundlagen der Netzwerksicherheit befassen.

UFW-Konfiguration:
Hier ist meine aktuelle UFW-Konfiguration:

/etc/ufw/before.rules:
bash
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 -o vmbr0 -j MASQUERADE
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
## Port-Freigaben
# Wireguard LXC 100
-A PREROUTING -i vmbr0 -p udp --dport 51820 -j DNAT --to-destination 192.168.1.100:51820

# Wireguard Docker 102
-A PREROUTING -i vmbr0 -p udp --dport 51822 -j DNAT --to-destination 192.168.1.103:51822

# Nginx Proxy Manager LXC 102
-A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.102:80
-A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.102:443

# Mailcow LXC 104
-A PREROUTING -i vmbr0 -p tcp --dport 25 -j DNAT --to-destination 192.168.1.104:25
-A PREROUTING -i vmbr0 -p tcp --dport 465 -j DNAT --to-destination 192.168.1.104:465
-A PREROUTING -i vmbr0 -p tcp --dport 587 -j DNAT --to-destination 192.168.1.104:587
-A PREROUTING -i vmbr0 -p tcp --dport 143 -j DNAT --to-destination 192.168.1.104:143
-A PREROUTING -i vmbr0 -p tcp --dport 993 -j DNAT --to-destination 192.168.1.104:993
-A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.104:80
COMMIT

UFW-Status:
bash
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), allow (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         ALLOW IN    Anywhere                  
51820/udp                  ALLOW IN    Anywhere                  
51822/udp                  ALLOW IN    Anywhere                  
Anywhere on tailscale0     ALLOW IN    Anywhere                  
Anywhere                   ALLOW IN    192.168.1.0/24            
192.168.1.104 25/tcp       ALLOW IN    Anywhere                  
192.168.1.104 465/tcp      ALLOW IN    Anywhere                  
192.168.1.104 587/tcp      ALLOW IN    Anywhere                  
192.168.1.104 143/tcp      ALLOW IN    Anywhere                  
192.168.1.104 993/tcp      ALLOW IN    Anywhere                  
192.168.1.102 80/tcp       ALLOW IN    Anywhere                  
192.168.1.102 443/tcp      ALLOW IN    Anywhere

/etc/ufw/sysctl.conf
...
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
...

/etc/ufw/sysctl.conf
...
# Uncomment this to allow this host to route packets between interfaces
net/ipv4/ip_forward=1
...

DNS-Einträge:
bash
$ORIGIN example.com.
$TTL 86400
; SOA Records
@		IN	SOA	hydrogen.ns.hetzner.com. dns.hetzner.com. 2024111037 86400 10800 3600000 3600
; NS Records
@		IN	NS	helium.ns.hetzner.de.
@		IN	NS	hydrogen.ns.hetzner.com.
@		IN	NS	oxygen.ns.hetzner.com.
; MX Records
@	60	IN	MX	10 mail.example.com.
; A Records
@		IN	A	123.123.22.33
mail	60	IN	A	123.123.22.33
pihole	60	IN	A	192.168.1.101
proxy	60	IN	A	192.168.1.102
www		IN	A	123.123.22.33
; CNAME Records
autoconfig	60	IN	CNAME	mail.example.com.
autodiscover	60	IN	CNAME	mail.example.com.
; TXT Records
@	60	IN	TXT	"v=spf1 ip4:123.123.22.33 -all"  
_dmarc	60	IN	TXT	"v=DMARC1;p=reject;rua=mailto:reportabuse@example.com;ruf=mailto:spamabuse@example.com;"  
dkim._domainkey	60	IN	TXT	"v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgk..." "ruJY..."  

rDNS bei Hetzner lautet: example.com

Probleme:
- E-Mails empfangen funktioniert, aber ich kann keine E-Mails verschicken.
- Alle Dienste hinter dem Nginx Proxy Manager sind von außen nicht erreichbar.

Hat jemand eine Idee, was ich möglicherweise übersehen habe oder wo der Fehler liegen könnte?

Ich freue mich über jede Hilfe!

Viele Grüße,
Saki

Content-ID: 669389

Url: https://administrator.de/contentid/669389

Ausgedruckt am: 21.11.2024 um 13:11 Uhr

Pjordorf
Pjordorf 10.11.2024 aktualisiert um 22:02:55 Uhr
Goto Top
Hallo und willkommen im Forum,

Zitat von @sakistech:
1. E-Mails versenden: Ich kann E-Mails empfangen, aber nicht versenden.
Fehlermeldung?

Logging: on (low)
Stell das mal höher, damit du auch siehst warum etwas gesperrt ist.

Default: deny (incoming),
Sicher das dies so richtig ist?

rDNS bei Hetzner lautet: example.com
Tatsächlich genau so?

Gruss,
Peter
Spirit-of-Eli
Lösung Spirit-of-Eli 10.11.2024 aktualisiert um 22:14:33 Uhr
Goto Top
Moin,

das muss nicht an deiner Konfig liegen.
Im Hetzner Wiki steht der Grund beschrieben.

Ausgehender Mailversand über Standard Ports ist im default untersagt und bedarf einem Ticket mit Begründung.

Gruß
Spirit
sakistech
sakistech 10.11.2024 um 22:42:46 Uhr
Goto Top
Zitat von @sakistech:
1. E-Mails versenden: Ich kann E-Mails empfangen, aber nicht versenden.
Fehlermeldung?
ich bekomme folgende Mail zurück mit dem inhalt.

Reporting-MTA: dns; mail.example.com
X-Postcow-Queue-ID: 86FFA4B95E
X-Postcow-Sender: rfc822; info@example.com
Arrival-Date: Sun, 10 Nov 2024 16:35:02 +0100 (CET)

Final-Recipient: rfc822; info@example.de
Original-Recipient: rfc822;info@example.de
Action: delayed
Status: 4.4.1
Diagnostic-Code: X-Postcow; connect to mx2.hostinger.com[172.65.182.103]:25:
    Connection timed out
Will-Retry-Until: Fri, 15 Nov 2024 16:35:02 +0100 (CET)


Logging: on (low)
Stell das mal höher, damit du auch siehst warum etwas gesperrt ist.
hab es jetzt mal auf high gestellt. Werde es beobachten und mich hierzu nochmal melden.


Default: deny (incoming),
Sicher das dies so richtig ist?

ich denke schon, oder was meinst du genau ?

rDNS bei Hetzner lautet: example.com
Tatsächlich genau so?

Nachdem mir @Spirit-of-Eli den Hinweis bzgl. der Hetzner Wiki gegeben hat, habe ich es auf mail.example.com geändert.

LG
sakistech
sakistech 10.11.2024 um 22:44:16 Uhr
Goto Top
Zitat von @Spirit-of-Eli:

Moin,

das muss nicht an deiner Konfig liegen.
Im Hetzner Wiki steht der Grund beschrieben.

Ausgehender Mailversand über Standard Ports ist im default untersagt und bedarf einem Ticket mit Begründung.

Gruß
Spirit

Danke für den Hinweis. Hab Hetzner darauf schon angeschrieben.
StefanKittel
StefanKittel 11.11.2024 um 00:51:30 Uhr
Goto Top
Hallo,
probier mal eine Mail hier hin zu senden.
https://appmaildev.com/de/spf

Da sieht man sehr gut was dort ankommt.

Stefan
sakistech
sakistech 11.11.2024 um 12:38:33 Uhr
Goto Top
Die E-Mail funktioniert nun einwandfrei, nachdem Hetzner die benötigten Ports geöffnet hat. Vielen Dank an @Spirit-of-Eli für die hilfreiche Information und Unterstützung!

Das einzige verbleibende Problem betrifft derzeit den Nginx-Proxy-Manager. Ich vermute, dass dies mit den aktuellen Firewall-Regeln zusammenhängt.

Hat da jemand eine Idee?

Beste Grüße,
Saki
sakistech
Lösung sakistech 11.11.2024 um 22:41:12 Uhr
Goto Top
Das Problem mit dem Nginx-Proxy-Manager hat sich mittlerweile geklärt. Es war ein DNS-Problem, das die Ursache war.

Vielen Dank für eure Unterstützung!

Liebe Grüße,
Saki