Zwei Interface im selben Netz

Marco

Well-Known Member
Hallo,

ich habe meinem Server nun eine Gigabit Netzwerkkarte gegönnt. Da ich noch nicht vollständig auf diese Karte umsteigen will, wollte ich meine alte 100 MBit Karte zur Sicherheit nebenher laufen lassen.

Die alte Karte hat die Adresse 192.168.0.1 und die neue Karte die Adresse 192.168.0.2. Beide im selben Netz wie man erkennen kann. Leider funktioniert die alte Karte mit der 192.168.0.1 nur dann, wenn ich der neuen Karte keine Adresse zugewiesen habe. Andernfalls kann ich die 192.168.0.1 nicht anpingen, die 192.168.0.2 allerdings schon.

Liegt das daran, dass beide Interface im selber Netz arbeiten? Kann ich mir eigentlich nicht vorstellen!
Nur woran liegt es dann?

Bin etwas ratlos!


Danke für eure Hilfe
 
Dem neuen Interface habe ich übrigens schon ein anderes Netz zugewiesen und hört jetzt auf die 192.168.1.1. Da mein Server als Router fungiert, routed er alle Anfragen die an 192.168.1.1 kommen, über die 192.168.0.1.

Trotzdem würde ich gerne wissen, warum es nicht möglich ist beide Karte im selben Netz zu betreiben. Vhosts habe ich ja schließlich auch mehrere für das selbe Netz konfiguriert!
 
du kannst nicht 2 karten ohne weiteres im selben netz benutzen. Denkansatz: Welches device sollte denn den traffic abwickeln?
 
Why not?

wageck schrieb:
warum darf man das nicht was ist daran das prolem ?
Ist mir auch schleierhaft. Wir benutzen bis zu 4 interfaces im gleichen Subnetz. Man kann ja die services an verschiedene IP's binden. OK bei uns ist auch noch ip multipathing im spiel, aber prinzipiell muß es funktionieren, ob es es schön ist oder nicht, sei mal dahingestellt. Falls es nicht klappt könnte netstat -r vielleicht einen hinweis geben wo's klemmt.

Gruß,

Chris
 
@Marco:
Vielleicht ist der Bridge Modus eine Möglichkeit, beide Karten parallel zu betreiben. Aber da musst Du selber mal testen ob man 1GBit Karte mit 100MBit Karte ohne einbußen verknüpfen kann.
Andererseits sollte es funktionieren, zwei Karten in einem Rechner mit unterschedlicher IP im selben Netz, zeig doch mal deine rc.conf - vielleicht haste nur die Netmask vergessen.
Zuletzt würde ich Dir noch vorschlagen, Dich auf die neue Karte zu verlassen. Viel kann ja nicht passieren?! Dann umgehst Du damit das Problem.

Eric
 
NoMyJob schrieb:
Hä? Ganz sicher geht es hier nicht um WLANs (GBit-Karte!?).

NotMyJob schrieb:
Andere Baustelle.

NotMyJob schrieb:
Andererseits sollte es funktionieren, zwei Karten in einem Rechner mit unterschedlicher IP im selben Netz
Das will ich sehen. Sämtliche mir bekannten FreeBSD-Versionen unterbinden das softwareseitig.

Leute, wenn ihr's nicht glaubt, dann besorgt euch ein Netzwerk-Grundlagenbuch (und lest es!). Dann sollte euch klar werden, warum man man keine zwei Interfaces im gleichen Netz haben kann. Meint ihr etwa, im RFC steht das zum Spaß? Aber laßt doch nicht irgendwelche Vermutungen vom Stapel, wenn ihr keine Ahnung von dem Thema habt.
 
Unter "Bridge Modus" verstehe zumindest ich IEEE 802.11c. Unter Bridging dagegen verstehe ich allgemein das Aufteilen von Netzen in verschiedene Segmente. Aber auch das entspricht nicht dem, was der OP haben wollte.

Übrigens: Sofern ich nichts anderes dazuschreibe, beziehen sich meine Antworten immer auf die spezifische Frage des OPs! Mit "Aber es gibt doch Bridging und IP Multipath" (wirft wer noch Bonding ein?) kann man das Thema natürlich auch totdiskutieren, aber dem OP wird das kaum weiterhelfen.
 
kann das

Leute, wenn ihr's nicht glaubt, dann besorgt euch ein Netzwerk-Grundlagenbuch (und lest es!). Dann sollte euch klar werden, warum man man keine zwei Interfaces im gleichen Netz haben kann. Meint ihr etwa, im RFC steht das zum Spaß? Aber laßt doch nicht irgendwelche Vermutungen vom Stapel, wenn ihr keine Ahnung von dem Thema habt.


bitte jemand etwas ausführen
 
Danke für eure Antworten.

Könnte jemand der sich mit dem Thema gut auskennt, vielleicht kurz und knapp erklären warum das so ist und nicht nur auf die RFC verweisen? ;) Würde mich interessieren, will jetzt aber nicht extra eine Recherche in der RFC anstellen.

Werde es wohl einfach so belassen, dass die neue Netzwerkkarte in einem anderen Subnet läuft. Der Router macht ja den Rest... so können auch Rechner aus meinem "normalen" Netz darauf zugreifen.

Sobald ich wieder mehr Zeit habe, werde ich alle Dienste auf die neue Netzwerkkarte umstellen, bzw. die alte durch die neue Karte ersetzen und dann die Dienste umstellen.

Eine Bridge einzusetzen hatte ich zwar auch schon in Betracht gezogen, da ich letztens zufällig auf das Thema gestoßen bin, kam mir dann allerdings als übertrieben vor, da es sich ja bei mir nur um eine temporäre Lösung handelt und keinen Dauerzustand.
 
Marco schrieb:
Sobald ich wieder mehr Zeit habe, werde ich alle Dienste auf die neue Netzwerkkarte umstellen, bzw. die alte durch die neue Karte ersetzen und dann die Dienste umstellen.

Du könntest auch in der rc.conf mit folgendem Eintrag die neue Karte umbenennen:
#ifconfig_fxp0_name="net0" # Change interface name from fxp0 to net0.

Aber lies vorher genau alle RFC's ob man das darf ;)
 
Ich erinnere das ich unter Windows mehrere Karten im gleichen Netz verwendet habe. Man kann dedicated servern auf Quake Basis (wie z.B. Half-Life) anweisen auf welcher IP sie lauschen sollten. So hatte jeder dedicated Server seine eigene Netzwerkkarte. Ich verstehe nicht warum das unter *BSD Probleme bereitet/bereiten sollte. Damit scheidet FreeBSD wohl als dedicated Server für die nächste LAN-Party aus.
 
mir leuchtet das auch nicht ein warum ein rechner keine 2 IPs im selben netz haben darf ich binzwar noch in der ausbildung aber in netzwerktechnik hab ich ne 2 und kann mir nicht vorstellen warum das nicht gehen soll
 
@marco

man trunk
(falls es das unter FBSD geben sollte - weiß es nicht)

@ diewodaso keinen Plan haben warum man im "Normalfall" keine 2 Karten im selben Subnetz betreibt (es gibt auch Ausnahmen).

IP-Kommunikation beruht auf der halbwegs zuverlässigen Eindeutigkeit von von Quell- und Zieladresse. Schicke ich eine Anfrage an Karte 1, erwarte ich keine Antwort von Karte 2. Noch einfacher: Wenn ich der Dresdner Bank einen Brief schicke, erwarte ich nicht, dass ich eine Antwort von der Sparkasse bekomme.
Viel wichtiger ist aber der Aufbau der Kommunikation mit TCP. Der Handshake wäre nicht möglich, ergo keine Kommunikation.
 
was ist jetzt damit gemeint:

Viel wichtiger ist aber der Aufbau der Kommunikation mit TCP. Der Handshake wäre nicht möglich, ergo keine Kommunikation.

worin besteht da das problem die haben doch beide ne andere mac adresse oder denk ich falsch
 
Ich versteh auch nicht wo das grundlegende Problem sein soll, wenn das Betriebssystem einigermaßen vernünftig damit umgehen würde:

Eine mögliche Beispielkonfiguration wäre:
Man sagt dem NFS/SAMBA/AFS/...-Server, der viel Traffic erzeugt, daß er auf der neuen, schnellen Netzwerkkarte 1 (nennen wir sie eth0) lauschen soll (bzw. deren IP-Adresse).
Den übrigen Serverdiensten erzählt man, daß sie nur auf die zweite, alte Netzwerkkarte (eth1) hören sollen.

Jetzt muß der TCP-Stack des Systems doch nur noch darauf achten, daß die Pakete an der richtigen Stelle das System verlassen. Woran hierbei das Problem sein soll, weiß ich jetzt auch nicht direkt. Wenn die beiden Netzweerkkarten in verschiedenen Netzen liegen geht es ja auch, und der TCP-Stack sollte ja wissen, zu welchem Netzwerkinterface von der Ausenwelt die Verbindung aufgebaut worden ist. Oder?

Etwas diffizieler stell ich es mir vor wenn man von so einem Rechner aus eine Verbindung aufbauen will. Ist es eigentlich möglich, daß die Server festlegen, mit welcher IP sie senden? Denn das sollte wohl nötig sein, falls man einen Serverdienst betreibt, der aktiv verbindungen aufbauen muß.

Für Useranwendungen müßte dann wohl noch ein Loadbalancing Algorithmus existieren, oder einfach (mehr oderr weniger zufällig oder statisch) Auswahl, welches Interface ausgewählt wirden.

Falls das ganze nach allzuviel Humbug klingt, dann erklärt mir bitte, wo mein Denkfehler liegt, da ich von der Materie nicht sooo viel Ahnung hab.

Oder sollten es reine Implementierungsaspekte sein?
 
Sorry aber das hier klingt ziemlich komisch für mich. Was hier natürlich klar ist, ist das man keine 2 Karten mit gleichen IP's haben kann, aber mit unterschiedlichen IP's müsste es gehen. Das nennt sich dann doch Multihomed Hosts. Wollt ihr mir wirklich erzählen das geht dann nur in Subnetzen ? Ich erinnere mich zwar dunkel das ich bei allen bisherigen Solaris Installationen das auch nur in unterschiedlichen Subnetzen gesehen habe, aber das dies eine Systembedingung ist war mir nicht klar.

Was ich mir vorstellen kann ist das RFC das aus Rückwärtskompatibilität zu Anwendungen verbietet die nicht mit mehreren Karten umgehen können. Aber allgemein ????
 
Leute - man kann nun noch wochenlang ueber etwas plaudern, was man nicht glauben will oder einfach nicht wahrhaben will.
Warum nehmt ihr es a) nicht einfach hin oder b) lest Dokumentation zu TCP/IP und vor allem Ethernet? Zwei NICs funktionieren (ohne Weiteres) nicht im selben Subnet. Komme, was da wolle. Auch nicht, wenn jetzt jemand um den Tisch tanzt oder 99 Kerzen anzuendet...

******* ES FUNKTIONIERT NICHT! *******
 
Wie definiert sich denn "funktioniert nicht" ?

Bei mir funktioniert das Ganze einwandfrei.
Ich kann 2 Karten in einem Netz haben und von diesen andere Hosts anpingen.
Wenn ich die Pakete mitschneide, kann ich sehen, das das eine von Karte a
und das andere von Karte b kommt.

Services z.b BIND, ssh und apache lassen sich per ListenAdress an die jeweilige Karte binden. Macht man das nicht sind die Services unter beiden Adressen zu erreichen.

Einzig wie Freebsd entscheidet, welche Karte bei ausgehenden Verbindungen genutzt wird hab ich noch nicht rausgefunden, aber funktionieren tut auch das.

Es mag sein, das das in irgendeiner RFC missbilligt wird(finden konnte ich sie bisher nicht), aber funktionieren tuts.
 
@ Manga: Wie hast Du das hinbekommen? Was hast Du in deiner rc.conf stehen (was ich wahrscheinlich nicht drin stehen habe)??
 
Da steht eigetlich nix besonderes, nur:

ifconfig_rl0="inet 192.168.0.98 netmask 255.255.255.0"
ifconfig_vr0="inet 192.168.0.99 netmask 255.255.255.0"
 
So hatte ich es bei mir nicht anders. Nur bei mir funktionierte dann immer nur die 2. Netzwerkkarte und über die 1. konnte man weder senden noch empfangen.

Hast Du einen Hostname definiert? Vielleicht liegt es bei mir ja daran, dass ich einen Hostname definiert habe und dieser aber nicht beiden Interface zugeordnet werden kann (ist ja auch logisch). Das muss ich mal bei Gelegenheit testen ... also Hostname entfernen.
 
Zurück
Oben