Hallo zusammen, ich möchte aus einem Linux-Daemon UDP-Pakete über mehrere LTE-Router an eine öffentliche IP-Adresse versenden. Es soll eine Art 'bonding' der LTE-Provider erreicht werden, allerdings nur für die von meinem Programm gesendeten UDP-Pakete. Die LTE-Router (keine Surfsticks) sollen über Ethernet mit dem Linux-Rechner verbunden werden. Um nicht in das grundsätzliche Routing des Linux-Rechners einzugreifen (das soll nämlich mit einem Standard-Gateway für den 'normalen' Traffic bestehen bleiben) habe ich geplant, die UDP-Pakete über einen RAW-Socket zu versenden. So habe ich die Kontrolle über die MAC-Adressen des Datenpaketes. Ist es richtig daß ich so über die Ziel-MAC-Adresse dann bestimmen kann welcher LTE-Router im lokalen Netzwerk das Paket zur Weiterleitung ins Internet bekommt? Die IP-Adresse wäre die immer gleiche Adresse des Rechners im Internet, der alle diese Pakete bekommen soll. Also ein 'manuelles' Routing, welches den Weg über das Standard-Gateway umgeht. Kann von Euch jemand abschätzen, ob das klappen könnte? Herzlichen Dank + Grüße, brt
brt schrieb: > Hallo zusammen, > > ich möchte aus einem Linux-Daemon UDP-Pakete über mehrere LTE-Router an > eine öffentliche IP-Adresse versenden. Es soll eine Art 'bonding' der > LTE-Provider erreicht werden, allerdings nur für die von meinem Programm > gesendeten UDP-Pakete. Die LTE-Router (keine Surfsticks) sollen über > Ethernet mit dem Linux-Rechner verbunden werden. > > Um nicht in das grundsätzliche Routing des Linux-Rechners einzugreifen > (das soll nämlich mit einem Standard-Gateway für den 'normalen' Traffic > bestehen bleiben) Kannst du nicht einen eigenen Eintrag in der Routing-Tabelle für diese eine spezielle IP machen? > habe ich geplant, die UDP-Pakete über einen RAW-Socket > zu versenden. So habe ich die Kontrolle über die MAC-Adressen des > Datenpaketes. Nein. Was du dafür brauchst, sind Packet-Sockets. Raw-Sockets geben dir Zugriff auf den IP-Header, aber nicht den MAC-Header. Du musst aber dann einen eigenen IP-Stack implementieren.
Wie sieht deine Netzwerkkonfiguration aus? (Ein einfaches zusammenstecken verschiedner Router dürfte in einem Chaos enden... )
brt schrieb: > Hallo zusammen, > > ich möchte aus einem Linux-Daemon UDP-Pakete über mehrere LTE-Router an > eine öffentliche IP-Adresse versenden. Es soll eine Art 'bonding' der > LTE-Provider erreicht werden, allerdings nur für die von meinem Programm > gesendeten UDP-Pakete. Die LTE-Router (keine Surfsticks) sollen über > Ethernet mit dem Linux-Rechner verbunden werden. > > Also ein 'manuelles' Routing, welches den Weg über das Standard-Gateway > umgeht. Mit "ip route" und "ip rule" geht das unter Linux. Ist nicht weiter schwer und gehört seit Ewigkeiten zu den Bordmitteln.
Rolf M. schrieb: > Kannst du nicht einen eigenen Eintrag in der Routing-Tabelle für diese > eine spezielle IP machen? So wie ich das verstanden habe, möchte er seine Ziel-IP im Internet über mehrere Wege gleichzeitig ansprechen um die Leitungskapazität mehrerer LTE-Verbindungen zu bündeln. Dann kommt er mit einem Eintrag für die Ziel-IP natürlich nicht weiter, denn der ginge ja nur für eine Route. Was man aber einfach machen könnte, wäre dem Quellrechner mehrere IPs in seinem LAN zu verpassen, für jeden Routing-Weg eine. Jetzt verwendest Du eine Policy-Route um alles was von Quell-IP 1 kommt über diesen Router zu schicken, alles was von Quell-IP 2 kommt über einen anderen etc. Das Standardgateway bleibt davon unberührt. Jetzt kannst Du die UDP-Pakete ganz normal erzeugen wie jetzt auch schon, Du musst einfach nur eine bestimmte Quell-IP setzen.
Hallo zusammen, herzlichen Dank für die Antworten! Das ist großartig! "policy based routing" ist definitv was ich brauche. Danke Männer!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.