IPTABLES_SERVICE_NAME_4="iptables" IPTABLES_SERVICE_NAME_6="ip6tables" IPTABLES_BIN_PATH="/sbin" rule_template() { echo "INPUT -p udp --sport 161 --dport $1 -j ACCEPT" } add_rules_iptables() { # $1 - iptables(ip6tables) # $2 - port "${IPTABLES_BIN_PATH}/$1" "-I" `rule_template $2` } delete_rules_iptables() { # $1 - iptables(ip6tables) # $2 - port "${IPTABLES_BIN_PATH}/$1" "-D" `rule_template $2` } save_rules_iptables() { service "$1"-save > "$2" } change_rules_fedora() { local ACTION=$1 # delete or add local NAME=$2 # iptables(iptables6) restart service local PORT=$3 # add or delete new rules to ip(6)tables # first, delete old rules # in order to avoid repeated rules delete_rules_iptables "$NAME" "$PORT" if [ "$ACTION" = "add" ] ; then add_rules_iptables "$NAME" "$PORT" fi # save all rules to configfile service "$NAME" save } plug_hifw_fedora() { log_message "delete_rules_throught_Fedora_RH" change_rules_fedora "delete" "$IPTABLES_SERVICE_NAME_4" "$1" change_rules_fedora "delete" "$IPTABLES_SERVICE_NAME_6" "$1" } make_hifw_fedora() { # mhifw - make hole in firewall for Fedora and RH distr # add rules to iptables, then save new rules in /etc/systocfig/ip(6)tables change_rules_fedora "add" "$IPTABLES_SERVICE_NAME_4" "$1" local RESULT="$?" change_rules_fedora "add" "$IPTABLES_SERVICE_NAME_6" "$1" return $RESULT }