How to manage firewall on Centos7/8 with firewall-cmd
Centos7 is a great server OS. There are bunch of other sites, which describe how to manage firewall rules, here I am just gathering those, that I often use, so I don’t have to google them again.
This also works perfectly for Centos 8 and AlmaLinux 8.
# show firewall state firewall-cmd --state
# list all rules firewall-cmd --list-all
# accept (allow everything) from the network range firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="193.93.253.0/24" accept'
# add specific service for public access firewall-cmd --zone=public --add-service=http firewall-cmd --zone=public --add-service=https # remove specific service for public access firewall-cmd --zone=public --remove-service=cockpit # add port forwarding to local IP (example for port 5432) firewall-cmd --add-forward-port=port=5432:proto=tcp:toport=5432:toaddr=192.168.100.xxx firewall-cmd --add-masquerade # NOTE: - i could not make it work, so I ended setting up HAProxy for this
# save running configuration, so it is maintained after reboot firewall-cmd --runtime-to-permanent