Это - почти всегда Xen, KVM или ESX. Можно обычно просматривать dmesg или аппаратные средства и понимать это довольно быстрый. Выяснение у Вашего поставщика услуг хостинга обычно получает ответ также...
Возможная причина заключается в том, что вы используете активный FTP.
FTP имеет активный и пассивный режим.
Активный:
В активном режиме FTP клиент подключается из случайного непривилегированный порт (N> 1023) на командный порт FTP-сервера, порт 21. Затем клиент начинает прослушивать порт N + 1 и отправляет команду FTP PORT N + 1 на FTP-сервер. Затем сервер подключится к клиентскому указанный порт данных из своего локального порта данных, который является портом 20.
Пассивный:
Для решения проблемы инициализации соединения сервером для клиента был разработан другой метод для FTP-соединений. Это было известно как пассивный режим или PASV, после команды, используемой клиент, чтобы сообщить серверу, что он находится в пассивном режиме. В пассивном режиме FTP клиент инициирует оба подключения к серверу, решая проблема межсетевых экранов, фильтрующих входящие данные порта подключения к клиент с сервера. При открытии FTP-соединения клиент открывает два случайных непривилегированных порта локально (N> 1023 и N + 1). В первый порт связывается с сервером через порт 21, но вместо этого команда PORT и разрешение серверу подключаться обратно к своим данным порт, клиент выдаст команду PASV. Результатом этого является что сервер затем открывает случайный непривилегированный порт (P> 1023) и отправляет P обратно клиенту в ответ на команду PASV. Клиент затем инициирует соединение от порта N + 1 к порту P на сервере, чтобы передавать данные.
- Активный FTP против пассивного FTP, окончательное объяснение
Это означает, что у вас есть два варианта:
Я бы выбрал вариант 1
Чтобы выполнить вариант 2 из ответа Кристофера Перрина , вы можете использовать расширение недавнее соответствие
. Он добавляет исходный IP-адрес в список, который вы можете проверить в последующих правилах. Для этих правил я предположил, что eth0
- это ваш WAN-интерфейс.
iptables -A FORWARD -o eth0 -p tcp --dport 21 -m state --state ESTABLISHED -m recent --name trustedftp --set
iptables -A FORWARD -i eth0 -p tcp --sport 20 -m recent --name trustedftp --seconds 30 --rcheck -j ACCEPT
Я не тестировал это, но думаю, что он должен работать.