Sie können die Methoden zur Überprüfung des Gateway-Status unter Linux / BSD lesen. Es ähnelt dem, was Sie fragen.
Um Ihre Frage genau zu beantworten. Sie haben normalerweise 2 öffentliche IP-Adressen, eine auf eth0 und eine auf eth1.
Sie können ein Skript schreiben, das versucht, das Standard-Gateway von isp1 (auf eth0) zu pingen, und zu eth1 wechseln, wenn der Ping fehlschlägt. Dies wird jedoch nur umgeschaltet, wenn Ihre Verbindung an Ihrer Seite unterbrochen ist (wie bei einer DSL-Leitung), jedoch nicht aufgrund eines Ausfalls innerhalb des ISP-Netzwerks, da sein Gateway weiterhin pingt.
Also du wahrscheinlich was zu:
1.Ping ISP1 Standard-Gateway
2. Ping www.google.com oder etwas anderes, das zuverlässig ist
3. Überprüfen Sie eth0 mit tcpdump 3 auf Paquet.
Wenn 1 nicht verfügbar ist, sollten Sie das defaut-Gateway in die ISP2-Gateway-IP ändern.
Wenn 1 in Ordnung ist, aber 2 Ko ist, ist es möglicherweise Juste Google, ist möglicherweise ein Ausfall auf der ISP-Seite, versuchen Sie es mit einem anderen bekannten Dienst, yahoo.com, microsoft.com, wenn alle Ko sind, möchten Sie wahrscheinlich zu ISP2 wechseln. Sie können hier 3 verwenden, um zu sehen, ob Sie noch ein Paket aus dem Internet erhalten.
Abhängig von Ihrer Distribution haben Sie sicherlich irgendwo in / etc ein ifup / ifdown-Skript, das aufgerufen wird, wenn eine Schnittstelle auf und ab geht. Dies kann auch zum Umschalten des Gateways verwendet werden. Sie werden nur aufgerufen, wenn Sie die Ethernet-Verbindung verloren haben.