• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Resolved plesk firewall rules do not show up in iptables -L

PeterKi

Regular Pleskian
I have blocked some spammer IPs using a custom rule and run the activation script.
At first I added 2 IPs and checked with IPtables -L
Everything was as expected
Then I added another 3 addresses and checked that the activation script lists the appropriate drop lines.
After running the activation script the plesk GUI shows the banned IPs correctly (see attached screenshot)
But if I do an iptables -l or ip6tables -L I do only see 3 of my blocked addresses.
iptables -L | grep DROP.*[0-9].*anywhere
DROP udp -- 149.154.100.84 anywhere
DROP udp -- 178.159.36.58 anywhere
DROP udp -- 185.234.219.30 anywhere
DROP tcp -- 149.154.100.84 anywhere
DROP tcp -- 178.159.36.58 anywhere
DROP tcp -- 185.234.219.30 anywhere

How can I fix the issue?
 

Attachments

  • 2018-10-01 09_47_57-Plesk Onyx 17.8.11.jpg
    2018-10-01 09_47_57-Plesk Onyx 17.8.11.jpg
    27 KB · Views: 8
Last edited:
I found that I did not check the output properly.
2 of the IP addresses in question did resolve to a name thus they did not show up in the iptables -L as IP adresses but as DNS records.
Sorry, for raising an issue which in fact an error by me.
Nevertheless I did find a bug in the version checking part of the firewall script /opt/psa/var/modules/firewall/firewall-active.sh
The line: iptables_version=`/sbin/iptables --version | awk -F '.' '{print $2$3}'`
does return the value 60 on version 1.6.0
Thus the version check if [ $iptables_version -gt 420 ] does the comparison [60 -gt 420 ] which of course leads to unwanted behavior.
The else part does the job too but results in an unnecessary longer run time of the script.
Version checking is not an easy task and it is implemented too optimistic.
May be it is easier to just check if the -w option is available by something like man iptables | grep -- --wait
 
Last edited:
Back
Top