summaryrefslogtreecommitdiff
path: root/files/common/sbin
diff options
context:
space:
mode:
authorKatze Miau <miaukatzemiau@priveasy.de>2011-12-05 20:30:51 (GMT)
committerKatze Miau <miaukatzemiau@priveasy.de>2011-12-05 20:30:51 (GMT)
commit3b28d2f5795888afd77e9eff77ff7df0279ab67c (patch)
tree6efcfa51a625a8e6afbac201fa32ee74d109efd0 /files/common/sbin
parent98f5ca0708c0084cb03a8a1b6ebb3db19272225e (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-xfiles/common/sbin/test_connectivity27
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
contact: Jan Huwald // Impressum