ubuntuusers.de

Internetverbindung über zwei Standard Gateways

Status: Ungelöst | Ubuntu-Version: Server 15.04 (Vivid Vervet)
Antworten |

hellspawny2k

Anmeldungsdatum:
22. Oktober 2015

Beiträge: 4

Hallo Community, ich habe bei mir zu Hause folgende Konstellation und weiss so langsam nicht weiter wie ich es lösen könnte :

Ich wohne auf einem Bauernhof wo ich lediglich eine Internetverbindung mit 384kb habe. Da dies sehr sehr langsam ist, habe ich zusätzlich eine schnelle LTE Verbindung mit einem 30GB Volumen. Das ist auch soweit OK.

Jetzt möchte ich gerne, dass ich bestimmte Webseiten (z.b. die Update Seiten von Apple für die iOS Updates) nur über die 384kb Verbindung erreichen kann.

Ich habe auch einen kleinen Homeserver laufen, der macht mit DNSMASQ bei mir DNS und DHCP. Als Standardgateway ist die LTE Box (192.168.1.1) eingetragen. Wenn ich das Standardgateway auf die Fritzbox (192.168.1.14) ändere geht auch der Verkehr darüber ins Internet.

Mein Ansatz wäre jetzt Policy Based Routing gewesen, dort kann ich aber nur IP-Adressen angeben, oder ? Wenn ich nach den Update Servern von Apple suche, bekomme ich nur die DNS Namen raus. Klar kann ich die auflösen und so die IP's in Erfahrung bringen aber die ändern sich ja schonmal.

Kann mir mal einer einen Denkanstoß geben ?

vielen Dank Carsten

MaxHuber

Avatar von MaxHuber

Anmeldungsdatum:
2. Oktober 2015

Beiträge: 69

Vielleicht wäre es nötig, hier genauer anzugeben, welche Daten von wo übertragen werden.

hellspawny2k

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2015

Beiträge: 4

Hallo und danke für die Rückmeldung,

also ich habe einen iMac als Bürorechner, ein Notebook, ein paar Phones usw. Die hängen alle im selben Netzwerk, entweder über LAN oder über WLAN. Jetzt gehen die iPhones / iPads ja hin und ziehen sich im Hintergrund schonmal die Updates von den Apple Servern, das möchte ich auch gerne beibehalten allerdings sollen diese das über das Gateway 192.168.1.14 machen und nicht über das Gateway 192.168.1.1

Mal bildlich dargestellt :

iMac (192.168.1.101) –> zieht update von (swcdn.apple.com oder swdownload.apple.com oder swquery.apple.com oderswscan.apple.com) und dies soll er über das Gateway 192.168.1.14 machen jeglicher anderer Datenverkehr soll aber über das Gateway 192.168.1.1 laufen

Hilft das weiter ?

Gruß Carsten

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Also du kannst es natürlich mit Ziel-IP-basierten Routing machen, das ist aber, wie du schon erkannt hast, mühsam.

Ich würde vorschlagen du erklärst deine langsame Leitung zum Default-Gateway und nutzt für alle Anwendungen die die andere Leitung nutzen sollen einen lokalen Proxy. Dieser leitet dann alle Anfragen durch die schnelle Leitung. Ich habe das selbst noch nicht gemacht, prinzipiell sollte das aber mit Squid gehen (tcp_outgoing_address in Verbindung mit source-based Routing).

Edit:
1. Voraussetzung ist natürlich, dass die Anwendungen die Verwendung eines Proxies unterstützen.
2. Welches Gateway du als Default nimmst ist ja letztendlich egal 😉

hellspawny2k

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2015

Beiträge: 4

Hallo,

die Idee mit dem Squid hatte ich in der Tat auch schon (wie gesagt ich muss Datenvolumen sparen 😉 ), das er so etwas allerdings auch kann wusste ich nicht. Das schau ich mir mal genauer an.

Ich melde mich wenn ich weiter gekommen bin.

vielen Dank schonmal

Carsten

hellspawny2k

(Themenstarter)

Anmeldungsdatum:
22. Oktober 2015

Beiträge: 4

Hallo nochmal,

ich stehe jetzt doch etwas auf dem Schlauch. Squid ist installiert, eingerichtet und mein Webverkehr geht auch brav über den Proxy.

Wie bekomme ich denn jetzt meine tcp_outgoing_address regeln vernünftig hin ?

mein Gedanke war so :

1
2
3
4
5
6
acl normal_data src 192.168.1.1 # jeglicher Verkehr über die LTE BOX
acl updates src 192.168.1.14 # Updates nur über die Fritzbox
tcp_outgoing_address 17.253.57.204 update # swcdn.apple.com nach fritzbox
tcp_outgoing_address 17.164.1.10 update # swdownload.apple.com nach fritzbox 
# nicht erreichbar derzeit #tcp_outgoing_address 17.* update # swquery.apple.com nach fritzbox
tcp_outgoing_address 17.164.1.22 update # swscan.apple.com nach fritzbox

jetzt habe ich allerdings folgende probleme :

1) wie sage ich dem proxy jetzt er soll normal_data für alles andere nutzen ??? nicht mit einem "*", oder reicht es wenn ich die acl weglasse ?

2) würde ich natürlich lieber dns namen verwenden, falls sich die IP's mal ändern... wie löse ich das denn ?

Für Ideen bin ich echt dankbar.. ich beiss mir da ein bissel die zähne drann aus.

Gruß Carsten

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

Du hast da einen Denkfehler drin. Die Option "tcp_outgoing_address" hat nichts mit irgendwelchen Zielen zu tun, sondern ist die Adresse, über die Squid den Traffic ausgehender Verbindungen leitet.

Dein Mac hat beispielsweise die IP 192.168.1.101. Über diese IP ist er ansprechbar, und über diese IP initiiert er auch ausgehende Verbindungen. Wenn du ihm jetzt zusätzlich noch die IP 192.168.1.102 verpasst, ist er zwar über beide IPs ansprechbar, aber per Default sendet er nur mit der IP .101 (respektive die erste konfigurierte Adresse auf dem Interface). Squid kann man daher explizit sagen: Verwende die Adresse 102 für ausgehende Verbindungen.

Bis hier hin würde das dann so aussehen:

   [normaler Traffic]   192.168.1.101   =>   Default-Gateway
   [ Proxy-Traffic  ]   192.168.1.102   =>   Default-Gateway

Damit hast du also erstmal nur ein Unterscheidungsmerkmal zwischen deinem Update-Traffic und dem normalen Traffic geschaffen.

Im letzten Schritt muss du dem System noch sagen, dass der Traffic der von .102 ausgeht ein anderes Gateway nehmen soll. Wie das unter Linux geht ist in dem verlinkten Artikel zu source-based Routing erklärt (sogar mit deinem Anwendungsfall 😉), unter OSX sollte es aber ähnlich funktionieren, das es ja auch ein unixoides System ist.

Antworten |