181 lines
3.3 KiB
Bash
Executable File
181 lines
3.3 KiB
Bash
Executable File
#!/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
|