Moin,
ich habe den Wireguad Server anhand dieser Anleitung https://www.thomas-krenn.com/de/wiki/OPNsense_WireGuard_VPN_f%C3%BCr_Road_Warrior_einrichten
eingerichtet.
Ich habe eine WAN Regel, welche den Port für die Wireguad erlaubt (laut Anleitung).
Aber die Firewall Regeln in Rules/Wireguard haben scheinbar keine Wirkung. Egal ob "erlaube" oder "verbiete" Regeln aktiv sind, der Zugriff ist immer vollständig erlaubt - was nicht gewünscht ist.
Ich möchte einen Client nicht vollen Zugriff auf das gesamte Netz geben.
Wie kann ich das bewerkstelligen?
Bfo
Floating rules?
Kannst du deine Regeln posten, am Besten floating, WireGuard und falls vorhanden die fuer das wireguard interface.
Hallo,
bei Floating existiert nur eine
IPv4 * * * * * * *
und 14 auto addierte:
IPv4+6 * * * * * * * Default deny rule
IPv6 IPV6-ICMP * * * * * * IPv6 requirements (ICMP)
IPv6 IPV6-ICMP (self) * fe80::/10,ff02::/16 * * * IPv6 requirements (ICMP)
IPv6 IPV6-ICMP fe80::/10 * fe80::/10,ff02::/16 * * * IPv6 requirements (ICMP)
IPv6 IPV6-ICMP ff02::/16 * fe80::/10 * * * IPv6 requirements (ICMP)
IPv6 IPV6-ICMP :: * ff02::/16 * * * IPv6 requirements (ICMP)
IPv4+6 TCP/UDP * * * * * * block all targetting port 0
IPv4+6 TCP/UDP * * * * * * block all targetting port 0
IPv4+6 CARP * * * * * * CARP defaults
IPv4+6 TCP <sshlockout> * (self) 22 * * sshlockout
IPv4+6 TCP <sshlockout> * (self) 443 * * sshlockout
IPv4+6 * <virusprot> * * * * * virusprot overload table
IPv4+6 * * * * * * * let out anything from firewall host itself
IPv4+6 * vtnet1 * * * GW_WAN * let out anything from firewall host itself (force gw)
IPv4 * * * * * * *
Die wg Rules sieht so aus:
IPv4 * 10.10.10.15 * 192.168.1.5 * * * wireguard
Bfo
Quote from: bforpc on October 02, 2020, 12:34:40 PM
IPv4 * 10.10.10.15 * 192.168.1.5 * * * wireguard
Ich sehe nicht viel, aber ich sehe hier keine Regel, die den Verkehr aus dem 10.10.10.0/24 (Wireguard Netz?) Netz in das 192.168.1.0/24 (LAN?) Netz regelt.
Hast du mal unter Firewall: {wireguard interface} hinzugefügt:
Action: REJECT
Interface: {wireguard interface}
Destination: {LAN interface}
?
Flaoting Rules stehen über ALLEN .. wenn du da any any accept hast ist der Rest egal ..
Moin,
Ich denke ich habe das Problem gefunden - aber nicht die Lösung.
Zugriffe aus allen Netzen auf Dienste im LAN haben immer die IP des Proxmox Hostes als Absender.
Beispiel:
Ich bin Ausserhalb per Wireguard mit dem Home Netz verbunden, habe eine WG Adresse 10.10.10.15 und greife auf einen Webserver (keine VM auf dem Proxmox Host) im Intranet zu: Der Webserver sieht dann als Absender in seinem Log die 192.168.1.1 (das ist der Proxmox Host) - die opnsense hat die 192.168.1.101.
Logischerweise greifen die FW Rules dann nicht, nur: wie kommt das denn zustande?
Vielleicht noch eine Info: Ich habe
Reflection for port forwards
Reflection for 1:1
Automatic outbound NAT for Reflection
aktiv, weil ich im Intranet Dienste Nutze, welche nur aus dem Internet sichtbar sind (web Zugriff auf einen öffentliche erreichbaren Webserver) und ich diesen Web Server auch aus dem Intranet brauche.
Bfo
leider kann ich deinen schilderungen nicht ganz Folgen, kannst du mal einen grafische3n netzwerkplan posten, das würde mir zum verständnis helfen.
Netzwerkplan? Ist total basic ;-)
Internet -> opnsense -> Intranet
Das Intranet besteht aus Clienten und VM's mit Diensten, zb. Apache Server und Anderen
opnsense läuft auch in einer VM auf dem Proxmox Host.
Intranet 192.168.1.x
Proxmox Host 192.168.1.1
opnsense 192.168.1.101
Wireguard Netz 10.10.10.x
Das Problem: Zugriff von * (egal ob extern, intern, vpn): der betreffende Dienst (z.B. der Apache Webserver) sieht als Absender der Anfrage immer 192.168.1.1 - was natürlich falsch ist. Da müsste die IP des Absenders stehen.
Bfo
Ich denke, dass dieses Verhalten normal ist. Das sind halt unterschiedliche Netze und die OPNsense arbeitet halt mit NAT. Ein Webserver im Internet sieht ja auch nicht die IP deines PC, sondern die WAN-IP des Routers.
Moin,
@Roger2k: Wie bitte? Sorry, aber da redest du Blödsinn - das ist überhaupt nicht normal. Entweder hast du nicht alles durchgelesen oder nicht verstanden. Innerhalb des Intranets sehen alle Beteiligten immer nur einen Zugriff vom Proxmox Host - dieser hat doch nichts mit der Firewall zu tun. Sobald irgendein Paket über die Firewall läuft, wird es mit einem falschen Absender versehen, nämlich 192.168.1.1.
NOCHMAL:
PC VPN -> (internet) -> opnsense (192.168.1.101, welche als VM auf dem Host 192.168.1.1 läuft) -> [an irgendeinen Dienst hinter der FW] << dieser Dienst sieht als Absender 192.168.1.1. Wieso denn die .1? Er müsste streng genommen die öIP des Absenders, die VPN Tunneladresse oder wenigstens die der Firewall sehen, aber doch nicht die IP vom Host, auf welchem die VM läuft.
bfo
ich frage nochmal, bitte einen GRAFISCHEN NETZWERKPLAN. warscheinlich hast du noch irgend einen router oder irgendwas mit dem du ins internet kommst. schau dir auch gerne nochmal unsere tipps an.
https://forum.opnsense.org/index.php?topic=12697.0
PS: den wirst du noch öfter hier im forum brauchen, also mach dir ruhig einmal die arbeit. hilft allen
Moin,
Ich weiss doch ob ich "irgendwo" noch einen Router oder whatever habe... den ich nicht habe.
Ein Netzwerkplan ändert nichts .
Es ist doch ganz einfach:
Sobald Pakete über die opnsense gehen, bekommenSie eine falsche Absenderkennung.
Bfo
Da wird am ProxMox Host etwas falsch für die OPNsense eingestellt sein.
Laut https://pve.proxmox.com/wiki/Network_Configuration#_masquerading_nat_with_tt_span_class_monospaced_iptables_span_tt (https://pve.proxmox.com/wiki/Network_Configuration#_masquerading_nat_with_tt_span_class_monospaced_iptables_span_tt)
gibt es die Möglichkeit den Gast auf NAT laufen zu lassen. Ist dies zufällig der Fall?
Was hat denn der Proxmox host mit dem generellen routing zu tun?
Das ist ausschliesslich eine Einstellung der Firewall. Völlig falscher Ansatz.
Ich denke, es ist eher - ich schrieb es bereits - mit dem 1:1 NAT von der FW zu tun.
bfo
Gauss hat nicht von Routing gesprochen sondern von NAT! Wenn ich lokal Virtualbox mache und die VM hat eine Nat nic dran werden ausgehende Pakete auf die IP meines Windows Hosts genattet, auch die einer OPNsense.
Bitte Bridge Mode verwenden.
Quote from: bforpc on October 16, 2020, 07:28:51 AM
Was hat denn der Proxmox host mit dem generellen routing zu tun?
Das ist ausschliesslich eine Einstellung der Firewall. Völlig falscher Ansatz.
Ich denke, es ist eher - ich schrieb es bereits - mit dem 1:1 NAT von der FW zu tun.
bfo
Warum sollte die OPNsense Pakete auf die IP des Proxmox Hosts "natten"? Die kennt diese IP doch gar nicht. Ich denke da ist was am Host falsch eingestellt.
Wie sehen denn deine Outbound NAT Regeln aus? Mach doch mal Screenshots von:
- Outbound NAT
- Interfaces->Overview mit aufgeklappten Interfaces
- Routing Table unter System->Routes-Status
Verbiegst Du in irgendeiner Firewall Regel das Gateway?
Wenn Du das 1:1 NAT im Verdacht hast: kannst Du es nicht einfach mal für ein paar Minuten deaktivieren?
Moin,
in der Anlage die gewünschten Screenshots.
Bei outbound NAT sind momentan nur die 2 automatisch generierten Regeln Aktiv.
Zur Info: Die VM's, insbesondere natürlich die opnsense - sind per bridge am Netzwerk des Hostes angeschlossen, nicht NAT.
Bfo
Also seitens der OPNsense kann ich nicht erkennen warum die Pakete auf eine ihr nicht bekannte IP Adresse NATten sollte.
Ich bleibe bei meiner Vermutung, dass da am Host was falsch eingestellt ist.
Moin,
Ich habe mal die iptables Liste des Hostes angehängt sowie die Routing Tabelle hier unten.
Da wird nichts "umgebogen"....
Routing Tabelle:
route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.101 0.0.0.0 UG 0 0 0 vmbr0
10.20.0.0 0.0.0.0 255.255.255.0 U 0 0 0 vmbr20
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vmbr0
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 vmbr3
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 vmbr5
224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 vmbr20
Bfo
QuoteChain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
MASQUERADE all -- anywhere anywhere
Würde ich gerne mal mit mehr Details sehen wollen. Das wären meine Verdächtigen.
Hi,
da muss ich ehrlich gestehen, dass ich nicht weiss, wie ich dir mehr Infos hierzu geben kann.
EIn iptables -L und da hört mein Wissen auch schon auf ;-)
Bfo
Quoteiptables -L -t nat -v
Danke für den Tip.
~ # iptables -L -t nat -v
Chain PREROUTING (policy ACCEPT 5780K packets, 672M bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 14817 packets, 2705K bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 377K packets, 25M bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 3634K packets, 399M bytes)
pkts bytes target prot opt in out source destination
2504K 294M MASQUERADE all -- any vmbr0 anywhere anywhere
0 0 MASQUERADE all -- any vmbr0 anywhere anywhere
Bfo
von: https://www.karlrupp.net/de/computer/nat_tutorial
Quote# Anbinden eines LAN an das Internet
$> iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Der Befehl erklärt sich wie folgt:
iptables: das Kommandozeilenprogramm, mit dem wir den Kernel konfigurieren
-t nat Wähle die Tabelle "nat", um NAT zu betreiben.
-A POSTROUTING Füge eine Regel in der POSTROUTING-Kette ein (-A steht für "append").
-o eth1 Wir wollen Pakete, die den Router an der zweiten Netzwerkschnittstelle "eth1" verlassen (-o für "output")...
-j MASQUERADE ... maskieren, der Router soll also seine eigene Adresse als Quelladresse setzen.
In Deinem Beispiel wird alles was am Interface vmbr0 rausgeht auf die IP vom Proxmox Host umgestellt/maskiert. Was sind denn da noch für VMs am Laufen? Ich würde die Chain einfach probeweise leeren.
Interessanterweise ist die Regel sogar 2x da.
Ich übernehme keinerlei Garantie, da ich Dein Setup nicht kenne.
Quoteiptables -t nat -F POSTROUTING
Um die Regel wieder hinzuzufügen:
Quoteiptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
Danke für deinen Tip. Ich werde das diese Woche testen.
Auf dem Server sind laufen 12 VM's / Container. Unter anderem auch die opnsense.
nochmals Danke für den Tip.
Jan
Quote
Ich übernehme keinerlei Garantie, da ich Dein Setup nicht kenne.
Quoteiptables -t nat -F POSTROUTING
Um die Regel wieder hinzuzufügen:
Quoteiptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
Hallo,
nach dem entfernen der Regel werden die korrekten IP Adressen bei den Diensten angezeigt. Jetzt frage ich mich, wie es zu dieser Regel kommt. Denn ich habe sie nicht eingegeben und es gibt auch kein Script oder Dienst, der dies tun würde.
Seltsam seltsam.
OK, einen Schritt weiter. Soweit so gut. Nun prüfe ich noch die Auswirkung auf meine ursprüngliche Frage-... mal sehen, ob das mein Problem auch löst.
Jan