From dfaf992fa762a2c6aa018a3b078b3d861846ea90 Mon Sep 17 00:00:00 2001 From: Zeno Zeng Date: Sun, 21 Sep 2014 23:59:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E7=BD=91=E9=9D=99=E6=80=81=E8=B7=AF?= =?UTF-8?q?=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vpn.sh | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/vpn.sh b/vpn.sh index 47300b3..849485e 100755 --- a/vpn.sh +++ b/vpn.sh @@ -23,15 +23,19 @@ set_up_routes() { - IP=$(ip route show 0/0 | cut -d " " -f 3) + ip=$(ip route show 0/0 | cut -d " " -f 3) - case "$IP" in + gateway=$(ip route get 10.10.0.21 | grep via | awk '{print $3}') + + case "$ip" in 10.189.*) ;; 10.171.*) ;; *) - # 内网静态路由 TODO + # 内网静态路由 + ip route delete 10.0.0.0/8 > /dev/null + ip route add 10.0.0.0/8 via $gateway ;; esac @@ -52,7 +56,17 @@ set_up_routes() { # todo nexthop } +disconnect() { + users=$("${BASEDIR}/user.sh" getall) + for username in $users; do + echo "Logout: ${username}" + "${BASEDIR}/xl2tpd.sh" disconnect $username + done + set_up_routes +} + connect() { + disconnect users=$("${BASEDIR}/user.sh" getall) for username in $users; do password=$("${BASEDIR}/user.sh" getpwd $username) @@ -62,14 +76,6 @@ connect() { set_up_routes } -disconnect() { - users=$("${BASEDIR}/user.sh" getall) - for username in $users; do - echo "Logout: ${username}" - "${BASEDIR}/xl2tpd.sh" disconnect $username - done - set_up_routes -} #####################################