diff options
author | Katze Miau <miaukatzemiau@priveasy.de> | 2011-12-05 20:30:51 (GMT) |
---|---|---|
committer | Katze Miau <miaukatzemiau@priveasy.de> | 2011-12-05 20:30:51 (GMT) |
commit | 3b28d2f5795888afd77e9eff77ff7df0279ab67c (patch) | |
tree | 6efcfa51a625a8e6afbac201fa32ee74d109efd0 /files/common/sbin | |
parent | 98f5ca0708c0084cb03a8a1b6ebb3db19272225e (diff) |
add sbin/test_connectivity
`test_connectivity <internet|vpn>` returns true iff. one of several
probe hosts can be reached over the given interface.
Diffstat (limited to 'files/common/sbin')
-rwxr-xr-x | files/common/sbin/test_connectivity | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/files/common/sbin/test_connectivity b/files/common/sbin/test_connectivity new file mode 100755 index 0000000..b6681f8 --- /dev/null +++ b/files/common/sbin/test_connectivity @@ -0,0 +1,27 @@ +#!/bin/sh + +TestHosts="4.2.2.4 8.8.8.8" +PingTrials=2 + +pingtest () { + # TODO: replace with something parallel + for i in $(seq 1 $PingTrials); do + for h in $2; do + ping -c 1 -w 5 -I $1 $h &>/dev/null + if [ $? -eq 0 ]; then + exit 0; + fi + done + done +} + +case "$1" in + internet) + pingtest eth1 $TestHosts + ;; + vpn) + pingtest tun0 $TestHosts + ;; +esac + +exit 1 |