GNU/Linux >> Tutoriales Linux >  >> Cent OS

Solución de problemas de "conexión rechazada" desde servidores remotos en CentOS/RHEL 7 (ya sea un problema de servicio de Firewalld o iptables)

El problema

Una aplicación está recibiendo "conexión rechazada" de otros servidores. Se puede acceder a la aplicación desde localhost y también escucha el puerto esperado.

La solución

Este puede ser un caso de Firewall en el servidor local que descarta los intentos de conexión entrante de otros servidores. De manera predeterminada, CentOS/RHEL 7 usa el servicio FIREWALLD para administrar las reglas de IPTABLES. El subsistema IPTABLES anterior todavía está disponible y se puede usar directamente si el servicio FIREWALLD está deshabilitado.

Determinar si se está utilizando el servicio FIREWALLD

Para ver si el objetivo de firewalld está activo en el sistema, use el siguiente comando:

# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2017-12-21 15:03:59 EST; 4s ago
Docs: man:firewalld(1)
Main PID: 18880 (firewalld)
CGroup: /system.slice/firewalld.service
└─18880 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Dec 21 15:03:58 testserver systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 21 15:03:59 testserver systemd[1]: Started firewalld - dynamic firewall daemon.
Dec 21 15:04:01 testserver firewalld[18880]: WARNING: ICMP type 'beyond-scope' is not supported by the kernel for ipv6.
Dec 21 15:04:01 testserver firewalld[18880]: WARNING: beyond-scope: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
Dec 21 15:04:01 testserver firewalld[18880]: WARNING: ICMP type 'failed-policy' is not supported by the kernel for ipv6.
Dec 21 15:04:01 testserver firewalld[18880]: WARNING: failed-policy: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.
Dec 21 15:04:01 testserver firewalld[18880]: WARNING: ICMP type 'reject-route' is not supported by the kernel for ipv6.
Dec 21 15:04:01 testserver firewalld[18880]: WARNING: reject-route: INVALID_ICMPTYPE: No supported ICMP type., ignoring for run-time.

Como puede ver en el resultado anterior, el servicio firewalld está activo y en ejecución.

Determinar si se está utilizando el servicio IPTABLES

Para determinar si el servicio iptables se está ejecutando en el sistema, use el siguiente comando.

# systemctl status iptables.service
* iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2017-12-21 17:51:12 UTC; 26min ago
Process: 440 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
Main PID: 440 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/iptables.service

Dec 21 17:51:12 testserver systemd[1]: Starting IPv4 firewall with iptables...
Dec 21 17:51:12 testserver iptables.init[440]: iptables: Applying firewall rules: [ OK ]
Dec 21 17:51:12 testserver systemd[1]: Started IPv4 firewall with iptables.

Como se ve en el resultado anterior, el destino de iptables está en estado deshabilitado.

Precaución :verificar el firewall usando "iptables -L" no es suficiente.

Antes de CentOS/RHEL 7, bastaba con comprobar el cortafuegos del sistema mediante el comando iptables para saber si se estaba utilizando un cortafuegos. Por ejemplo, verificar con el siguiente comando fue suficiente para determinar cómo controlar las reglas del firewall:

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
...
INPUT_direct all -- anywhere anywhere
INPUT_ZONES_SOURCE all -- anywhere anywhere
INPUT_ZONES all -- anywhere anywhere
DROP all -- anywhere anywhere ctstate INVALID
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

Con CentOS/RHEL 7, el servicio FIREWALLD más reciente o el SERVICIO IPTABLES más antiguo podrían controlar las reglas del firewall.


Cent OS
  1. Instale el escritorio remoto xrdp en CentOS 6 / RHEL 6

  2. Cómo reiniciar el servicio de red en CentOS 8 o RHEL 8

  3. CentOS / RHEL 7:Guía para principiantes de firewalld

  4. CentOS / RHEL 7:¡Nunca ejecute el servicio iptables y el servicio FirewallD al mismo tiempo!

  5. Aplicación de servidor Obteniendo "conexión rechazada" de servidores remotos [debido a firewalld o iptables] – CentOS/RHEL 7

RHEL 8/CentOS 8 habilita el servicio ssh

5 herramientas para habilitar el acceso a escritorio remoto en RHEL/CentOS 7

Cambiar las reglas de IPset de IPtables a Firewalld en CentOS/RHEL 7

Cómo migrar las reglas de iptables de CentOS/RHEL 6 a CentOS/RHEL 7 firewalld

CentOS / RHEL:guía de solución de problemas de iptables

Problema al abrir un puerto de firewall en CentOS/RHEL 8