Монтирование FTP шары в Linux c использованием ftpfs

Монтирование FTP шары в Linux c использованием ftpfs

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Монтирование FTP хранилища как папки в CentOS.

Шаг 1. Установим пакет CurlFtpFS

Доступен в EPEL-репозитории. Начиная с версии CentOS 6.7 репозиторий вшит в ОС.

1
yum install curlftpfs

Шаг 2. Подключение FTP

На данном этапе создадим папку, куда будет монтироваться хранилище и подключим его.

1
2
mkdir -p /home/ftp_share
curlftpfs ftp://user:password@example.com /home/ftp_share

Проверим успешное монтирование хранилища:

1
2
3
4
5
6
7
8
[root@test public_html]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_test-lv_root
8,9G 4,9G 3,6G 58% /
tmpfs 2,1G 0 2,1G 0% /dev/shm
/dev/sda1 500M 59M 415M 13% /boot
curlftpfs#ftp://testhost:testuser@testhost.com/
8,2T 0 8,2T 0% /home/ftp_share

Шаг 3. Автоматическое монтирование

Для автоматического монтирования хранилища при запуске системы, необходимо добавить строчку в /etc/fstab

1
curlftpfs#ftp://testhost:testuser@testhost.com /home/ftp_share fuse defaults 0 0

Шаг 4. Настройка Iptables

Если на сервере включен Firewall, необходимо прописать правила, позволяющие работать протоколу FTP как в активном, так и в пассивном режимах, для этого сначала загрузим модуль modprobe ip_conntrack_ftp, а затем добавим правила в таблицу:

1
2
3
4
iptables -A INPUT  -p tcp -m tcp --dport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "Allow ftp connections on port 21"
iptables -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -m comment --comment "Allow ftp connections on port 21"
iptables -A INPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow ftp connections on port 20"
iptables -A OUTPUT -p tcp -m tcp --dport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "Allow ftp connections on port 20"