Con las recientes actualizaciones de Centos trae como novedad el firewall-cmd que es una manera de usar iptables para mi gusto mas simple que las largas lineas que se ponían.
Por default en la instalación viene activado lo cual puedes desactivar o usarlo si quieres.
A continuación veremos comandos mas usados para el uso de firewall-cmd desde la consola de linux en Centos.
Saber si esta corriendo el firewall:
[root@files ~]# firewall-cmd --state
not running
Arrancar el servicio:
[root@files ~]# systemctl start firewalld.service
Revisamos
[root@files ~]# firewall-cmd --state
running
Existen varias zonas en el firewall por las cuales se subdivide, para revisar cual es la default ponemos:
[root@files ~]# firewall-cmd --get-default-zone
public
Para saber cuantas zonas tenemos usamos:
[root@files ~]# firewall-cmd --get-active-zones
public
interfaces: eth0
Las zonas pueden ir de la mano con el numero de tarjetas de red que tenemos.
Ahora listaremos las opciones configuradas dentro de nuestro firewall.
[root@files ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Destaca los servicios que tenemos configurados en el firewall.
Para ver las posibles zonas a usar utilizaremos:
[root@files ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work
La zona public es la que tenemos configurada para nuestra tarjeta de red eth0.
Para ver los servicios de una zona en particular.
[root@files ~]# firewall-cmd --zone=home --list-all
home
interfaces:
sources:
services: dhcpv6-client ipp-client mdns samba-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Para ver los servicios de todas las zonas de golpe pondremos:
[root@files ~]# firewall-cmd --list-all-zones
Si se desea cambiar de zona una itnerface tomaremos:
[root@files ~]# firewall-cmd --zone=home --change-interface=eth0
Para ver nuestras zonas activas:
[root@files ~]# firewall-cmd --get-active-zones
public
interfaces: eth0
Si se quisiera dejar configurada la zona dentro de la tarjeta de red tendriamos que modificar el siguiente archivo:
[root@files ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Y en la parte final poner:
ZONE=home
Reiniciar la red y el servicio.
[root@files ~]# systemctl restart network.service
[root@files ~]# systemctl restart firewalld.service
Para seleccionar la zona default:
[root@files ~]# firewall-cmd --set-default-zone=home
Para mostrar los servicios que podemos usar haremos:
[root@files ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https
Para agregar un servicio al firewall es necesario usar el siguiente comando:
[root@files ~]# firewall-cmd --zone=public --add-service=http
success
Si la zona que deseamos es la default entonces no es necesario poner zone (en mi caso).
Listamos los servicios permitidos:
[root@files ~]# firewall-cmd --zone=public --list-services
dhcpv6-client http ssh
Aqui vemos como se agrego el servicio de http, sin embargo ese es para esa sesion, es decir que si se reinicia el server no quedara ese permiso. Para hacerlo permanente hay que usar:
[root@files ~]# firewall-cmd --zone=public --permanent --add-service=http
Para ver los servicios que estan permanentes usamos:
[root@files ~]# firewall-cmd --zone=public --permanent --list-services
Para abrir un puerto con numero usaremos:
[root@files ~]# firewall-cmd --zone=public --add-port=5555/tcp
Haciendo referencia si es tcp o udp, recuerden para hacerlo permanente hay que agregar la opcion --permanent.
Para listar los puertos abiertos:
[root@files ~]# firewall-cmd --list-ports
Para un rango de puertos seria:
[root@files ~]# firewall-cmd --zone=public --add-port=4990-4999/udp
Para que los cambios que hemos hechos queden aplicados debemos hacer:
[root@files ~]# firewall-cmd --reload
Por ultimo en esta guia (hay mucho mas desde luego pero sera en otro tuto) veremos como agregar una zona o zonas para cuando tenemos varias tarjetas de red con diferentes servicios a diferentes redes.
[root@files ~]# firewall-cmd --permanent --new-zone=privateDNS
Verificar que la zona fue agregada:
[root@files ~]# firewall-cmd --permanent --get-zones
Revisar todas las zonas:
[root@files ~]# firewall-cmd --get-zones
Recuerda recargar la zona:
[root@files ~]# firewall-cmd --reload
Si esta zona creada es para otra tarjeta de red recuerda que debes incluirla en el archivo que mencione arriba y poner en la parte de abajo la zona.
Agregar un servicio a la zona creada:
[root@files ~]# firewall-cmd --zone=privateDNS --add-service=dns
Recuerda usar el --permanent si quieres que el cambio se quede.
Por ultimo para que el firewall arranque por default al iniciar el server hay que poner:
[root@files ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
Como plus les pongo como agregar y quitar servicios:
[root@files ~]# firewall-cmd --zone=public --add-port=12345/tcp --permanent
[root@files ~]# firewall-cmd --zone=public --remove-port=12345/tcp --permanent
Portforwarding (forwardiar un puerto)
[root@files ~]# firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=12345
Activar el MASQUARADE
[root@files ~]# firewall-cmd --zone=public --add-masquerade
Hacer forward de un puerto a otro server otro puerto.
[root@files ~]# firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1
Espero les sirva.
Bibliografia: DigitalOcean y Linode
No hay comentarios:
Publicar un comentario