GNU/Linux >> Tutoriales Linux >  >> Linux

CentOS/RHEL:Cómo configurar reglas de iptable para permitir puertos FTP 20/21

Las iptables La utilidad controla el código de filtrado de paquetes de red en el kernel de Linux. La función iptables se utiliza para configurar, mantener e inspeccionar las tablas de reglas de filtrado de paquetes IP en el kernel de Linux. Se pueden definir varias tablas diferentes. Cada tabla contiene una serie de cadenas integradas y también puede contener cadenas definidas por el usuario.

En el servidor FTP, las reglas predeterminadas de iptables no están configuradas para permitir el puerto 20/21 para la conexión FTP. Intentar abrir una conexión ftp da como resultado el siguiente error:

# ftp 192.168.10.10
ftp: connect: No route to host
ftp>

Permitir puertos FTP 20/21 en iptables

Inicie sesión en el servidor ftp y siga los pasos que se indican a continuación.

1. Edite el archivo /etc/sysconfig/iptables-config y agregue “ip_conntrack_ftp módulo “” a la sección “IPTABLES_MODULES= “. La entrada debería verse así:

IPTABLES_MODULES="ip_conntrack_ftp"

2. Edite el archivo /etc/sysconfig/iptables y asegúrese de que se agreguen reglas de iptables para el puerto 20/21

# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT                        ## rule related to FTP command (port 21)
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT                        ## rule related to FTP data (port 20)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Nota: El orden de las reglas de iptables es importante.

3. Reinicie el servicio de iptables

# service iptables restart

4. Ejecute el siguiente comando para verificar si los módulos ftp están cargados o no.

# lsmod | grep -i ftp

Salida de ejemplo:

# lsmod | grep -i ftp
nf_conntrack_ftp       12913  0
nf_conntrack           79357  3 nf_conntrack_ftp,nf_conntrack_ipv4,xt_state

5. Ejecute el siguiente comando para verificar si las reglas de iptables relacionadas con el puerto ftp 20 y el puerto 21 están habilitadas o no.

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

6. Verifique si puede ftp desde el cliente al servidor ftp con éxito.


Linux
  1. CentOS / RHEL 7:Cómo instalar y configurar el servidor ftp (vsftpd)

  2. Cómo configurar IPtables para abrir Puertos en CentOS/RHEL

  3. Cómo configurar Rsyslog remoto para aceptar TLS y no TLS en CentOS/RHEL

  4. CentOS / RHEL:cómo hacer que las reglas de iptable persistan en los reinicios

  5. Cómo configurar la función de compatibilidad con Early-kdump en CentOS/RHEL 8

Cómo instalar vsftpd en RHEL 8 / CentOS 8

Cómo configurar la dirección IP en CentOS 7/RHEL 7 y CentOS 6/RHEL 6

Cómo instalar y configurar GlusterFS en CentOS 7/CentOS 8

CentOS / RHEL 5:Cómo instalar y configurar el servidor vsftpd

Cómo instalar y configurar telnet en RHEL/CentOS 5,6

Cómo instalar y configurar Kerberos en CentOS/RHEL 7