ftp на linux PVE

Отличный выбор! Развертывание FTP-сервера в **LXC-контейнере** на Proxmox VE (PVE) — это легковесное и безопасное решение.   

 ### **1. Создание LXC-контейнера**   1. **В веб-интерфейсе PVE**      - Перейдите в `Create CT` (контейнер).      - Выберите **шаблон** (например, `Debian 12` или `Ubuntu 22.04`).      - Укажите **ID контейнера**, **пароль root** и **хранилище**.      - В `Network` задайте статический IP (например, `192.168.1.100`) или DHCP.   

 2. **Через CLI (альтернатива)**      ```bash    pct create 100 local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zst \    --storage local-lvm --rootfs 8 \    --net0 name=eth0,bridge=vmbr0,ip=192.168.1.100/24,gw=192.168.1.1    pct start 100    ``` 

 ### **2. Установка FTP-сервера (vsftpd)**   1. **Подключитесь к контейнеру**      ```bash    pct enter 100  # или ssh root@192.168.1.100    ``` 2. **Обновите систему и установите vsftpd**      ```bash    apt update && apt upgrade -y    apt install vsftpd -y    ``` 

 ### **3. Настройка vsftpd**   1. **Отредактируйте конфиг:**      ```bash    nano /etc/vsftpd.conf    ``` 2. **Минимальная рабочая конфигурация:**      ```ini    listen=YES    anonymous_enable=NO    local_enable=YES    write_enable=YES    chroot_local_user=YES    allow_writeable_chroot=YES    pasv_enable=YES    pasv_min_port=40000    pasv_max_port=40100    local_umask=022    ``` 3. **Перезапустите vsftpd:**      ```bash    systemctl restart vsftpd    systemctl enable vsftpd    ``` 

 ### **4. Создание FTP-пользователя**   1. **Добавьте пользователя (например, `ftpuser`):**      ```bash    useradd -m -d /home/ftpuser -s /bin/bash ftpuser    passwd ftpuser    ``` 2. **Если нужен доступ к конкретной папке:**      ```bash    mkdir /mnt/storage    chown ftpuser:ftpuser /mnt/storage    usermod -d /mnt/storage ftpuser    ``` 

 ### **5. Открытие портов в PVE (если контейнер за NAT)**   Если у контейнера **NAT** (через `vmbr0`), пробейте порты на хосте PVE:   ```bash iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to 192.168.1.100:21 iptables -t nat -A PREROUTING -p tcp --dport 40000:40100 -j DNAT --to 192.168.1.100:40000-40100 ``` Для сохранения правил:   ```bash apt install iptables-persistent -y netfilter-persistent save ``` 

 ### **6. Проверка подключения**   - Используйте **FileZilla** или `ftp` в терминале:     ```   ftp 192.168.1.100   ```   Логин: `ftpuser` и ваш пароль. 

 --- 

 ### **Дополнительные настройки**   - **SFTP (повышенная безопасность):** Используйте OpenSSH (`sftp`).   - **Резервное копирование:** Настройте `rsync` через FTP.   - **Логирование:** Включите `xferlog_enable=YES` в `/etc/vsftpd.conf`.   

 --- 

 ### **Итог**   Вы настроили **FTP-сервер в LXC-контейнере** на PVE. Это изолирует сервис от хоста и упрощает управление.   

 Если нужен **безопасный доступ**, рассмотрите **SFTP/SSH** или **WebDAV** (например, через Nextcloud).