Vsftpd не работает в пассивном режиме в контейнере LXC

Я - новичок в Докере, у меня есть vsftpd в Debian, и для пассивного режима я настроил в vsftpd:

pasv_enable=YES
pasv_min_port=65000
pasv_max_port=65000
pasv_address=192.168.1.31

и я показываю с wireshark, что ответ сервера с пассивным портом 65000, но с пассивным IP 0.0.0.0 и я не понимаю почему, если я настроил пассивный IP. Когда я выполняю докера, я связываю порты 21 и 65000 (и в Dockerfile я выставляю 21 и 65000), и соединение в порте 21, и активный режим хорош, но я должен использовать также пассивный режим. В wireshark я показываю его:

227 Entering Passive Mode (0,0,0,0,253,232).
Passive IP address: 0.0.0.0 (0.0.0.0)
Passive port: 65000
Passive IP NAT: True

Dockerfile:

FROM debian:jessie

RUN apt-get update
RUN apt-get dist-upgrade -y
RUN apt-get install -y -q --no-install-recommends vsftpd
RUN apt-get clean

RUN echo "local_enable=YES" >> /etc/vsftpd.conf
RUN echo "chroot_local_user=YES" >> /etc/vsftpd.conf
RUN echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
RUN echo "write_enable=YES" >> /etc/vsftpd.conf
RUN echo "pasv_enable=YES" >> /etc/vsftpd.conf
RUN echo "pasv_min_port=65000" >> /etc/vsftpd.conf
RUN echo "pasv_max_port=65000" >> /etc/vsftpd.conf
RUN echo "pasv_address=192.168.1.31" >> /etc/vsftpd.conf

RUN mkdir -p /var/run/vsftpd/empty

EXPOSE 21/tcp
EXPOSE 65000/tcp

CMD vsftpd

И я создаю и работаю с командами:

docker build -t vsftpd .
docker run -d -p 21:21 -p 65000:65000 -v /etc/passwd:/etc/passwd:ro -v /etc/shadow:/etc/shadow:ro -v /etc/group:/etc/group:ro -v /home:/home vsftpd

Я также сужу выполненного докера большим количеством параметров:

docker run -d -p 192.168.1.31:21:21 -p 192.168.1.31:65000:65000 -v /etc/passwd:/etc/passwd:ro -v /etc/shadow:/etc/shadow:ro -v /etc/group:/etc/group:ro -v /home:/home vsftpd

И в активном режиме вся хорошая работа, только приводит пассивный режим к сбою, и я не понимаю, почему сервер говорит клиенту, которые соединяются с 0.0.0.0 с настроенным pasv_address. Я монтирую passwd, тень и группу к контейнеру как только для чтения для локальных пользователей использования в vsftpd и домой для chroot локальных пользователей, это нашло в активном режиме хороший. Я пробую все в виртуальной машине в режиме моста, и в виртуальной машине у меня есть сервер Ubuntu с docker.io 1.2.0.

3
задан 16 July 2016 в 18:56
1 ответ

Теперь я могу это исправить. По умолчанию vsftpd прослушивал IPv4 и IPv6 с конфигурацией по умолчанию и т. Д .; и я комментирую конфигурацию IPv6 и настраиваю только IPv4, а потом все работает.

2
ответ дан 3 December 2019 в 07:00

Теги

Похожие вопросы