네트워크 보안 과정을 진행하려면 가상 머신에 FTP 서버를 설정해야 합니다. 게이트웨이, 클라이언트, 서버 등 3개의 가상 머신을 설정했습니다. 다음 명령을 사용하여 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는 내 서버 가상 머신의 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
같은 일을하십시오. 다시 설치해 보았습니다. 무슨 일인지 아는 사람 있나요?
답변1
오류의 근본 원인을 정확하게 식별한 것이 맞습니다. could not bind listening IPv4 socket
즉, 무언가가 이미 포트 21(기본 FTP 서버 포트)에서 수신 대기하고 있음을 의미합니다.
vsftpd
현재 실행 중인 프로그램을 올바르게 중지 하려면 :
sudo service vsftpd stop
이 작업이 완료되면 사용자 정의 init 스크립트를 사용하여 데몬을 시작합니다.
sudo vsftpd /etc/vsftpd/vsftpd-anon.conf
작동하는지 확인한 후에는 vsftpd
부팅 시 자동으로 시작되지 않도록 init 스크립트를 변경하고 기존 서비스를 비활성화해야 합니다.
답변2
xinetd ftp가 실행 중이기 때문에 이 오류가 나타날 수 있습니다.
아래에 언급된 프로세스는 다음 오류를 해결합니다.
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 (루트가 되어 이 명령을 실행하세요)
4) 또한 이를 사용하여 vsftpd.conf를 확인합니다.
들어봐 = 응
로컬 활성화=예
쓰기 활성화 = 예
로컬마스크=022
dimessage_enable=예
use_localtime=YES
xferlog_enable=예
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem