ネットワークセキュリティクラスでは、仮想マシンにFTPサーバーをセットアップする必要があります。ゲートウェイ、クライアント、サーバーの3つのVMでセットアップされています。次のコマンドを使用してvsftpdをインストールしました。
Sudo apt-get install vsftpd
次に、構成ファイルを作成しましたvsftpd-anon.conf
場所/etc/vsftpd/
。ファイルには次のものが含まれます。
#Set the server to run in standalone mode
listen=YES
#Enable anonymous access
local_enable=NO
anonymous_enable=YES
#Disable write access
write_enable=NO
#Set root directory for anon connections
anon_root=/var/ftp
#Limit retrieval rate
anon_max_rate=2048000
#Enable logging user login and file transfers. /var/log/vsftpd.log
xferlog_enable=YES
#Set interface and port
listen_address=192.168.50.5
listen_port=21
IPアドレス192.168.50.5は、サーバーVMのeth0です。コマンドを実行すると
Sudo vsftpd /etc/vsftpd/vsftpd-anon.conf
エラーが発生します:
500 OOPS: could not bind listening IPv4 socket
ポート21で何が実行されているかを確認するために、次のコマンドを実行しました。
Sudo netstat -tulpn
そしてこれを見た:
コマンドを発行しました:
Sudo killserver 29383
そして、もう一度チェックしました。 vsftpd
はまだそこにありましたが、PIDが異なります。コマンドの実行:
Sudo killall vsftpd
同じことをします。私はすでに再インストールを試みました。誰が何が起こっているのか知っていますか?
エラーの根本原因を特定するのは正しいです-could not bind listening IPv4 socket
は、何かがすでにポート21(デフォルトのftpサーバーポート)をリッスンしていることを意味します。
現在実行中のvsftpd
を正しく停止するには:
Sudo service vsftpd stop
それが完了したら、カスタマイズされたinitスクリプトを使用してデーモンを起動します。
Sudo vsftpd /etc/vsftpd/vsftpd-anon.conf
動作していることを確認したら、initスクリプトを変更し、既存のvsftpd
サービスを無効にして、起動時に自動的に起動しないようにする必要があります。
おそらくxinetdftpが実行されているために、このエラーが発生します。
以下の手順により、次のエラーが解決されます。
A)500 OOPS:vsftpdのリスニングIPv4ソケットをバインドできませんでした
B)ncftpgetの場合、接続直後のサーバーのハングアップ
エラーを修正するには、以下の手順に従ってください。
1)どのftpサービスが実行されているかを表示するには
$ lsof -i | grep ftp
2)xinetdを停止するには:
$ Sudoサービスxinetd停止
3)xinetdを停止した後、次のように入力してvsftpdサービスを再起動します。
$ /etc/init.d/vsftpd restart(rootになり、このコマンドを実行します)
4)これでvsftpd.confも確認してください
listen = YES
local_enable = YES
write_enable = YES
local_umask = 022
dirmessage_enable = YES
use_localtime = YES
xferlog_enable = YES
secure_chroot_dir =/var/run/vsftpd/empty
pam_service_name = vsftpd
rsa_cert_file =/etc/ssl/private/vsftpd.pem