
私はUbuntuシステムにVSFTPDをインストールしましたが、うまくいかないようです。
設定ファイルで「local_enable」、「write_enable」、「listen」のみが「YES」に変更されました。
「netstat -tanp」または同様のコマンドを使用すると、「22:sshd」のみが表示され、ポート21には何も表示されません。
VSFTPDを再起動し、VPS全体を再起動してみました。 VSFTPDを再インストールしても役に立ちませんでした。
奇妙な点:VPSを初めて再起動する前は、IPv6 Port21でリッスンしていましたが、今はリッスンしません。
Googleが教えてくれたことすべてを試しましたが、何の効果もありませんでした。これはUbuntu 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