Настройка FTP-сервера
- На машине srv2 создайте пользователя для FTP и пароль для него
useradd -m tuxftp
passwd tuxftp
- Установите пакет FTP-сервера
apt install proftpd
- Внесите изменения в конфиг FTP-сервера /etc/proftpd/proftpd.conf:
UseIPv6 off
...
DefaultRoot ~
- Запустите демон FTP-сервера
systemctl start proftpd.service
Настрока доступа к FTP-серверу снаружи
- Внесите изменения в конфиге /etc/proftpd/proftpd.conf:
PassivePorts 49152 49153
MasqueradeAddress 10.10.Y.100+X #внешний ip ВМ gwX
- Перезапустите демон proftpd.
- На машине gwX добавьте правила проброса портов:
iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 21 -j DNAT --to-destination 10.20.30.2:21
iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 49152 -j DNAT --to-destination 10.20.30.2:49152
iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 49153 -j DNAT --to-destination 10.20.30.2:49153
- Зайдите на ftp с хостовой машины.
Включение TLS-шифрования
Включение TLS по инструкции ниже, фактически, приведет к работе по схеме "ftp over ssh" (аналогично команде scp.
-
Установите дополнительный модуль для поддержки шифрования:
apt install proftpd-mod-crypto
-
Включите поддержку TLS в /etc/proftpd/proftpd.conf
Include /etc/proftpd/tls.conf
- Отредактируйте конфигурацию /etc/proftpd/tls.conf (раскомментируйте и поправьте значения директив)
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23 TLSv1.2
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient off
TLSRequired on
-
Сгенерируйте ключи командой из комментариев в tls.conf
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
-
Включите модуль mod_tls.c в /etc/proftpd/modules.conf
LoadModule mod_tls.c
-
Перезапустите ProFTPd
systemctl restart proftpd.service
-
Создайте новый проброс порта на машине gw и подключитесь к нему
iptables -t nat -A PREROUTING -p tcp -i enp0s3 --dport 2121 -j DNAT --to-destination 172.16.0.10:22