diff --git a/install_iptables.sh b/install_iptables.sh index b1d1bb9..f57dc19 100644 --- a/install_iptables.sh +++ b/install_iptables.sh @@ -73,7 +73,10 @@ function cont() { read -n 1 YN YN=${YN:-N} case $YN in - [Yy]) return 0 ;; + [Yy]) + echo -e "\n" + return 0 + ;; [Nn]) error "\nExiting." ;; *) error "\nInvalid response.\n" false ;; esac diff --git a/iptables_redirect.sh b/iptables_redirect.sh index 3ad002d..fc7b298 100755 --- a/iptables_redirect.sh +++ b/iptables_redirect.sh @@ -8,7 +8,6 @@ # # Script pro přesměrování portu pro stanici SWS12500 - STATION_IP=[_STATION_IP_] HA=[_HA_] SRC_PORT=[_SRC_PORT_] @@ -22,21 +21,22 @@ GREEN_COLOR='\033[0;32m' GREEN_YELLOW='\033[1;33m' NO_COLOR='\033[0m' - -function info () { echo -e "${GREEN_COLOR}INFO: $1${NO_COLOR}";} -function warn () { echo -e "${GREEN_YELLOW}WARN: $1${NO_COLOR}";} -function error () { echo -e "${RED_COLOR}ERROR: $1${NO_COLOR}"; if [ "$2" != "false" ]; then exit 1;fi; } - -function check () { - echo -n "Checking dependencies: '$1' ... " - if [ -z "$(command -v "$1")" ]; then - error "not installed" $2 - return 1 - fi - info "OK." - return 0 +function info() { echo -e "${GREEN_COLOR}$1${NO_COLOR}"; } +function warn() { echo -e "${GREEN_YELLOW}$1${NO_COLOR}"; } +function error() { + echo -e "${RED_COLOR}$1${NO_COLOR}" + if [ "$2" != "false" ]; then exit 1; fi } +function check() { + echo -n "Checking dependencies: '$1' ... " + if [ -z "$(command -v "$1")" ]; then + error "not installed" $2 + return 1 + fi + info "OK." + return 0 +} echo echo "**************************************************************" @@ -54,22 +54,21 @@ INSTALL_IPTABLES=$? check "apk" false APK_MISSING=$? - if [ $APK_MISSING -eq 1 ] && [ $INSTALL_IPTABLES -eq 1 ]; then - error "Could not install and run iptables.\n'apk' installer is missing and 'iptables' are not installed.\n" + error "Could not install and run iptables.\n'apk' installer is missing and 'iptables' are not installed.\n" fi if [ $INSTALL_IPTABLES -eq 1 ] && [ $APK_MISSING -eq 0 ]; then - declare -a RUNINSTALL=(apk add iptables) - echo -n "Installing 'iptables' ... ${RUNINSTALL[@]} ... " - ${RUNINSTALL[@]} - EXIT_STATUS=$? - if [ $EXIT_STATUS -ne 0 ]; then - warn "apk error code: $EXIT_STATUS" - error "Installation of iptables failed!" - else - info "'iptables' installed successfully." - fi + declare -a RUNINSTALL=(apk add iptables) + echo -n "Installing 'iptables' ... ${RUNINSTALL[@]} ... " + ${RUNINSTALL[@]} + EXIT_STATUS=$? + if [ $EXIT_STATUS -ne 0 ]; then + warn "apk error code: $EXIT_STATUS" + error "Installation of iptables failed!" + else + info "'iptables' installed successfully." + fi fi declare -a RULE=(PREROUTING -t nat -s $STATION_IP -d $HA -p tcp -m tcp --dport $SRC_PORT -j REDIRECT --to-ports $DST_PORT) echo -n "Chceking for existing rule in iptables ... " @@ -77,13 +76,15 @@ $(iptables -C ${RULE[@]} 2>/dev/null) if [ $? -eq 0 ]; then warn "Rule is already present in PREROUTING chain." else + info "not found." echo -n "Inserting iptables rule to PREROUTING chain ... " $(iptables -I ${RULE[@]}) fi EXIT_STATUS=$? if [ $EXIT_STATUS -ne 0 ]; then - warn "iptables error code: ${EXIT_STATUS} " - error "Rule could not be added!" + warn "iptables error code: ${EXIT_STATUS} " + error "Rule could not be added!" fi -info "iptables are set to forward port $SRC_PORT -> $DST_PORT for station's IP: $STATION_IP" \ No newline at end of file +info "OK." +info "iptables are now set to redirect incomming connections from $STATION_IP:Any -> $HA:$SRC_PORT to $HA:$DST_PORT"