#!/usr/bin/env bash declare -i val=`cat /proc/sys/net/ipv4/ip_forward` LOCK_DIR="$(mktemp -d)" #--------------------------------------- #----------------------------- # Base Function(s) #----------------------------- #--------------------------------------- fatal(){ echo "" if $terminal ; then echo -e " [ \033[31m\033[1mFatal\033[m ] $*" else echo -e " [ Fatal ] $*" fi echo "" if $terminal ; then echo -e " \033[1mScript terminated\033[m.." else echo -e " Script terminated.." fi echo "" rm -rf $LOCK_DIR exit 1 } error (){ echo "" if $terminal ; then echo -e " [ \033[31m\033[1mError\033[m ] $*" else echo " [ Error ] $*" fi echo "" } warn (){ echo "" if $terminal ; then echo -e " [ \033[33m\033[1mWarn\033[m ] $*" else echo " [ Warn ] $*" fi echo "" } info (){ echo "" if $terminal ; then echo -e " [ \033[32m\033[1mInfo\033[m ] $*" else echo " [ Info ] $*" fi echo "" } ok (){ echo "" if $terminal ; then echo -e " [ \033[32m\033[1mOk\033[m ] $*" else echo " [ Ok ] $*" fi echo "" } trim() { local var="$*" var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters echo -n "$var" } #----------------------------- # Check some prerequisites #----------------------------- #--------------------------------------- # - Running in a terminal? # - if [[ -t 1 ]] ; then terminal=true LOGGING=true else terminal=false LOGGING=false fi if $LOGGING ; then echo -e "\n Check if Forwarding ist activated.." echo -e " ===================================" fi if [[ $(cat /proc/sys/net/ipv4/ip_forward) -eq 1 ]]; then if $LOGGING ; then ok "Forwarding is activated." fi else error "Forwarding seems NOT to be activated. Try to activate forwarding nos.." echo 1 > /proc/sys/net/ipv4/ip_forward if [[ $(cat /proc/sys/net/ipv4/ip_forward) -eq 1 ]]; then ok "Forwarding is now activated." else error "Activating Forwarding failed!" exit 1 fi fi VAL=$(cat /proc/sys/net/ipv4/ip_dynaddr) if [[ "$VAL" -eq 0 ]]; then error "ip_dynaddr: DEAKTIVIERT ($VAL). Try to set value to '3'.." echo 3 > /proc/sys/net/ipv4/ip_dynaddr VAL=$(cat /proc/sys/net/ipv4/ip_dynaddr) if [[ "$VAL" -eq 3 ]]; then ok "ip_dynaddr: AKTIV + Verbose Logging ($VAL)" else error "Seting '/proc/sys/net/ipv4/ip_dynaddr' to '3' failed!" exit 1 fi elif [[ "$VAL" -eq 1 ]]; then if $LOGGING ; then ok "ip_dynaddr: AKTIV ($VAL)." fi elif [[ "$VAL" -eq 2 ]]; then if $LOGGING ; then ok "ip_dynaddr: AKTIV + Verbose Logging ($VAL)" fi elif [[ "$VAL" -eq 3 ]]; then if $LOGGING ; then ok "ip_dynaddr: AKTIV + Verbose Logging ($VAL)" fi else error "ip_dynaddr: UNBEKANNTER WERT ($VAL). Try to set value to '3'.." echo 3 > /proc/sys/net/ipv4/ip_dynaddr VAL=$(cat /proc/sys/net/ipv4/ip_dynaddr) if [[ "$VAL" -eq 3 ]]; then ok "ip_dynaddr: AKTIV + Verbose Logging ($VAL)" else error "Seting '/proc/sys/net/ipv4/ip_dynaddr' to '3' failed!" exit 1 fi fi rm -rf $LOCK_DIR exit 0