Problem mit zwei Netzwerkkarten

nossi

Member
Hallo, ich habe das folgende Problem bei dem ich einfach keine Ahnung habe woran das im entferntesten liegen könnte...
Ich bin neu in Sachen BSD - habe quasi NULL erfahrung mit unix / linux / bsd und kann mir daher das verhalten nicht erklären - am ehesten könnte es aber mit diesem Thread zu tun haben:

https://www.bsdforen.de/showthread.php?t=20693
(es soll ja keiner sagen ich hätte die board suche nicht benutzt :ugly:)

Ich habe folgendes Szenario. Ich möchte meinen Rechner als Firewall / Gateway einsetzen.

[Inet] -- [Router] -- [BSD Rechner] -- [Hub] -- [x Andere Rechner]

Im BSD Rechner befinden sich zwei Netzwerkkarten. Die eine ist eine onboard karte vom nforce Chip (nfe0), die andere sitzt im PCI slot und ist ne Realtek Karte (rl0)

Die Einstellungen in meinem Netz sind korrekt - die Im BSD Rechner jedoch nicht...

Beide NICs werden erkannt und ich habe ihnen zwei unterschiedliche adressen zugeweisen.

nfe0: 192.168.1.3, 255.255.255.0
rl0: 192.168.1.4, 255.255.255.0

nfe0 ist mit dem router verbunden (192.168.1.1). Diesen kann ich auch pingen. Ich kann auch ins inet pingen (google oder sonstwas).
AUCH kann ich nfe0 also die 192.168.1.3 pingen. Das eigene interface sollte ja erreichbar sein.

Ein Rechner HINTER dem hub kann nun leider die 192.168.1.4 nicht pingen, genauso kann ich nichts was über das interface rl0 erreichbar sein sollte pingen, genau sowenig das interface selbst.

Wenn ich per ifconfig <nic> up / down explizit eines an und eines abschalte, dann kann ich jeweils alles dahinter pingen.Ich kann also ENTWEDER nfe0 ODER rl0 pingen aber nie beide gleichzeitig.

Wieso kann ich nicht beide interfaces gleichzeitig up haben so dass sie funktionieren?
Es könnte natürlich an den routen liegen. Muss denn über route dann jeweils eine route zum eigenen interface angegeben werden? Das ergibt aber in meinen augen keinen sinn...

Es wäre super wenn jemand ne idee hat. vllt ist auch mein ansatz von vorne herein falsch...

thx

nossi
 
Wenn du zwei interfaces hast solltest du auch adressen aus zwei subnetzen vergeben.
Sonst müsstest du eine Bridge einrichten, was etwas komplizierter ist.

Am besten du gibst dem router und nfe das subnetz 192.168.2.* und dem rest dann weiterhin 192.168.1.*
 
Wenn du zwei interfaces hast solltest du auch adressen aus zwei subnetzen vergeben.
Sonst müsstest du eine Bridge einrichten, was etwas komplizierter ist.

Am besten du gibst dem router und nfe das subnetz 192.168.2.* und dem rest dann weiterhin 192.168.1.*


aha!!! danke für den hinweis, das hat doch tatsächlich die lösung gebracht. Wie muss ich nun die routen einstellen? Welche tools brauche ich da?

Hilfreich wäre auch, wenn du mir den nterschied zum bridging an sich noch einmal erklären könntest - als bridge wird der rechner selbst dann nicht gefunden? warum ist das so kompliziert?
 
ich weiss nicht ob dir das auch bei openbsd hilft, aber hier ist eine ganz einfache pf.conf fuer openbsd:

Code:
en_if="rl0"
en_net="192.168.2.0/24"

inet_if="pppoe0"

scrub in all
scrub out all max-mss 1400

nat on $inet_if from $en_net to any -> ($inet_if)
#rdr on $inet_if proto { tcp, udp } from any to any port 3128 -> 192.168.2.5 port 22

pass in all
pass out all

das rdr was auskommentiert ist ist nur ein beispiel dafuer wie man einen bestimmten port von aussen nach innen legt. auf die art und weise kannst du jetzt eine ssh-verbindung auf port 3128 direkt auf einen rechner hinter deiner firewall machen.
 
Kann es nciht einfach daran liegen, dass in die /etc/rc.conf ein simples
Code:
gateway_enable="YES"
eingefügt werden muss?
Da benötigt man erstmal kein pf. Zwei unbterschiedliche Subnetze bringen ohne den Eintrag auch nichts.
Zumindest nicht bei mir.
 
Kann es nciht einfach daran liegen, dass in die /etc/rc.conf ein simples
Code:
gateway_enable="YES"
eingefügt werden muss?
Da benötigt man erstmal kein pf. Zwei unbterschiedliche Subnetze bringen ohne den Eintrag auch nichts.
Zumindest nicht bei mir.

Danke für den hinweis, aber gateway_enable hab ich schon aktiviert.
aber ich habe das problem gelöst.. es bleibt ein routing problem... und die frage wie ich die käfer aus meinem laptopmonitor bekomme... aber das ist ne andere sache :>
 
Wie hast du es gelöst?
Käfer? Autsch :D

Die Käfer - ka. N kumpel hat mir empfohlen zigarettenrauch reinzublasen... :ugly:

Das eigentliche oben beschriebene problem lag an den subnetzen. Ich habe jede nic in ein anderes netz gehängt, jetzt gehts. Der Router ist im 192.168.1.x er netz, der rest einschließlich hosts und der "hintern" vom gateway im 192.168.2.x er netz.

Ich bastle gerade am routing. Kann sein dass ich mich nur zu doof anstelle. vllt. poste ich dann heute nacht noch was :)
 
Also auf dem Freebsd die defaultroute auf den router setzen und bei den pcs hinter dem freebsd die defaultroute auf den bsdrechner setzen (also auf die "zu den Rechnern" zeigende IP).

Und hol die Käfer da mal lieber raus bevor die sich vermehren und du nichts mehr siehst ;)
 
Sind das die Getreidethripse (aka "Gewittertierchen")? Die kriegst Du nicht mehr raus.

Wiki-Artikel dazu

Die Dinger sehen in etwa so wie ein Komma aufm Bildschirm aus. Die sterben auch ziemlich schnell, wenn sie nicht in ihrer natürlichen Umgebung sind.
 
Der Rechner, der als gateway fungieren soll enthält die folgenden einstellungen:

rc.conf:

ifconfig_nfe0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.2.1 netmask 255.255.255.0"
gateway_enable="YES"
defaultrouter="192.168.1.1"

Trotzdem kann ich von einem an rl0 angeschlossenen rechner den 1.1 er nicht pingen... WTF!??!?
 
Zuletzt bearbeitet:
ja.
aber der 192.168.1.1 hat bestimmt eine andere default route als den 192.168.1.3, richtig?

er haengt im 192.168.1.x subnetz. das ping kommt vom 192.168.2.x.
er kriegt das ping zwar, aber in dem moment wo er es zurueckschicken moechte laeuft das in die falsche richtung.

erst wenn du nat (network address translation) in der firewall einschaltest werden die 192.168.2.x pakete in ein 192.168.1.x verpackt. das packet laeuft zum 192.168.1.1, der schickt es dann zurueck an den 192.168.1.3, der packt es aus, und schickt es an den 192.168.2.x.
 
Oder Du trägst im Router eine Route ein. Du sagst ihm, wie er das Netz 192.168.2.0 erreichen kann, nämlich über das Gateway 192.168.1.3.
 
ja.
aber der 192.168.1.1 hat bestimmt eine andere default route als den 192.168.1.3, richtig?

er haengt im 192.168.1.x subnetz. das ping kommt vom 192.168.2.x.
er kriegt das ping zwar, aber in dem moment wo er es zurueckschicken moechte laeuft das in die falsche richtung.

erst wenn du nat (network address translation) in der firewall einschaltest werden die 192.168.2.x pakete in ein 192.168.1.x verpackt. das packet laeuft zum 192.168.1.1, der schickt es dann zurueck an den 192.168.1.3, der packt es aus, und schickt es an den 192.168.2.x.

Ja, super!! du hast recht - in sachen netzwerke hab ich null erfahrung und kenne nur die theorie aus meinem studium (für die praxis mache ich das ganze ja gerade...)

Das ist rein logisch - der 1.1er kann den 1.3er erreichen, wenn ich ihn explizit pinge, aber er hat keine route ins 2er netz...

wenn ich die route adde, dann ist doch theoretisch aber das 2er netz von aussen erreichbar, oder? Hilft es dann was wenn ich das mit NAT verpacke? Dadurch bleibt das netz doch dann quasi unsichtbar oder habe ich da was falsch verstanden?
 
Von aussen erreichbar ist nur die öffentliche IP des Routers. Private Adressbereiche werden ausserhalb nicht geroutet. Ping mich doch mal an: 10.10.10.1
 
äh den witz versteh ich nicht... :confused:

Naja - mein fundiertes halbwissen bringt mich doch weiter als ich dachte.
Nat anschalten war ganz easy, 5 zeilen aus der BSD doku und es läuft :ugly:

Sehr geil: ich hatte meinen hauptrechner vom netz getrennt um ihn als host hinter der neuen FW zu verwenden. statt dessen habe ich mit dem laptop im wlan gesurft (über den 1.1er :> )
Dabei hatte ich auf dem rechner hinter der fw outlook angelassen. auf einmal seh ich ne mail und hab nen freudensprung gemacht weil ging ohne dass ich irgendwas großartig angestellt hätte...

ich muss sagen ich bin ein Windows Kind durch und durch - ich habe keine 500 € teure grafikkarte nur um mir ne schwarz weisse kommandozeile anzeigen zu lassen, aber ich muss sagen dass BSD schon echt geil ist... Danke für euer aller hilfe schonmal :D
 
Ja, super!! du hast recht - in sachen netzwerke hab ich null erfahrung und kenne nur die theorie aus meinem studium (für die praxis mache ich das ganze ja gerade...)

Das ist rein logisch - der 1.1er kann den 1.3er erreichen, wenn ich ihn explizit pinge, aber er hat keine route ins 2er netz...

wenn ich die route adde, dann ist doch theoretisch aber das 2er netz von aussen erreichbar, oder? Hilft es dann was wenn ich das mit NAT verpacke? Dadurch bleibt das netz doch dann quasi unsichtbar oder habe ich da was falsch verstanden?

Der "äußere" Router macht ja bereits "NAT" - und wenn du kein Portforwarding oder so einrichtest, sollte das auch keine Probleme geben.
 
Der "äußere" Router macht ja bereits "NAT" - und wenn du kein Portforwarding oder so einrichtest, sollte das auch keine Probleme geben.

Ja ich habe es verstanden und gelöst, danke trotzdem.

Ich habe mittlerweile die Firewall mit IPFW, IPF und PF aufgesetzt. Ging sehr gut und es war für eine Präsentation.

@eric: Ach lol, jetzt check ichs auch, ich hab nur nicht richtig hingeguckt... Ist ne private ip nach RFC1918... Ich hab da nicht das auge für, ich hab mich immer nur mit mini-kinder-überraschungs-netzen ala 192.168.0.0/24 beschäftigt :D
 
solltest du die drei vergleichen, oder warum hast du drei paketfilter verwendet?

Ja, quasi. Das war meine semesterleistung. Ich muss noch IP Tables unter Linux machen. Und da hab ich keine Lust drauf...

Heute schreibe ich Linuxprogrammierung Klausur... Ich mag linux nicht, nur mal so nebenbei... BSD ist irgendwie schöner und ich finde auch logischer. Rein vom Gefühl...
 
Zurück
Oben