OPNsense LAN Geräte extern erreichen

hYtas

Cadet 1st Year
Registriert
Feb. 2022
Beiträge
13
Moin,

ich habe eine Frage bezüglich dem Zugriff von Außen auf WireGuard und NGINX (Bitwarden) befinden sich beide im LAN Netz.
Funktioniert hat das Ganze schon, ich bin erst von UniFi auf OPNsense umgestiegen.

WireGuard 10.10.10.45 und (NGINX) Bitwarden 10.10.10.42 laufen beide als LXC in Proxmox. Lief vor dem Umstieg schon, daher passt der DNS Server. Hatte ich kontrolliert, der ist korrekt vergeben.
NGINX_PORTS sind 80 und 443

Die beiden Aliases/IPs habe ich als Port Forwarding freigegeben und folgende WAN Regeln erstellt:

b75690aee437ea8fb8e0e1395a527c13.jpg
5e75c9eb7e3443acb14943375206bf44.jpg

Port 80 und 443 sind offen, laut Portscanner.

Müsste eigentlich soweit richtig sein.
Per WireGuard kann ich mich auch auf dem Server anmelden und bekomme die IP 10.250.1.1/24.
Aktuell funktioniert der Zugriff ins LAN und WAN über VPN noch nicht.
Dazu hatte ich folgende Regel angelegt:

d714876d76935b9337f52eb64701e8e0.jpg


Mach meinem Verständnis müsste ich doch als Source die IP 10.250.1.1 angeben und dann ins LAN net freigeben.

Bitwarden kann ich von Außen nicht per dynDNS erreichen, ist aber soweit eigentlich auch freigegeben.

Irgendwo scheitert es. Ich bin langsam am verzweifeln.
 
hYtas schrieb:
Per WireGuard kann ich mich auch auf dem Server anmelden und bekomme die IP 10.250.1.1/24.
Ich nehme an 10.250.1.1/24 ist das virtuelle VPN-Netzwerk? Was meinst du mit "ich kann mich auf DEM Server anmelden"?

hYtas schrieb:
Aktuell funktioniert der Zugriff ins LAN und WAN über VPN noch nicht.
Hast du Wireguard mit Source NAT (NAT Masquerading) oder ohne konfiguriert ? Kommt im OPNsense Firewall Log eine Client-Anfrage aus dem VPN-Netzwerk (10.250.1.1/24) an sobald du z.B. eine Internetadresse über HTTPS aufrufst?

Falls NAT Masquerating (SNAT) auf dem Wireguard Server deaktiviert ist musst du für das VPN-Netzwerk 10.250.1.1/24 in OPNsense noch ein Gateway hinzufügen, wobei die physische IP-Adresse deines VPN-Servers (10.10.10.45) die Gateway-IP zum VPN-Netzwerk (10.250.1.1/24) ist.

Ein Gateway kannst du unter System > Gateways > Single hinzufügen

Außerdem muss bei deaktiviertem SNAT noch eine statische Route in OPNsense hinzugefügt werden:
System -> Routes -> Configuration

In etwa so:
Network: 10.250.1.1/24
Gateway: (hier das eben erstellte Gateway 10.10.10.45 eintragen)

hYtas schrieb:
Bitwarden kann ich von Außen nicht per dynDNS erreichen
Ich halte die Idee für äußerst fragwürdig, Bitwarden fürs Internet freizugeben.. Wieso möchtest du das machen wollen? Reicht der Zugriff auf Bitwarden über Wireguard nicht aus ?
Ansonsten überprüfen ob du den Reverse Proxy (Bitwarden) über das interne Netzwerk erreichen kannst. Evtl Nginx Fehlkonfiguration?
Wird die DynDNS-Adresse korrekt in deine öffentliche IPv4/IPv6 Adresse aufgelöst?
Ist der Nginx Reverse Proxy so eingestellt, dass er auf die tatsächliche DynDNS-Adresse lauscht?
 
Zuletzt bearbeitet:
Hi,
10.252.1.0/24 ist die Server Interface Adress. 10.252.1.1 bekommt mein iPhone. Welches sich aktuell auch ohne FW Regeln mit dem WireGuard Server verbinden kann bzw. eine IP bekommt.

Es kommt keine Anfrage im Livelog. Source NAT kann ich aktuell nicht sagen. So extrem tief stecke ich da leider noch nicht im Thema.

Bitwarden ist nur per NGINX erreichbar, hängt also nicht "direkt" im Netz. VPN ginge theoretisch aber auf der Arbeit etc. kann ich keine VPN Verbindung aufbauen.
Ich werde es anders lösen. Port 80 und 443 kommen zu.

Ich müsste jetzt nur meine DynDNS in OPNsense hinterlegen und von dort aus dann direkt zum WireGuard LXC leiten. Sollte ja kein Thema sein?


NGINX lief mit der UDM-Pro bereits ohne Probleme für lange Zeit.
Meine DynDNS wird korrekt aufgelöst, lief ebenfalls schon lange.

WireGuard UI läuft intern auf Port 8060.

EDIT:

Also meinst du so?
Routes.jpg
Gateway:
Gateway.jpg
 
Zuletzt bearbeitet:
hYtas schrieb:

Genau. Allerdings sind diese Schritte nur notwendig, wenn in deiner Wireguard-Konfiguration in den Punkten PostUp bzw. PostDown das Stichwort "MASQUERADING" nicht enthalten ist. Das ist ein Synonym für Source NAT (SNAT) und sorgt dafür, dass in deiner OPNsense alle Anfragen aus dem VPN-Netz (10.250.0.0/24) so aussehen als würden sie direkt von dem Wireguard-Server 10.10.10.45 stammen.

Mit deaktiviertem SNAT werden in OPNsense die realen VPN-Client-IPs (bspw. die deines iPhones 10.250.1.1) angezeigt.

Falls also kein Masquerading in deiner Wireguard-Config enthalten ist, musst du nun noch die entsprechenden Policys in OPNsense anlegen, die sich auf das VPN-Netz 10.250.1.0/24 als Source-IP beziehen.

hYtas schrieb:
Welches sich aktuell auch ohne FW Regeln mit dem WireGuard Server verbinden kann bzw. eine IP bekommt.
Funktioniert das auch aus dem Mobilfunknetz (mit deaktiviertem WLAN)? Normalerweise musst du dafür Port-Forwarding bzw. Destination NAT (DNAT) auf deinem Router/Firewall einrichten

Dass dein Passwortmanager von Überall aus dem Internet erreichbar ist, ist sicherheitstechnisch ein absoluter Albtraum :D
Hier solltest du zumindest die Source-IP der zuständigen Firewall-Policy einschränken (z.B. auf die öffentliche IP-Adresse/n deines Arbeitgebers)

Besonders auf die Ports 80 und 443 erfolgen die meisten automatisierten Angriffe. Hier empfiehlt es sich eigentlich immer eine Port-Umleitung einzurichten, bspw. um von extern über "xyz.meine.domain:40444" auf intern "xyz.meine.domain:443" zuzugreifen
 
Zuletzt bearbeitet:
Erstmal danke für deine Hilfe :)

Also Masquerading steht drin, also kann ich die Schritte weg lassen. Gut zu wissen, man lernt nie aus.

Ja die Verbindung ist stabil ohne Portfreigaben etc (warum auch immer. Es zeigt im Status aber false bzw. nicht verbunden an also dürfte es ja nicht klappen). nur habe ich keinen Zugriff auf nichts. Da muss es noch einen Punkt geben, den ich freigeben muss.
Finde WireGuard mit UI einfach angenehmer als das OPNsense Plugin, daher würde ich ungern darauf verzichten.

Der Manager ist nicht mehr am Netz und den NGINX gibts nicht mehr. Per DynDNS wireguard.xxxxxxx.de komme ich ja noch auf mein WAN interface.

WireGuard muss noch laufen, dann ist alles fertig.
 
Zuletzt bearbeitet:
Also erstmal solltest du überprüfen ob dein iPhone auch tatsächlich mit dem WG-Server verbunden ist oder nicht. Geh mit deinem iPhone ins Mobilfunknetz, schalte das WLAN aus und versuch dich über Mobilfunknetz mit dem Wireguard-Server bei dir zu Hause zu verbinden. Sobald dein iPhone sagt, dass eine Verbindung zum Wireguard-Server besteht, ruf die Wireguard UI deines Servers über z.B. Safari auf.
Wenn die Wireguard UI erfolgreich geladen wurde, besteht tatsächlich eine Verbindung zum Wireguard-Server.

1) Sobald du dann versuchst vom per Wireguard verbundenen iPhone eine Internet-Adresse (bspw. www.computerbase.de) aufzurufen, solltest du in deiner OPNsense im Firewall Log auf jeden Fall die IP-Adresse deines Wireguard-Servers 10.10.10.45 als Source-IP sehen können, die versucht diverse Anfragen ins Internet zu schicken.

2) Du solltest außerdem alle anderen Dienste erreichen können, die im gleichen Subnetz wie dein Wireguard-Server (10.10.10.?/?) gehostet werden. Dazu sind idR keine expliziten Firewall-Policys erforderlich, da das Switching über die ARP-Tabellen der Systeme erfolgt. Außer du hast deine Netzwerkinfrastruktur in mehrere Subnetze bzw VLANs unterteilt.

Falls 1+2 nicht zutreffen, funktioniert entweder der LXC für Wireguard oder der WG-Service an sich noch nicht richtig.

Ich habe mir mein Wissen auch erst dieses Jahr angeeignet indem ich mich ebenfalls in meiner Freizeit durch all diese Probleme gekämpft habe :D Es bringt mir allerdings einen großen Mehrwert da ich mit der IT auch mein Geld verdiene
 
Zuletzt bearbeitet:
Laut VPN Übersicht steht die Verbindung per Mobilfunk:
IMG_E8835.JPG

Komme aber wie du schriebst, nicht auf die WireGuard UI oder sonstige Geräte. Wundert mich halt das es ohne Freigabe klappt.
WireGuard lief schon ewige Zeigen mit der UDM-Pro.

Ich habe diverse VLANs, aber im LAN hängt alles wichtige und auch mein PC usw.

Wenn man aber nicht mehr einstellen muss/kann, dann installiere ich den LXC noch mal neu. Das geht ja zum Glück super fix.
 
Zuletzt bearbeitet:
Es läuft nun, habe es nach einer Anleitung von Youtube lösen können. Die anderen Videos waren nicht richtig bzw evtl zu alt.
 
  • Gefällt mir
Reaktionen: complainerbase
Zurück
Oben