#!/bin/sh # log="logger -t p1client-down[$$]" . /lib/functions.sh . /etc/racoon/functions.sh if [ -z "$SPLIT_INCLUDE_CIDR" ]; then $log "Connection without server-pushed routing is not supported" exit 1 fi $log "Shutting down tunnel to server $REMOTE_ADDR" $log "Closing tunnel(-s) to $SPLIT_INCLUDE_CIDR through $INTERNAL_ADDR4" config_load racoon config_get confIntZone racoon int_zone lan config_get confExtZone racoon ext_zone wan manage_fw del $confIntZone $confExtZone "$INTERNAL_ADDR4 $SPLIT_INCLUDE_CIDR" data=$(get_zoneiflist $confIntZone) if [ -n "$data" ]; then for item in $data ; do network_get_subnet locnet $item if [ -n "$locnet" ]; then manage_sa del "$locnet" "$SPLIT_INCLUDE_CIDR" $REMOTE_ADDR $INTERNAL_ADDR4 else $log "Can not find subnet on interface $item" fi done else $log "Can not find subnets in zone $confIntZone" fi get_fieldval data dev "$(/usr/sbin/ip route get $REMOTE_ADDR)" ip address del $INTERNAL_ADDR4/32 dev $data # EOF /etc/racoon/p1client-down