Você menciona o CentOS, mas não uma versão específica.
CentOS 6
No CentOS 6, seu firewall pode ser parecido com isso em /etc/sysconfig/iptables
:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:INTERNAL - [0:0]
:INTERNAL_allow - [0:0]
:LOGGING - [0:0]
#LOGGING Chain
-A LOGGING -p tcp -m limit --limit 2/min -j LOG --log-prefix "iptables DROP: " --log-level 4
#INPUT Chain
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INTERNAL
-A INPUT -j LOGGING
-A INPUT -j REJECT --reject-with icmp-host-prohibited
#INTERNAL Chain to define networks (only networks that match continue to INTERNAL_allow)
-A INTERNAL -s 192.168.10.0/24 -g INTERNAL_allow
-A INTERNAL -s 10.9.8.0/24 -g INTERNAL_allow
#INTERNAL_allow Chain to define allowed ports on those networks
-A INTERNAL_allow -p icmp -j ACCEPT
#open a single port using tcp module
-A INTERNAL_allow -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#open multiple ports using multiport module
-A INTERNAL_allow -p tcp -m state --state NEW -m multiport --dport 21,3306 -j ACCEPT
Veja também:
-
man iptables
paramultiport
etcp
modules, bem como-g
parameter.
CentOS 7
Você provavelmente poderia usar zonas no firewalld. Eu não sou muito experiente com isso.