eth0 und eth1 default umschalten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

eth0 und eth1 default umschalten

Beitrag von Spike1986 » 12.08.2013 19:29:34

Ich habe zwei Netzte einmal DSL 16.000 mit 192.168.10.0 als Netz eth1
und einmal VDSL 50.000 mit 192.168.178.0 als Netz eth0

Momentan habe ich eth0 als Standard drin. Jetzt laufen paar Script die eine Email versenden. Gibt es eine Möglichkeit ein Script zu schreiben das in Cron läuft und prüft ob auf eth0 ein ping auf z.b.: google.de funktioniert und wenn nicht, eth1 auf Standard gesetzt wird. Damit meine Scripte weiter funktionieren. Und danach wenn es umgeschalten worden ist eine Email versendet wird das eth0 derzeit off ist oder so.

Wo sollte ich als erstens ansetzten?

Edit: Momentan ist es so wenn eth0 (VDSL) weg ist geht keine Internetverbindung mehr. Wird nicht automatisch auf eth1 (DSL) umgestellt. Gibt es dafür ein Befehl?

netstat -rn
Kernel-IP-Routentabelle
Ziel Router Genmask Flags MSS Fenster irtt Iface
0.0.0.0 192.168.178.1 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.178.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Automatisch eth0 auf eth1 umschalten

Beitrag von Cae » 12.08.2013 20:01:14

Code: Alles auswählen

gw1=10.0.1.1
gw2=10.0.2.1

while sleep 15; do
	ping -c 1 nic.de >/dev/null 2>&1 && continue;

	# ping failed, replace route
	case "$(ip route list | awk '/^default/{print$3}')" in
	"$gw1")
		use="$gw2";
		ip route replace default via "$gw2";
		;;
	"$gw2")
		use="$gw2";
		ip route replace default via "$gw1";
		;;
	esac

	if ping -c 1 nic.de >/dev/null 2>&1; then
		echo "gw switched over to $use" | mail -s 'gw switchover' admin@pampa
	else
		: # damn, didn't help. Try something else
	fi
done
Oder so.

Gruss Cae

--Edit: Dummy hinzugefuegt, verhindert die Fehlermeldung im Beitrag unter diesem.
--Edit#2: iptables rou ... via nimmt Host-IPs ohne CIDR-Suffix
Zuletzt geändert von Cae am 14.08.2013 19:45:35, insgesamt 2-mal geändert.
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

Re: eth0 und eth1 default umschalten

Beitrag von Spike1986 » 12.08.2013 20:07:49

Danke. Habe das mal in eine ..sh kopiert. erhalte die Meldung Syntax error: "fi" unexpected

/usr/sbin/nic_pruefen: Zeile 25: Syntaxfehler beim unerwarteten Wort `fi'
/usr/sbin/nic_pruefen: Zeile 25: ` fi'

Benutzeravatar
4A4B
Beiträge: 981
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: eth0 und eth1 default umschalten

Beitrag von 4A4B » 12.08.2013 20:17:16

Du musst hier noch irgendeinen Befehl ausführen:

Code: Alles auswählen

   else
      # damn, didn't help. Try something else
... oder den else Abschnitt weglassen

Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

Re: eth0 und eth1 default umschalten

Beitrag von Spike1986 » 12.08.2013 20:26:08

Wer lesen kann ist klar im vorteil.

Hab das gerade getestet aber die neue Route wird nicht angelegt. Liegt es daran das ich für eth1 eine rt2 tabel angelegt habe?

erzich
Beiträge: 16
Registriert: 29.07.2013 18:24:18

Re: eth0 und eth1 default umschalten

Beitrag von erzich » 13.08.2013 22:42:22

Vielleicht kannst Du etwas wie das hier testen,

Code: Alles auswählen

ip route add default scope global nexthop via 192.168.178.1 dev eth0 weight 1 nexthop via 192.168.10.1 dev eth1 weight 1
Ich weiß aber nicht wie das reagiert wenn man ein Kabel rauszieht, sollte gehen. Wenn beides über ein interface geht ein
virtuelles zusätzlich einrichten.

Spike1986
Beiträge: 153
Registriert: 25.01.2012 20:16:47

Re: eth0 und eth1 default umschalten

Beitrag von Spike1986 » 14.08.2013 01:02:27

Habe es nach dem Tipp von Cae hinbekommen. Habe bei gw1 und gw2 den Zusatz /24 weggelassen und siehe da es klappt. eth0 ist weg und wird automatisch auf eth1 geschalten

Danke auf jedenfall für eure Hilfe.

Antworten