방금 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