55 lines
2.0 KiB
Bash
55 lines
2.0 KiB
Bash
#!/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 |