Gleichzeitige Verwendung von zwei ISP-Verbindungen zur Erhöhung der Stabilität in Linux

740
Daniyal

Ich habe zwei Internetverbindungen von zwei verschiedenen ISP. ADSL auf eth0 und 4G auf wlan0. Gibt es eine Möglichkeit, dass bei Ausfall eines ISP der andere automatisch ohne physischen Router und durch Host OS (Ubuntu 18.04) übernommen wird?

1
Siehe [this] (https://unix.stackexchange.com/questions/125114/ using-wifi-port-as-redundant-link). xenoid vor 5 Jahren 2
@xenoid: Ich habe ernsthafte Zweifel, dass Bonding möglicherweise mit zwei verschiedenen vorgelagerten ISPs zusammenarbeiten könnte. grawity vor 5 Jahren 2
Wie werden Sie feststellen, wenn ein "ISP ausfällt"? Ping-Sonden in regelmäßigen Abständen? Informationen zum Router? Wählen Sie eine Methode aus, implementieren Sie sie, schreiben Sie ein Skript, um Routen zu aktualisieren, wenn sich der Status ändert. Entschuldigung, AFAIK ist kein Standard. dirkt vor 5 Jahren 0
@grawity Für viele Anwendungen mit Soft-Verbindungen wäre dies (Surfen im Internet, Mail ..). Natürlich würde eine lange HTTP-Übertragung unterbrochen. xenoid vor 5 Jahren 1
Welcher Router? Normalerweise wird dies nicht vom PC unabhängig vom Betriebssystem, sondern vom Router erledigt. Viele High-End-SOHO-Router und die meisten kommerziellen Router können dies problemlos und automatisch erledigen, da dies eine übliche Anwendung ist. acejavelin vor 5 Jahren 0
[Lastausgleich mit mehreren ISPs, zwei Routern und Firewall] (https://networkengineering.stackexchange.com/q/19721/16289), [Mehrere ISP-Link-Aggregation] (https://superuser.com/q/848001/241386) ) phuclv vor 5 Jahren 0
@Tim_Stewart Wie Sie bereits in Ihrer Lösung bemerkt haben, muss der Computer als Router (Pfsense) bezeichnet werden, da Phuclv-Hinweise, Router-Link-Redundanz und Lastausgleich Fragen sind, die hier bereits gestellt und beantwortet wurden. music2myear vor 5 Jahren 0
Was bringt dich dazu das zu sagen? Eine der vorgeschlagenen Antworten ist eine SU-Antwort. music2myear vor 5 Jahren 0
@ Tim_Stewart sicher, irgendein Vorschlag? Ich habe gerade 'ohne physischen Router und von Host OS' hinzugefügt Daniyal vor 5 Jahren 0
@ Tim_Stewart Auch ich habe das Skript so geändert, wie ich es will: https://gist.github.com/Daniyal-Javani/6ea632dbbbb744f0e4f6dd0004b0351e Daniyal vor 5 Jahren 1
nett! Vielen Dank für den Link. Tim_Stewart vor 5 Jahren 0

1 Antwort auf die Frage

2
Tim_Stewart

Ich habe nie persönlich versucht, dies vom Host-Betriebssystem aus zu tun. Aber nach einigem Hin und Her entschied ich mich, im Internet herumzuschauen, um zu sehen, ob ich finden könnte, wonach Sie suchen.

Ich habe ein Beispielskript für Gateway-Failover bei gist.github.com gefunden, das vom Benutzer "Apsu" erstellt wurde. Sie können das Bash-Skript hier herunterladen .

Sie müssen dies an Ihre spezifische Konfiguration anpassen, Ihre Schnittstellennamen, Gateway-Adressen hinzufügen und Sie sollten sich gut fühlen.

Skript für das Host-Betriebssystem:

#!/bin/bash  # Set defaults if not provided by environment CHECK_DELAY=$ CHECK_IP=$ PRIMARY_IF=$ PRIMARY_GW=$ BACKUP_IF=$ BACKUP_GW=$  # Compare arg with current default gateway interface for route to healthcheck IP gateway_if() { [[ "$1" = "$(ip r g "$CHECK_IP" | sed -rn 's/^.*dev ([^ ]*).*$/\1/p')" ]] }  # Cycle healthcheck continuously with specified delay while sleep "$CHECK_DELAY" do # If healthcheck succeeds from primary interface if ping -I "$PRIMARY_IF" -c1 "$CHECK_IP" &>/dev/null then # Are we using the backup? if gateway_if "$BACKUP_IF" then # Switch to primary ip r d default via "$BACKUP_GW" dev "$BACKUP_IF" ip r a default via "$PRIMARY_GW" dev "$PRIMARY_IF" fi else # Are we using the primary? if gateway_if "$PRIMARY_IF" then # Switch to backup ip r d default via "$PRIMARY_GW" dev "$PRIMARY_IF" ip r a default via "$BACKUP_GW" dev "$BACKUP_IF" fi fi done 

Mit Netzwerkhardware:

Die Verwendung eines Routers für diese Funktion bietet im Vergleich zum einfachen Failover des Host-Betriebssystems erhebliche Vorteile. Was sofort einfällt, ist die gleichzeitige Nutzung der Bandbreite beider Verbindungen. (Vollständige Nutzung beider ISP-Verbindungen)

Sie können PFsense / OpenSense als Dual-WAN-Router verwenden. (Die meiste alte PC-Hardware wird funktionieren.) Ich glaube, DD-WRT-unterstützte Router sind auch in der Lage, WAN-Failover mit einigen Optimierungen durchzuführen. Oder Sie könnten mit einer sofort einsatzbereiten Lösung wie Sophos oder Netgear prosafe gehen. Ich bin sicher, es gibt noch andere. Die meisten Standardlösungen sind jedoch teurer als die, die Privatanwender dafür zahlen möchten. Mit einem Dual-WAN-Router-Setup können Sie Ihre Internet-Bandbreite erhöhen. Sie können den Datenverkehr für Ihre speziellen Anforderungen ausgleichen. Sie können Internetverbindungsredundanz und Failover erhalten.

Grüße,