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

📄 lib.config

📁 sharewall is very good
💻 CONFIG
📖 第 1 页 / 共 4 页
字号:
	    ;;	esac    fi}## Determine the value for a parameter that defaults to No#added_param_value_no() # $1 = Parameter Name, $2 = Parameter value{    local val    val="$2"    if [ -z "$val" ]; then	echo ""    else case $val in	[Yy][Ee][Ss])	    echo "Yes"	    ;;	[Nn][Oo])	    echo ""	    ;;	*)	    startup_error "Invalid value ($val) for $1"	    ;;	esac    fi}## Initialize this program#do_initialize() {    # Run all utility programs using the C locale    #    # Thanks to Vincent Planchenault for this tip #    export LC_ALL=C    # Make sure umask is sane    umask 077    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin    #    # Establish termination function    #    TERMINATOR=fatal_error    #    # Clear all configuration variables (shorewall.conf)    #    STARTUP_ENABLED=    #    #VERBOSE is inherited -- VERBOSITY is only used in the CIs    #        #    # Logging    #    LOGFILE=    LOGFORMAT=    LOGTAGONLY=    LOGRATE=    LOGBURST=    LOGALLNEW=    BLACKLIST_LOGLEVEL=    MACLIST_LOG_LEVEL=    TCP_FLAGS_LOG_LEVEL=    RFC1918_LOG_LEVEL=    SMURF_LOG_LEVEL=    LOG_MARTIANS=    #    # Location of files    #    IPTABLES=    #PATH is inherited    SHOREWALL_SHELL=    SUBSYSLOCK=    MODULESDIR=    #CONFIG_PATH is inherited    RESTOREFILE=    IPSECFILE=    LOCKFILE=    #    # Default Actions/Macros    #    DROP_DEFAULT=    REJECT_DEFAULT=    ACCEPT_DEFAULT=    QUEUE_DEFAULT=    #    # Firewall Options    #    IP_FORWARDING=    ADD_IP_ALIASES=    ADD_SNAT_ALIASES=    RETAIN_ALIASES=    TC_ENABLED=    TC_EXPERT=    CLEAR_TC=    MARK_IN_FORWARD_CHAIN=    CLAMPMSS=    ROUTE_FILTER=    DETECT_DNAT_IPADDRS=    MUTEX_TIMEOUT=    ADMINISABSENTMINDED=    BLACKLISTNEWONLY=    DELAYBLACKLISTLOAD=    MODULE_SUFFIX=    DISABLE_IPV6=    BRIDGING=    DYNAMIC_ZONES=    PKTTYPE=    RFC1918_STRICT=    MACLIST_TABLE=    MACLIST_TTL=    SAVE_IPSETS=    MAPOLDACTIONS=    FASTACCEPT=    IMPLICIT_CONTINUE=    HIGH_ROUTE_MARKS=    USE_ACTIONS=    OPTIMIZE=    EXPORTPARAMS=    KEEP_TC_RULES=    DELETE_THEN_ADD=    DONT_LOAD=    #    # Packet Disposition    #    MACLIST_DISPOSITION=    TCP_FLAGS_DISPOSITION=    BLACKLIST_DISPOSITION=    #    # Other Globals    #    VERSION=    FW=    USEPKTYPE=    LOGLIMIT=    LOGPARMS=    OUTPUT=    ALL_INTERFACES=    ROUTEMARK_INTERFACES=    PROVIDERS=    CRITICALHOSTS=    EXCLUSION_SEQ=1    STOPPING=    HAVE_MUTEX=    ALIASES_TO_ADD=    SECTION=ESTABLISHED    SECTIONS=    ALL_PORTS=    ACTIONS=    USEDACTIONS=    DEFAULT_MACROS=    COMMENT=    VERSION_FILE=    LOGRULENUMBERS=    ORIGINAL_POLICY_MATCH=    ORIGINAL_MANGLE_ENABLED=    ensure_config_path    VERSION_FILE=$SHAREDIR/version    [ -f $VERSION_FILE ] && VERSION=$(cat $VERSION_FILE)    [ -d /usr/share/shorewall-perl ] && set -a;         run_user_exit params    set +a    config=$(find_file shorewall.conf)    if [ -f $config ]; then	if [ -r $config ]; then	    progress_message "Processing $config..."	    . $config	else	    startup_error "Cannot read $config (Hint: Are you root?)"	fi    else	startup_error "$config does not exist!"    fi    #    # Restore CONFIG_PATH if the shorewall.conf file cleared it    #    ensure_config_path    TMP_DIR=$(mktempdir)    [ -n "$TMP_DIR" ] && chmod 700 $TMP_DIR || \       startup_error "Can't create a temporary directory"    case $PROGRAM in	compiler)	    trap "[ -n "$OUTPUT" ] && rm -f $OUTPUT;rm -rf $TMP_DIR; exit 2" 1 2 3 4 5 6 9	    ;;	firewall)	    trap "[ -n "$RESTOREBASE" ] && rm -f $RESTOREBASE;rm -rf $TMP_DIR; exit 2" 1 2 3 4 5 6 9	    ;;    esac    #    # Determine the capabilities of the installed iptables/netfilter    # We load the kernel modules here to accurately determine    # capabilities when module autoloading isn't enabled.    #    PKTTYPE=$(added_param_value_no PKTTYPE $PKTTYPE)    [ -n "$DONT_LOAD" ] && DONT_LOAD="$(echo $DONT_LOAD | sed 's/,/ /g' )"    [ -n "${MODULE_SUFFIX:=o gz ko o.gz ko.gz}" ]    if [ -z "$EXPORT" -a $(id -u) -eq 0 ]; then	load_kernel_modules Yes	if [ -z "$IPTABLES" ]; then	    IPTABLES=$(mywhich iptables 2> /dev/null)	    [ -z "$IPTABLES" ] && startup_error "Can't find iptables executable"	else	    [ -e "$IPTABLES" ] || startup_error "\$IPTABLES=$IPTABLES does not exist or is not executable"	fi	f=$(find_file capabilities)	[ -f $f ] && . $f || determine_capabilities    else	f=$(find_file capabilities)	[ -f $f ] && . $f || startup_error "The -e flag requires a capabilities file"    fi    if [ -n "$CAPVERSION" ]; then	[ $CAPVERSION -ge $SHOREWALL_CAPVERSION ] || error_message "WARNING: $f is out of date -- it does not contain all of the capabilities defined by Shorewall version $VERSION"    else	error_message "WARNING: $f may be not contain all of the capabilities defined by Shorewall version $VERSION"    fi    ORIGINAL_POLICY_MATCH=$POLICY_MATCH    ORIGINAL_MANGLE_ENABLED=$MANGLE_ENABLED        ADD_IP_ALIASES="$(added_param_value_yes ADD_IP_ALIASES $ADD_IP_ALIASES)"    if [ -n "${LOGRATE}${LOGBURST}" ]; then	LOGLIMIT="--match limit"	[ -n "$LOGRATE" ]  && LOGLIMIT="$LOGLIMIT --limit $LOGRATE"	[ -n "$LOGBURST" ] && LOGLIMIT="$LOGLIMIT --limit-burst $LOGBURST"    fi    if [ -n "$IP_FORWARDING" ]; then	case "$IP_FORWARDING" in	    On|Off|Yes|No|Keep|on|off|yes|no|keep|ON|OFF|YES|NO|KEEP)		;;	    *)		startup_error "Invalid value ($IP_FORWARDING) for IP_FORWARDING"		;;	esac    else	IP_FORWARDING=On    fi    if [ -n "$ROUTE_FILTER" ]; then	case "$ROUTE_FILTER" in	    Yes|yes|YES)		ROUTE_FILTER=yes		;;	    No|no|NO)		ROUTE_FILTER=no		;;	    Keep|keep|KEEP)		ROUTE_FILTER=		;;	    *)		startup_error "Invalid value ($ROUTE_FILTER) for ROUTE_FILTER"		;;	esac    else	ROUTE_FILTER=    fi    if [ -n "$LOG_MARTIANS" ]; then	case "$LOG_MARTIANS" in	    Yes|yes|YES)		LOG_MARTIANS=yes		;;	    No|no|NO)		LOG_MARTIANS=no		;;	    Keep|keep|KEEP)		LOG_MARTIANS=		;;	    *)		startup_error "Invalid value ($LOG_MARTIANS) for LOG_MARTIANS"		;;	esac    else	LOG_MARTIANS=yes    fi    [ -n "${BLACKLIST_DISPOSITION:=DROP}" ]    case "$CLAMPMSS" in	[0-9]*)	    ;;	*)	    CLAMPMSS=$(added_param_value_no CLAMPMSS $CLAMPMSS)	    ;;    esac    ADD_SNAT_ALIASES=$(added_param_value_no ADD_SNAT_ALIASES $ADD_SNAT_ALIASES)    DETECT_DNAT_IPADDRS=$(added_param_value_no DETECT_DNAT_IPADDRS $DETECT_DNAT_IPADDRS)    MACLIST_TARGET=reject    if [ -n "$MACLIST_DISPOSITION" ] ; then	case $MACLIST_DISPOSITION in	    REJECT)		;;	    DROP)		MACLIST_TARGET=DROP		;;	    ACCEPT)		MACLIST_TARGET=RETURN		;;	    *)		startup_error "Invalid value ($MACLIST_DISPOSITION) for MACLIST_DISPOSITION"		;;	esac    else	MACLIST_DISPOSITION=REJECT    fi    if [ -n "$TCP_FLAGS_DISPOSITION" ] ; then	case $TCP_FLAGS_DISPOSITION in	    REJECT|ACCEPT|DROP)		;;	    *)		startup_error "Invalid value ($TCP_FLAGS_DISPOSITION) for TCP_FLAGS_DISPOSITION"		;;	esac    else	TCP_FLAGS_DISPOSITION=DROP    fi    [ -n "${RFC1918_LOG_LEVEL:=info}" ]    MARK_IN_FORWARD_CHAIN=$(added_param_value_no MARK_IN_FORWARD_CHAIN $MARK_IN_FORWARD_CHAIN)    [ -n "$MARK_IN_FORWARD_CHAIN" ] && MARKING_CHAIN=tcfor || MARKING_CHAIN=tcpre    CLEAR_TC=$(added_param_value_yes CLEAR_TC $CLEAR_TC)    if [ -n "$LOGFORMAT" ]; then	if [ -n "$(echo $LOGFORMAT | grep '%d')" ]; then	    LOGRULENUMBERS=Yes	    temp=$(printf "$LOGFORMAT" fooxx2barxx 1 ACCEPT 2> /dev/null)	    if [ $? -ne 0 ]; then		startup_error "Invalid LOGFORMAT string: \"$LOGFORMAT\""	    fi	else	    temp=$(printf "$LOGFORMAT" fooxx2barxx ACCEPT 2> /dev/null)	    if [ $? -ne 0 ]; then		startup_error "Invalid LOGFORMAT string: \"$LOGFORMAT\""	    fi	fi	[ ${#temp} -le 29 ] || startup_error "LOGFORMAT string is longer than 29 characters: \"$LOGFORMAT\""	MAXZONENAMELENGTH=$(( 5 + ( ( 29 - ${#temp}) / 2) ))	MAXZONENAMELENGTH=${MAXZONENAMELENGTH%.*}    else	LOGFORMAT="Shorewall:%s:%s:"	MAXZONENAMELENGTH=5    fi    ADMINISABSENTMINDED=$(added_param_value_no ADMINISABSENTMINDED $ADMINISABSENTMINDED)    BLACKLISTNEWONLY=$(added_param_value_no BLACKLISTNEWONLY $BLACKLISTNEWONLY)    DISABLE_IPV6=$(added_param_value_no DISABLE_IPV6 $DISABLE_IPV6)    BRIDGING=$(added_param_value_no BRIDGING $BRIDGING)    DYNAMIC_ZONES=$(added_param_value_no DYNAMIC_ZONES $DYNAMIC_ZONES)    if [ -n "$DYNAMIC_ZONES" ]; then	[ -n "$EXPORT" ] && startup_error "DYNAMIC_ZONES=Yes is incompatible with the -e option"	lib_avail dynamiczones || error_message "WARNING: DYNAMIC_ZONES=Yes requires the Shorewall dynamiczones library (${SHAREDIR}/lib.dynamiczones) which is not installed"    fi    STARTUP_ENABLED=$(added_param_value_yes STARTUP_ENABLED $STARTUP_ENABLED)    RETAIN_ALIASES=$(added_param_value_no RETAIN_ALIASES $RETAIN_ALIASES)    [ -n "${ADD_IP_ALIASES}${ADD_SNAT_ALIASES}" ] || RETAIN_ALIASES=    DELAYBLACKLISTLOAD=$(added_param_value_no DELAYBLACKLISTLOAD $DELAYBLACKLISTLOAD)    LOGTAGONLY=$(added_param_value_no LOGTAGONLY $LOGTAGONLY)    RFC1918_STRICT=$(added_param_value_no RFC1918_STRICT $RFC1918_STRICT)    SAVE_IPSETS=$(added_param_value_no SAVE_IPSETS $SAVE_IPSETS)    MAPOLDACTIONS=$(added_param_value_yes MAPOLDACTIONS $MAPOLDACTIONS)    FASTACCEPT=$(added_param_value_no FASTACCEPT $FASTACCEPT)    [ -n "$FASTACCEPT" -a -z "$BLACKLISTNEWONLY" ] && error_message "WARNING: BLACKLISTNEWONLY=No does not work with FASTACCEPT=Yes"    IMPLICIT_CONTINUE=$(added_param_value_no IMPLICIT_CONTINUE $IMPLICIT_CONTINUE)    HIGH_ROUTE_MARKS=$(added_param_value_no HIGH_ROUTE_MARKS $HIGH_ROUTE_MARKS)    TC_EXPERT=$(added_param_value_no TC_EXPERT $TC_EXPERT)    USE_ACTIONS=$(added_param_value_yes USE_ACTIONS $USE_ACTIONS)    EXPORTPARAMS=$(added_param_value_yes EXPORTPARAMS $EXPORTPARAMS)    KEEP_TC_RULES=$(added_param_value_no KEEP_TC_RULES $KEEP_TC_RULES)    DELETE_THEN_ADD=$(added_param_value_yes DELETE_THEN_ADD $DELETE_THEN_ADD)    if [ -n "$MANGLE_ENABLED" ] ; then	case $MANGLE_ENABLED in	    Yes|yes)		;;	    No|no)		MANGLE_ENABLED=		;;	    *)		startup_error "Invalid value ($MANGLE_ENABLED) for MANGLE_ENABLED";		;;	esac    fi    [ "$PROGRAM" = compiler ] && [ -n "$USE_ACTIONS" ] && lib_load actions "USE_ACTIONS=Yes"    [ -n "$XCONNMARK_MATCH" ] || XCONNMARK=    [ -n "$XMARK" ] || XCONNMARK=    [ -n "$HIGH_ROUTE_MARKS" -a -z "$XCONNMARK" ] && startup_error "HIGH_ROUTE_MARKS=Yes requires extended CONNMARK target, extended CONNMARK match support and extended MARK support"    case ${MACLIST_TABLE:=filter} in	filter)	    ;;	mangle)	    [ $MACLIST_DISPOSITION = reject ] && startup_error "MACLIST_DISPOSITION=REJECT is not allowed with MACLIST_TABLE=mangle"	    ;;	*)	    startup_error "Invalid value ($MACLIST_TABLE) for MACLIST_TABLE option"	    ;;    esac   TC_SCRIPT=   if [ -n "$TC_ENABLED" ] ; then	case "$TC_ENABLED" in	    [Yy][Ee][Ss])		TC_ENABLED=Yes		TC_SCRIPT=$(find_file tcstart)		[ -f $TC_SCRIPT ] || startup_error "Unable to find tcstart file"		;;	    [Ii][Nn][Tt][Ee][Rr][Nn][Aa][Ll])	        TC_ENABLED=Internal		;;	    [Nn][Oo])		TC_ENABLED=		;;	esac    else	TC_ENABLED=Yes    fi    if [ -n "$TC_ENABLED" ];then	[ -n "$ORIGINAL_MANGLE_ENABLED" ] || startup_error "Traffic Shaping requires mangle support in your kernel and iptables"	[ -n "$MANGLE_ENABLED" ]          || startup_error "Traffic Shaping requires MANGLE_ENABLED=Yes in shorewall.conf"    fi    [ "x${SHOREWALL_DIR}" = "x." ] && SHOREWALL_DIR="$PWD"    [ -n "${RESTOREFILE:=restore}" ]    case "${DROP_DEFAULT:=Drop}" in	None)	    DROP_DEFAULT=none	    ;;    esac    case "${REJECT_DEFAULT:=Reject}" in	None)	    REJECT_DEFAULT=none	    ;;    esac    case "${QUEUE_DEFAULT:=none}" in	None)	    QUEUE_DEFAULT=none	    ;;    esac    case "${ACCEPT_DEFAULT:=none}" in	None)	    ACCEPT_DEFAULT=none	    ;;    esac    case "${OPTIMIZE:=0}" in	0|1)	    ;;	*)	    startup_error "Invalid OPTIMIZE value ($OPTIMIZE)"	    ;;    esac    if [ -n "$LOCKFILE" ]; then	[ -d $(dirname $LOCKFILE) ] || startup_error "LOCKFILE=$LOCKFILE: Directory $(dirname $LOCKFILE) does not exist"    fi    #    # Check out the user's shell    #    [ -n "${SHOREWALL_SHELL:=/bin/sh}" ]    temp=$(decodeaddr 192.168.1.1)    if [ $(encodeaddr $temp) != 192.168.1.1 ]; then	startup_error "Shell $SHOREWALL_SHELL is broken and may not be used with Shorewall"    fi    if [ -z "$KLUDGEFREE" ]; then	rm -f $TMP_DIR/physdev	rm -f $TMP_DIR/iprange    fi    qt mywhich awk && HAVEAWK=Yes || HAVEAWK=    #    # Pre-process all of the standard files    #    # Because 'strip_file()' does shell variable expansion, we must first determine the    # setting of $FW    #    case ${IPSECFILE:=ipsec} in	ipsec)	    [ -n "${FW:=fw}" ]	    strip_file ipsec	    ;;	zones)	    get_firewall_zone	    ;;	*)	    startup_error "Invalid value ($IPSECFILE) for IPSECFILE option"	    ;;    esac    strip_file zones    strip_file routestopped    strip_file interfaces    strip_file hosts    if [ $PROGRAM = compiler ]; then	strip_file_and_lib_load accounting accounting	if [ -n "$USE_ACTIONS" ]; then	    strip_file actions	    strip_file actions.std ${SHAREDIR}/actions.std	fi	    	strip_file blacklist	strip_file ecn	strip_file maclist	strip_file_and_lib_load masq nat	strip_file_and_lib_load nat nat	strip_file_and_lib_load netmap nat	strip_file policy	strip_file_and_lib_load providers providers && strip_file route_rules	strip_file_and_lib_load proxyarp proxyarp	strip_file rfc1918	strip_file routestopped	strip_file rules	if [ "$TC_ENABLED" = Internal ]; then	    strip_file_and_lib_load tcdevices tc	    strip_file_and_lib_load tcclasses tc	fi		strip_file_and_lib_load tcrules tcrules	strip_file tos	strip_file_and_lib_load tunnels tunnels    fi        [ "$IPSECFILE" = zones ] && FW=}

⌨️ 快捷键说明

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