Я должен установить 2 различных экземпляра vsftpd. Который послушает на 2 различных портах, таким образом, что один экземпляр слушает на порте по умолчанию 21, и другой может послушать на другом порте 1123. Ведите меня о том, как установить vsftpd для слушания на 2 различных портах. У меня есть следующий vsftpd.conf файл:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Welcome to the FTP Service.
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Есть как минимум 2 способа сделать это
В вашем случае просто создайте 2 конфетного файла, и запустите оба экземпляра в соответствии с опцией 1
. Хорошо написано, что это работает на CentOS. Но она должна работать и на операционных системах на базе Debian.
https://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-ftp-vsftpd-start-multi.html
Если вы не можете запустить два экземпляра на одном сервере по какой-либо причине, вы можете просто использовать iptables для перенаправления всего трафика на порт 1123 на 21.
iptables -t nat -A PREROUTING -p tcp --dport 1123 -j REDIRECT --to-port 21
Читайте инструкцию man 5 vsftpd.conf
listen_port Если vsftpd находится в автономном режиме, то именно на этом порту он будет прослушивать входящие FTP соединения.
По умолчанию: 21
Мне нужно было установить 2 экземпляра VSFTPD. Поэтому я создал 2-й файл конфи /etc/vsftpd-2.conf
и 2-й init-скрипт /etc/init.d/vsftpd-2
Я отредактировал содержимое /etc/vsftpd-2. conf
, чтобы включить следующую строку listen_port=1123
.
Мне также нужно было отредактировать /etc/init. d/vsftpd-2
, поэтому при запуске приложения старт-стоп-демон использует другой pid и другой конф.
Ниже приведены некоторые выдержки из файла /etc/init.d/vsftpd-2
:
CONFIG2FILE="/etc/vsftpd-2.conf"
#DAEMON="/usr/sbin/vsftpd ${CONFIG2FILE}"
DAEMON="/usr/sbin/vsftpd"
ARGS="$CONFIG2FILE"
NAME="vsftpd-2"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
LOGFILE="/var/log/vsftpd.log"
CHROOT="/var/run/vsftpd-2/empty"
CONFFILE="${CONFIG2FILE}"
case "${1}" in
start)
Check_standalone_mode || exit 0
echo -n "Starting FTP server: "
start-stop-daemon --start --background -m --oknodo --pidfile /var/run/vsftpd/vsftpd2.pid --exec ${DAEMON} -- ${ARGS}
echo "${NAME}."
;;
reload|force-reload)
echo "Reloading FTP server configuration: "
start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd2.pid --signal 1 --exec $DAEMON -- ${ARGS}
echo "${NAME}."
;;