Firewall regeln und Masquerading

Started by ralus, February 25, 2025, 05:15:03 PM

Previous topic - Next topic
Hallo Community

Bin was Opnsense angeht Neuling und möchte diese interessante Firewall einsetzen.

Nun stosse ich aber bei den Standard Firewall Regeln und Masquerading auf unverständliche Probleme

Im NAT Outbound ist bei mir Automatic outbound NAT rule genereation definiert, was mir standardmässig sämtliche Ports nach aussen öffnet. Was ich aber nicht will.
Ich möchte nur, dass zwar die internen IP Adressen genattet werden, aber ich die Regeln für ausgehende Ports selber definieren soll.

Auf der Firewall habe ich vier Modi:

Automatic outbound NAT rule generation
(no manual rules can be used)       
Hybrid outbound NAT rule generation
(automatically generated rules are applied after manual rules)

Manual outbound NAT rule generation
(no automatic rules are being generated)       

Disable outbound NAT rule generation
(outbound NAT is disabled)


Welcher NAT Modus muss ich wählen? Ich habe es mit "Manual outbound NAT rule generation" ausprobiert, aber dann funktionieren die manuell erstellten Firewall regeln nicht.

Kann mir jemand erklären, wie die Firewall zu konfigurieren ist?

Hat jemand ein gutes Video oder oder Webdokument?

Danke im Voraus für Eure Hilfe


Ich bin mir aufgrund Deiner Formulierung ziemlich unsicher, ob Du wirklich mit "ausgehenden Ports" das Richtige meinst. Du willst, dass Deine internen IPs nur auf bestimmte Ziel-Ports zugreifen können und nicht auf alle?

"Manual outbound NAT rule generation" ist dafür schon richtig, dann musst Du wohl etwas dabei falsch konfiguriert haben.

Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

February 26, 2025, 09:22:20 AM #2 Last Edit: February 26, 2025, 04:23:58 PM by ralus
Hallo Meyergru

Ich hatte früher Sophos UTM und da war mir bekannt, dass man für die Maschinen generell ein Masquerading erstellen musste LAN nach WAN ohne irgendwelche Port Angabe.
Anschliessend über die Firewall musste ich die Ports öffnen. Ich möchte generell nicht alle Ports offen haben. In erster Linie sollen DNS, HTTP und HTTPS ins Internet gelangen. Alles andere soll von der OpnSense gesperrt sein.

Irgendwo mache ich einen Fehler. Falls du Zeit hättest, würde ich mich über eine "private Nachricht" freuen. Wir könnten anschliessend eine Remote-Session aufbauen, wo ich dir das zeigen könnte.

Welche Dienste deine internen Clients erreichen dürfen, legst du durch Firewall-Regeln auf dem LAN-Interface fest. Das ist deutlich übersichtlicher (m.E.) als mit dem NAT zu arbeiten. Also lass NAT ruhig erst einmal auf "automatic", das bedeutet, alles, was raus geht, wird auch geNATet.

Für die Dienste sind viele Aliase schon vordefiniert, aber du kannst dir Regeln und damit Arbeit sparen, indem du neue anlegst, die jeweils mehrere Dienste auf einmal angeben. Findest du Firewall > Aliases.

Z.B. "Ports_Web" - 80, 443, Typ "Port(s)", klar.

Dann auf dem LAN zwei Regeln:

Source: LAN net
Destination: any
Protocol: TCP/UDP
Destination Port: DNS
Action: allow

Source: LAN net
Destination: any
Protocol: TCP
Destination Port: Ports_Web
Action: allow

Damit wäre dann DNS und HTTP und HTTPS ausgehend erlaubt und die "allow all" Regel kann weg.

Gruß
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ih habe auf der Firewall nun folgende Einstellungen, aber ich komme mit dem Client nicht ins Internet

Protocoll      Source    Port   Destination   Port       Gateway   Schedule
IPv4 UDP       LANnet    *      *             53 (DNS)     *         *
IPv4 TCP       LANnet    *      *             80 (HTTP)    *         *
IPv4 TCP       LANnet    *      *             443(HTTPS)   *         *
IPv4 ICMP      LANnet    *      *             *            *         *


Im Live Log sehe ich das z.B HTTPS und DNS erlaubt ist
Dennoch kann ich die Webseite nicht öffnen bzw. Browsen

Führe ich ein tracert durch z.B auf www.opnsense.com erhlate ich folgende Meldung

1   <1 ms         <1 ms       <1 ms   172.16.1.2   (ist meine Firewall)
2  172.16.1.2     meldet: Zielhost nicht erreichbar.

Ablaufverfolgung beendet.

Erlaube ich auf der Firewall alles, dann funktioniert das Browsen

Wo könnte hier das Problem sein?

Du hast wahrscheinlich nur Firewall-Regeln gemacht, Du brauchst aber Outbound NAT-Regeln, das haben wir doch mehrfach geschrieben.
Wie sollen denn Deine RFC1918-IPs im Internet geroutet werden? Die Firewall selbst kommt hinaus, weil sie dazu ihre WAN-IP verwendet.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

@meyergru aber mit NAT auf "automatic" sind die doch da?
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Das hat @ralus doch bestimmt abgeschaltet, um die Wirksamkeit der Regeln zu testen, oder hast Du eine andere logische Erklärung?
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Ich hatte them ja geraten, "automatic" drin zu lassen.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Hallo zusammen

Ich habe die Outbound NAT Regeln auf automatisch gesetzt. Schade kann ich hier keine Printscreens einfügen, dann würde man das besser sehen:

Ich habe folgende Einstellung

Mode
X Automatic outbound NAT rule generation
  (no manual rules can be used)

Unten bei Automatic rules ist alles leer

Interface     Source Networks SourcePort etc....

In der Zwischenzeit habe ich die Firewall neu installiert. Nun scheint es zu funktionieren.

Auf jeden Fall vielen Dank für Eure Hilfe.

Quote from: ralus on February 27, 2025, 08:26:43 AMSchade kann ich hier keine Printscreens einfügen,

Natürlich kannst du das:

Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Ich gehe jetzt mal davon aus, dass es funktionieren würde, wenn Du eine "Allow All"-Regel ausgehend aktivierst (testen!).

Dann musst Du feststellen, was genau nicht geht:

- DNS (wie?)
- IP (welche Sorte?)

Was ich meine ist: "ich komme mit dem Client nicht ins Internet" ist zu ungenau.

Beispiel: Wenn Du mit "dem Client" einen Windows-Rechner mit Firefox meinst, kann es sein, dass er IPv6 versucht und Du hast nur IPv4 zugelassen.
Also müsstest Du erstmal probieren, ob Zugriff auf 2600:: (IPv6) und 8.8.8.8 (IPv4) zugelassen ist (ist es zumindest per Ping nicht, weil Deine Regeln das - noch - nicht besagen). Selbst, wenn Du ping zulässt, geht IPv6 nicht.

Zuvor musst Du testen, ob der DNS überhaupt geht, d.h., ob "der Client" Namen auflösen kann. Dabei kann es sein, dass der Client automatisch DoT oder DoH nutzt, was Deine Regeln ebenfalls nicht erlauben. Ein Test mit "nslookup www.google.com" kann also klappen, Dein Firefox geht trotzdem nicht.

Du musst hier systematisch vorgehen, um zu sehen, was genau nicht funktioniert.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+