![Los clientes FTP (cualquiera) se bloquearán en MLSD con modo pasivo en macOS Big Sur 11.4 y 11.5](https://rvso.com/image/1654354/Los%20clientes%20FTP%20(cualquiera)%20se%20bloquear%C3%A1n%20en%20MLSD%20con%20modo%20pasivo%20en%20macOS%20Big%20Sur%2011.4%20y%2011.5.png)
Recientemente noté un problema extraño con macOS Big Sur 11.4 y 11.5 (Mac M1), donde todos los clientes FTP, sin importar cuál use, terminarán con el mismo problema. (CyberDuck, FileZilla o simplemente el viejo MC). Otro usuario me informó el problema en una red diferente con el mismo sistema operativo.
El problema es que un cliente FTP se bloqueará en el comando MLSD y expirará el tiempo de espera. A veces puedes enumerar algunos directorios y después de unos segundos se bloqueará solo.
El mismo comportamiento con TLS o simplemente FTP. No hay actividad de red después de MLSD. Comprobado con Wireshark.
12:06:29 Response: 257 "/public_html" is your current location
12:06:29 Trace: CFtpChangeDirOpData::ParseResponse() in state 5
12:06:29 Trace: CFtpControlSocket::ResetOperation(0)
12:06:29 Trace: CControlSocket::ResetOperation(0)
12:06:29 Trace: CFtpChangeDirOpData::Reset(0) in state 5
12:06:29 Trace: CFtpListOpData::SubcommandResult(0) in state 1
12:06:29 Trace: CControlSocket::SendNextCommand()
12:06:29 Trace: CFtpListOpData::Send() in state 2
12:06:29 Trace: CFtpRawTransferOpData::Send() in state 0
12:06:29 Trace: CFtpRawTransferOpData::Send() in state 2
12:06:29 Command: PASV
12:06:29 Trace: tls_layer_impl::on_read()
12:06:29 Trace: CFtpControlSocket::OnReceive()
12:06:29 Response: 227 Entering Passive Mode (*,*,*,*,133,42)
12:06:29 Trace: CFtpRawTransferOpData::ParseResponse() in state 2
12:06:29 Trace: CControlSocket::SendNextCommand()
12:06:29 Trace: CFtpRawTransferOpData::Send() in state 4
12:06:29 Trace: Binding data connection source IP to control connection source IP 192.168.1.145
12:06:29 Trace: tls_layer_impl::client_handshake()
12:06:29 Trace: Trying to resume existing TLS session.
12:06:29 Command: MLSD
Probé esto con macOS Big Sur 11.2 con diferentes MacBook (Intel) en la misma red Wifi con la misma versión de FileZilla y funciona sin problemas.
También noté que en M1 Big Sur 11.4 y 11.5 a veces Chrome obtiene un "tiempo de espera de conexión" y tampoco puedo conectarme a través de SSH. Apuesto a que algo anda mal en TCP.
Actualizar: Así que verifiqué el tráfico con Wireshark y parece que, por alguna razón, hay un paquete TCP SYN y en Big Sur 11.2 recibiré SYN ACK del servidor FTP. Con Big Sur 11.4 y 11.5 hay TCP SYN pero no hay respuesta ACK del servidor. El servidor recibirá SYN bud y no responderá a ese paquete con ACK.
Respuesta1
El problema fue causado por la configuración en el lado de CentOS. Esto afectó a Big Sur 11.3+ ya que 11.2 funcionó bien con esto. Windows 10 también funcionó bien sin problemas.
Arreglado por:
sysctl -w net.ipv4.tcp_tw_recycle=0