VSFTPD가 포트 21에서 수신 대기하지 않음

VSFTPD가 포트 21에서 수신 대기하지 않음

방금 Ubuntu 시스템에 VSFTPD를 설치했지만 작동하지 않는 것 같습니다.

구성 파일에서 "local_enable", "write_enable" 및 "listen"만 "YES"로 변경했습니다.

"netstat -tanp" 또는 유사한 명령을 사용하면 "22:sshd"만 표시되고 포트 21에는 아무것도 표시되지 않습니다.

VSFTPD를 다시 시작하고 전체 VPS를 다시 시작해 보았습니다. VSFTPD를 다시 설치해도 도움이 되지 않았습니다.

이상한 점: VPS를 처음으로 다시 시작하기 전에는 IPv6 Port21에서 수신 대기 중이었지만 이제는 더 이상 수신 대기도 하지 않습니다.

Google에서 알려준 모든 것을 시도했지만 아무 효과가 없었습니다. 이것은 우분투 16.04.4를 새로 설치한 것입니다. vsftpd는 버전 3.0.3입니다.

(콘솔에 "vsftpd"를 입력하려고 하면 "500 OOPS: IPv4 및 IPv6에 대한 vsftpd의 두 복사본이 모두 손상되었습니다.)

요약: VSFTPD가 Port21에서 수신 대기하지 않습니다. 팁이 있나요?

답변1

방금 비슷한 문제를 해결했습니다. IPv4에서 작동하도록 하기 위해 /etc/vsftpd.conf를 다음과 같이 변경했습니다.

listen=yes
listen_ipv6=NO
listen_address=<Public ipv4 address>

답변2

99%의 경우 vsftpd.conf파일에 구성 문제가 있습니다... vsftpd의 상태를 확인하십시오... 다음과 같은 오류가 발생할 수 있습니다:

root@localhost:~# sudo systemctl status vsftpd
 vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2021-03-13 02:40:20 UTC; 32s ago
  Process: 538 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/S
  Process: 539 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
 Main PID: 539 (code=exited, status=2)

Mar 13 02:40:20 localhost systemd[1]: Starting vsftpd FTP server...
Mar 13 02:40:20 localhost systemd[1]: Started vsftpd FTP server.
Mar 13 02:40:20 localhost systemd[1]: vsftpd.service: Main process exited, code=exited,
Mar 13 02:40:20 localhost systemd[1]: vsftpd.service: Failed with result 'exit-code'.

답변3

이는 vsftpd가 IPv4 또는 IPv6에서만 수신 대기할 수 있기 때문입니다. 기본적으로 vsftpd는 IPv6 소켓에 바인딩됩니다. 그러나 기본적으로 커널은 자동으로 동등한 IPv4 포트(인용하다)

# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
listen_ipv6=YES

관련 정보