OPNsense als Router zwischen zwei Netzen

#1

Hallo alle zusammen,

ich hätte da mal ein Problem: vielleicht kann mich jemand in die richtige Richtung stupsen.

Es geht um die INternetanbindung einer Einrichtung.
Dort habe ich derzeit einen Cisco Router der unser Netz nach draußen routet: extern geht es per Glasfaser zum Provider. Also kein DSL oder Unitymedia.

Den Cisco will ich ersetzen, weil er alt ist und Fehler auf beiden Kupferports produziert (int und ext).
An den Kabeln liegt es nicht und an den Switches auch nicht.

Also: OPNsense: aber wie?
Ich habe ein externes Netz:
a.b.c.d
und ein internes Netz
w.x.y.z

Das externe Netz ist das des Betreibers.
Das interne Netz beinhaltet die echten IPs meiner Server: unter denen sie aus dem Internet erreichbar sind.
Das ist also kein NAT, also überhaupt nicht so, wie ich das sonst gewohnt bin.

Wer weiß, wie ich die OPNsense einrichten muß, damit aus dem externen Netz in mein internes geroutet wird, dass die IPs die ich im internen Netz habe, im Internet alle erreichbar sind.

Ich habe mich mal ein wenig eingelesen und denke bisher, dass Outbound NAT wohl das richtige sein könnte:

https://docs.opnsense.org/manual/nat.html

Wenn ich das richtig verstehe, dann werden Pakete von innen nach außen an das externe Gateway weitergeleitet, ohne dass die IP Adresse des Absenders überschrieben wird: das will ich ja erreichen. Ebenso wird ein Paket, das von außen kommt und als Empfänger eine interne IP hat einfach durchgeleitet (nach den outbound NAT Regeln).

In den Outbound NAT Regeln würde ich dann meine Restriktionen formulieren: also eine Liste der erlaubten Ports pro IP Adresse abgeschlossen mit einer Deny all Regel.

Ich habe für das externe Netz meine IP, das Gatway, die Netzmaske und die DNS.
Für das interne habe ich IPs, Gateway, Netzmaske und eben auch die DNS IPs.

Kennst sich jemand aus?

LG

Holger

#2

Hi Holger.
Wie heißt es so schön: “Ich habe zwar auch keine Lösung aber ich bewundere das Problem!” :slight_smile:
Nur für den Notfall: Falls hier niemand antwortet, versuch es mal hier --> https://forum.opnsense.org/index.php?board=6.0

Schönen Gruß,
Michael

#3

Hallo Holger,

wahrscheinlich brauchst du entsprechende SNAT Regeln. Mir sagt der Begriff Outbound NAT so nichts.

Viele Grüße
Thomas

#4

was sind für dich echte IPs? du meinst vermutlich routebare / public IPs (im Gegensatz zu transit-IPs wie in rfc 1918 beschrieben)?

NAT bedeutet network adress translation. Das macht man, wenn man Pakete von transit-IPs ins internet schicken will. Das ist ja in deinem Fall nicht nötig.

Wenn wirklich Pakete für die IPS w.x.y.z über den Provider hereinkommen, brauchst du ein korrektes Routing, mehr nicht.

Kurzer check: w sollte weder 10, 172 noch 192 sein (so grob, steht genau im RFC).

#5

Hallo M,

was sind für dich echte IPs? du meinst vermutlich routebare / public IPs
(im Gegensatz zu transit-IPs wie in rfc 1918
https://tools.ietf.org/html/rfc1918 beschrieben)?

ja: öffentliche IPs.
Ich erreiche derzeit meine Server unter genau diesen IPs.
Genau die sind auch im DNS eingetragen als Ziele der Domains meiner Server.

NAT bedeutet network adress translation. Das macht man, wenn man Pakete
von transit-IPs ins internet schicken will. Das ist ja in deinem Fall
nicht nötig.

Wenn wirklich Pakete für die IPS w.x.y.z über den Provider hereinkommen,
brauchst du ein korrektes Routing, mehr nicht.

… genau das weiß ich ja nicht.
Ich habe ja extern ein anderes Netz: das a.b.c.d Netz des Providers,
welches ebenso ein nichtprivates ist (wie die, die du hier
beschreibst):> Kurzer check: w sollte weder 10, 172 noch 192 sein (so
grob, steht genau

im RFC).

ich weiß also nciht, wie meien w.x.y.z Pakete durch das a.b.c.d Netz des
Providers gehen.
Hat der eine Route auf meinen Router gesetzt, dass alles was in
w.x.y.z/Netmask ist durch sein Netz an die externe IP 8also die in
a.b.c.d liegende) weiterleitet? Ich nehme es an.

Ich hab auch mal einen Begriff wie “EdgeRouter” betreffend meinen Cisco
gehört…

LG

Holger

#6

ja. das ist standard. keine zauberei. internet eben (internet benennt kein computernetz, sondern etwas “zwischen netzen”, ein netz von netzen sozusagen).

beim schreiben merke ich: a.b.c… kann ich nicht. lass uns mal von zwei netzen sprechen: 1.0.0.0/8 mit dem anschluss ans wilde internet und 2.0.0.0/8 bei dir drinnen.

du hast eine IP für den router nach aussen: 1.0.0.1 und sagen wir einen rechner 2.0.0.42 der erreich werden soll.

dafür muss der router in den beiden netzen sein (sonst könnte er nicht “routen”, weil da keine abzweigung ist), geben wir dem ersten interface also die 1.0.0.1 und dem zweiten 2.0.0.1. er hat eine route auf die 2.0.0.0/8 für sein zweites interface. in dem netz 2.0.0.0 finden wir auch 2.0.0.42, der wiederum als router für das internet 2.0.0.1 kennt (entweder als “default”-route oder einzeln) wohin er die rückpakete sendet.

der router 1.0.0.1/2.0.0.1 kann nun auch noch regeln umsetzen den verkehr zu begrenzen, das nennt sich dann firewall :wink:

das sollte es sein.

übrigens: auch in virtuellen environments ist das so.

grosse freude macht beim setup solcher dinge tcpdump/tshark/wireshark um zu schauen was ankommt und was der router damit macht.

#7

Hallo,

beim schreiben merke ich: a.b.c… kann ich nicht. lass uns mal von zwei
netzen sprechen: 1.0.0.0/8 mit dem anschluss ans wilde internet und
2.0.0.0/8 bei dir drinnen.

OK.

du hast eine IP für den router nach aussen: 1.0.0.1

ja: hab ich dem WAN Interface schon zugewiesen: mit Netmask, Gateway im
1.0.0.0 Netz und DNS.

und sagen wir einen
rechner 2.0.0.42 der erreich werden soll.

ja.

dafür muss der router in den beiden netzen sein (sonst könnte er nicht
“routen”, weil da keine abzweigung ist), geben wir dem ersten interface
also die 1.0.0.1

check.

und dem zweiten 2.0.0.1. er hat eine route auf die
2.0.0.0/8 für sein zweites interface.

check.

in dem netz 2.0.0.0 finden wir
auch 2.0.0.42, der wiederum als router für das internet 2.0.0.1 kennt
(entweder als “default”-route oder einzeln) wohin er die rückpakete sendet.

ja: die 2.0.0.1 ist als Gateway im 2.0.0.0 Netz eingetragen (also am
Client (server im inneren Netz)).

der router 1.0.0.1/2.0.0.1 kann nun auch noch regeln umsetzen den
verkehr zu begrenzen, das nennt sich dann firewall :wink:

ja: das ist schon alles klar: aber wie trage ich die Regeln in OPN Sense
ein?
Da sehe ich nur NAT und OutboundNAT und so Zeug.

Und ich verstehe nicht, was auf den Paketen steht, die an meinem Router
“von außen” also durch das 1.0.0.0 Netz ankommen.
Haben die als Destination die 2.0.0.42 (also die öffentliche IP des
inneren Servers?)
Dann gehen die ja mit falscher IP durch das 1.0.0.0 Netz…

Ich glaube da ist meine Schwierigkeit: das weiß ich einfach nicht: was
mein Provider da an meinem Router außen abliefert.

LG

Holger

#8

Etwas OT und keine Antwort auf die Frage aber eine schöne Ergänzung: Im Nachbarforum gab es vor Jahren eine etwas hitzige Diskussion um die begriffliche Abgrenzung zwischen Router und Firewall. Ich fand das ganz interessant: https://administrator.de/forum/unterschied-zwischen-router-firewall-28589.html

#9

also jetzt muss ich mich nackich machen: ich kenne leider OPN Sense nicht… :confused:

ja. das ist das internet. und falsch ist falsch. in einem netz können pakete jegliche IP haben, source wie destination. der rechner der sie reintut muss nur wissen was er machen soll.

es gibt zwei möglichkeiten:

wenn die ziel-IP zum netz gehört, in das der rechner ein interface hat (eine IP hat), dann wirft er das einfach da rein und der rechner mit der IP bekommt sie (ARP ist dein freund, wenn du schauen willst wie das für ethernet funktioniert).

wenn die ziel-IP nicht zum netz gehört, muss die route hergeben, wer router für eine solche IP ist (das ist eine IP im netz in dem der rechner ein interface / eine IP hat). für das paket mit dem ziel 2.0.0.42 hat dein provider 1.0.0.1 eingetragen, denn er weiss, dass der rechner mit 1.0.0.1 wissen sollte wie er zu 2.0.0.0 kommt. der bekommt das ding dann und hat ein interface / eine IP in besagtem netz. dann wird das zu fall 1: wirf es da rein, der rechner ist da ja drin.

linux ist jetzt erstmal kein router und stellt ab, pakete zu befördern. will man linux als router nutzen, schaltet man das ein. der begriff dafür heisst “forward”. hat OPN Sense sowas?

#10

Hallo,

vielen Dank für dein Mitdenken :slight_smile:

Und ich verstehe nicht, was auf den Paketen steht, die an meinem
Router “von außen” also durch das 1.0.0.0 Netz ankommen.
Haben die als Destination die 2.0.0.42 (also die öffentliche IP des
inneren Servers?) Dann gehen die ja mit falscher IP durch das
1.0.0.0 Netz…

ja. das ist das internet. und falsch ist falsch. in einem netz können
pakete jegliche IP haben, source wie destination. der rechner der sie
reintut muss nur wissen was er machen soll.

es gibt zwei möglichkeiten:

wenn die ziel-IP zum netz gehört, in das der rechner ein interface hat
(eine IP hat), dann wirft er das einfach da rein und der rechner mit der
IP bekommt sie (ARP ist dein freund, wenn du schauen willst wie das für
ethernet funktioniert).

wenn die ziel-IP nicht zum netz gehört, muss die route hergeben, wer
router für eine solche IP ist (das ist eine IP im netz in dem der
rechner ein interface / eine IP hat). für das paket mit dem ziel
2.0.0.42 hat dein provider 1.0.0.1 eingetragen, denn er weiss, dass der
rechner mit 1.0.0.1 wissen sollte wie er zu 2.0.0.0 kommt. der bekommt
das ding dann und hat ein interface / eine IP in besagtem netz. dann
wird das zu fall 1: wirf es da rein, der rechner ist da ja drin.

OK. Das habe ich verstanden.
Deren Gatway muss die Route auf meinen Router gesetzt haben für Pakete
mit 2.0.0.0, damit die weitergereicht werden an meinen mit 1.0.0.1 in
des Providers Netz hängenden Router.

linux ist jetzt erstmal kein router und stellt ab, pakete zu befördern.
will man linux als router nutzen, schaltet man das ein. der begriff
dafür heisst “forward”. hat OPN Sense sowas?

… das ist ja jetzt garnicht mein Problem: ich route ja keine Fremden
Pakete, das macht der Provider.
Der sorgt ja dafür, dass die Pakete bei meinem Router ankommen.
Ich wollte nur wissen, wie sie aussehen.
Jetzt weiß ich es: die korrekte IP steht drauf.
Also muss ich mir die OPN Sense Oberfläche nochmal genau anschauen und
vielleicht finde ich ja die Einstellung.
IPs umsetzen muß ich ja nicht :slight_smile:

Und wenn ich es nicht blick, dann frag ich die Profis im OPN Sense
Forum: die kennen die Oberfläche.

VIele Dank für die erhellende Diskussion :slight_smile:

LG

Holger

#11

Hallo Michael,

Etwas OT und keine Antwort auf die Frage aber eine schöne Ergänzung: Im
Nachbarforum gab es vor Jahren eine etwas hitzige Diskussion um die
begriffliche Abgrenzung zwischen Router und Firewall. Ich fand das ganz
interessant:
https://administrator.de/forum/unterschied-zwischen-router-firewall-28589.html

Danke für den Link: ich les das jetzt mal.
Da der Tread als Gelöst gekennzeichnet ist, geht die Diskussion wohl gut
aus :slight_smile: (mal sehen)

LG

Holger

#12

Woher weiss der Provider die IP des Rechners (im Beispiel 1.0.0.1) der das andere Netz kennt (im Beispiel 2.0.0.0/8)?

Woher weiss der Provider welche IP der Router hat?

#13

Hallo,

… denn er weiss, dass der rechner mit 1.0.0.1 wissen sollte …

Woher weiss der Provider die IP des Rechners (im Beispiel 1.0.0.1) der
das andere Netz kennt (im Beispiel 2.0.0.0/8)?

… die Netzwerke hab ich ja vom Provider bekommen.

… Deren Gatway muss die Route auf meinen Router gesetzt haben …

Woher weiss der Provider welche IP der Router hat?

auch die hat er mir genannt :slight_smile:

LG

Holger

#15

na, was ein router und was eine firewall ist muss man nicht diskutieren, denke ich. die rollen sind klar, soweit man sich von marketing-sprech fernhält.

ein router ist auf layer 3 ein gerät, das nach regeln pakete von einem netz in ein anderes netz weitergibt (und hat somit mindestens zwei interfaces). ein router hat 2 oder mehr IPs (ein switch dagegen nicht, da er auf layer 2 arbeitet) in verschiedenen netzen.

eine firewall ist üblicherweise an einen router geknüpft und hat regeln, die weitergabe unter bestimmten bedingungen zu verhindern. eine firewall schaut in die pakete aber durchaus auf höreren layern hinein. und das “höher” kann alles heissen (bis hin zu statistiken zu paketgrößen & häufigkeiten um chat über https von lesen von artikeln zu unterscheiden).

und ja: es gibt in der tat firewalls die an einem switch hängen, also auf layer 2 im selben netz arbeiten.

und: all das kann durchaus virtualisiert sein. in “der cloud” sind all diese komponenten vorhanden aber eben “in software”.

#16

Normalerweise nicht – aber demnach ist OPNSense eine Firewall, die auch Routing-Funktionen hat. Von daher ist auch hier die Grenze “fließend”… und immer gut, wenn die Dinge eindeutig geklärt sind :slight_smile:

#17

wie ich schrieb: eine firewall allein macht keinen sinn, eine firewall ist nur dann funktional, wenn pakete weitergegeben werden (was ein router tut). also ist die grenze nicht fliessend sondern das eine bedingt das andere. oder: jede firewall ist ein router (mit den ausnahmen, wo die firewall auf layer 2 liegt, wo die firewall ein switch ist :wink: ).

#18

Hast du die o.g. Diskussion gelesen?

#19

Ja, aber nicht bis zum Ende. TL;DR

Mir stossen schon Sätze wie “Router = Verbindet verschiedene Subnetze” auf, da konnte ich dann nicht weiterlesen. :wink:

1 Like
#20

Dann ist vermutlich der letzte Beitrag der entscheidende…
[Erstaunlich daran ist doch, dass es eine gewisse Diskrepanz zwischen der (eindeutig definierten) Theorie und der etwas schwammigen Praxis gibt?..]

#21

hm, ich sehe da nichts schwammiges. es ist eher das problem wie mit der physik und der esoterik. beide reden von energie aber meinen sehr unterschiedliche dinge.

die theorie ist da in der rollenverteilung eigentlich eindeutig. das marketing und die umgangssprache eher nicht, aber die anwender davon sind eben auch keine techniker, so wie esoteriker keine physiker sind.

1 Like