NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Internet connection redundancy (DSL and 4GLTE)



On Wed, 8 Jun 2022, BERTRAND Joël wrote:

	Your script runs, but SEC is only a backup and I have to switch back to
PRI as soon as possible (PRI has a fixed IP address).


That's possible too. Just fill in the is_up_primary()--telnet: nc -t,
https: curl -S, snmp, whatever--to query the status of the primary
router's outbound connection and return true or false:

```
#!/bin/sh

PRI=192.168.15.19
SEC=192.168.15.20
R=$PRI
H=8.8.8.8
T=10

is_up_primary() {
	# if curl -S http://$PRI/... | grep -q ...
	# then	true
	# else	false
	# fi
	return $((RANDOM % 2))
}
sw_route() {
	local R=$1
	route add default gw $R
	echo switched to $R
}
while :
do	if ! ping -nc1 $H >/dev/null 2>&1
	then	case $R in
		$PRI)	R=$SEC ;;
		$SEC)	R=$PRI ;;
		esac
		sw_route $R
		S=1
	else	case $R in
		$SEC)	if is_up_primary
			then	R=$PRI
				sw_route $R
			fi
			;;
		esac
		S=$T
	fi
	sleep $S
done
```

-RVP


Home | Main Index | Thread Index | Old Index