⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _updown.posix.in

📁 This a good VPN source
💻 IN
字号:
#! /bin/sh# default updown script# Copyright (C) 2000, 2001  D. Hugh Redelmeier, Henry Spencer# # This program is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License as published by the# Free Software Foundation; either version 2 of the License, or (at your# option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.# # This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License# for more details.## RCSID $Id: _updown.posix.in,v 1.2 2003/10/28 21:36:17 dhr Exp $# CAUTION:  Installing a new version of FreeS/WAN will install a new# copy of this script, wiping out any custom changes you make.  If# you need changes, make a copy of this under another name, and customize# that, and use the (left/right)updown parameters in ipsec.conf to make# FreeS/WAN use yours instead of this default one.# For explanation of how this is invoked, see ipsec_pluto(8) man page# check interface versioncase "$PLUTO_VERSION" in1.[0])	# Older Pluto?!?  Play it safe, script may be using new features.	echo "$0: obsolete interface version \`$PLUTO_VERSION'," >&2	echo "$0: 	called by obsolete Pluto?" >&2	exit 2	;;1.*)	;;*)	echo "$0: unknown interface version \`$PLUTO_VERSION'" >&2	exit 2	;;esac# check parameter(s)case "$1:$*" in':')			# no parameters	;;ipfwadm:ipfwadm)	# due to (left/right)firewall; for default script only	;;custom:*)		# custom parameters (see above CAUTION comment)	;;*)	echo "$0: unknown parameters \`$*'" >&2	exit 2	;;esac# utility functions for route manipulation# Meddling with this stuff should not be necessary and requires great care.uproute() {	doroute add}downroute() {	doroute del}doroute() {	parms="-net $PLUTO_PEER_CLIENT_NET netmask $PLUTO_PEER_CLIENT_MASK"	parms2="dev $PLUTO_INTERFACE gw $PLUTO_NEXT_HOP"	case "$PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK" in	"0.0.0.0/0.0.0.0")		# horrible kludge for obscure routing bug with opportunistic		it="route $1 -net 0.0.0.0 netmask 128.0.0.0 $parms2 &&			route $1 -net 128.0.0.0 netmask 128.0.0.0 $parms2"		;;	*)	it="route $1 $parms $parms2"		;;	esac	eval $it	st=$?	if test $st -ne 0	then		# route has already given its own cryptic message		echo "$0: \`$it' failed" >&2		if test " $1 $st" = " add 7"		then			# another totally undocumented interface -- 7 and			# "SIOCADDRT: Network is unreachable" means that			# the gateway isn't reachable.			echo "$0: (incorrect or missing nexthop setting??)" >&2		fi	fi	return $st}# the big choicecase "$PLUTO_VERB:$1" inprepare-host:*|prepare-client:*)	# delete possibly-existing route (preliminary to adding a route)	case "$PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK" in	"0.0.0.0/0.0.0.0")		# horrible kludge for obscure routing bug with opportunistic		it="route del -net 0.0.0.0 netmask 128.0.0.0 2>&1 ;			route del -net 128.0.0.0 netmask 128.0.0.0 2>&1"		;;	*)		it="route del -net $PLUTO_PEER_CLIENT_NET \					netmask $PLUTO_PEER_CLIENT_MASK 2>&1"		;;	esac	oops="`eval $it`"	status="$?"	if test " $oops" = " " -a " $status" != " 0"	then		oops="silent error, exit status $status"	fi	case "$oops" in	'SIOCDELRT: No such process'*)		# This is what route (currently -- not documented!) gives		# for "could not find such a route".		oops=		status=0		;;	esac	if test " $oops" != " " -o " $status" != " 0"	then		echo "$0: \`$it' failed ($oops)" >&2	fi	exit $status	;;route-host:*|route-client:*)	# connection to me or my client subnet being routed	uproute	;;unroute-host:*|unroute-client:*)	# connection to me or my client subnet being unrouted	downroute	;;up-host:*)	# connection to me coming up	# If you are doing a custom version, firewall commands go here.	;;down-host:*)	# connection to me going down	# If you are doing a custom version, firewall commands go here.	;;up-client:)	# connection to my client subnet coming up	# If you are doing a custom version, firewall commands go here.	;;down-client:)	# connection to my client subnet going down	# If you are doing a custom version, firewall commands go here.	;;up-client:ipfwadm)	# connection to client subnet, with (left/right)firewall=yes, coming up	# This is used only by the default updown script, not by your custom	# ones, so do not mess with it; see CAUTION comment up at top.	ipfwadm -F -i accept -b -S $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK \		-D $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK	;;down-client:ipfwadm)	# connection to client subnet, with (left/right)firewall=yes, going down	# This is used only by the default updown script, not by your custom	# ones, so do not mess with it; see CAUTION comment up at top.	ipfwadm -F -d accept -b -S $PLUTO_MY_CLIENT_NET/$PLUTO_MY_CLIENT_MASK \		-D $PLUTO_PEER_CLIENT_NET/$PLUTO_PEER_CLIENT_MASK	;;*)	echo "$0: unknown verb \`$PLUTO_VERB' or parameter \`$1'" >&2	exit 1	;;esac

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -