diff --git a/setFirewall.sh b/setFirewall.sh new file mode 100644 index 0000000..9a81673 --- /dev/null +++ b/setFirewall.sh @@ -0,0 +1,55 @@ +#!/bin/bash +setFirewall() { + res=`which firewall-cmd 2>/dev/null` + if [[ $? -eq 0 ]]; then + systemctl status firewalld > /dev/null 2>&1 + if [[ $? -eq 0 ]];then + firewall-cmd --permanent --add-service=http + firewall-cmd --permanent --add-service=https + if [[ "$PORT" != "443" ]]; then + firewall-cmd --permanent --add-port=${PORT}/tcp + firewall-cmd --permanent --add-port=${PORT}/udp + fi + firewall-cmd --reload + else + nl=`iptables -nL | nl | grep FORWARD | awk '{print $1}'` + if [[ "$nl" != "3" ]]; then + iptables -I INPUT -p tcp --dport 80 -j ACCEPT + iptables -I INPUT -p tcp --dport 443 -j ACCEPT + if [[ "$PORT" != "443" ]]; then + iptables -I INPUT -p tcp --dport ${PORT} -j ACCEPT + iptables -I INPUT -p udp --dport ${PORT} -j ACCEPT + fi + fi + fi + else + res=`which iptables 2>/dev/null` + if [[ $? -eq 0 ]]; then + nl=`iptables -nL | nl | grep FORWARD | awk '{print $1}'` + if [[ "$nl" != "3" ]]; then + iptables -I INPUT -p tcp --dport 80 -j ACCEPT + iptables -I INPUT -p tcp --dport 443 -j ACCEPT + if [[ "$PORT" != "443" ]]; then + iptables -I INPUT -p tcp --dport ${PORT} -j ACCEPT + iptables -I INPUT -p udp --dport ${PORT} -j ACCEPT + fi + fi + else + res=`which ufw 2>/dev/null` + if [[ $? -eq 0 ]]; then + res=`ufw status | grep -i inactive` + if [[ "$res" = "" ]]; then + ufw allow http/tcp + ufw allow https/tcp + if [[ "$PORT" != "443" ]]; then + ufw allow ${PORT}/tcp + ufw allow ${PORT}/udp + fi + fi + fi + fi + fi +} + + +setFirewall \ No newline at end of file