Автор Гілка: vsftpd + 3g Vodafone  (Прочитано 7164 раз)

Відсутній yarx

  • Новачок
  • *
  • дописів: 6
  • Карма: +0/-0
vsftpd + 3g Vodafone
« : 2017-08-04 17:56:49 »
Доброго дня. Допоможіть будь-ласка розрулити ситуацію. Використовую ubuntu 16.04 як home server router. Вирішив підняти фтп. Проблема в тому, що на фтп заходжу від іншого провайдера з мобільного додатку то все ок. Але не можу зайти якщо пробую через 3g. Отримую відповідь Failed to open port. Які умови можуть перешкоджати входу з 3g?
Iptables






#!/bin/sh
IPT="iptables"
# Интерфейс который смотрит в интернет
WAN_IFACE=ppp0
# Интерфейс локальной сеть
LAN_IFACE=enp2s0
# Адрес локалки
LAN=192.168.1.1/24




# Удаление всех правил из таблиц
$IPT -t filter -F
$IPT -t nat -F
$IPT -t raw -F
$IPT -t mangle -F
#Удаление всех пользовательских цепочек из таблиц
$IPT -t filter -X
$IPT -t nat -X
$IPT -t raw -X
$IPT -t mangle -X




$IPT -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT # ftp-сервер
$IPT -I INPUT -p tcp -m tcp --dport 20 -j ACCEPT # ftp-data для активного режима
$IPT -I OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT
$IPT -I OUTPUT -p tcp -m tcp --dport 20 -j ACCEPT




# В качестве политики по умолчанию - отброс всех пакетов.
# Иными словами, если пакет из указанных таблиц не затронуло ни одно из нижеперечисленных правил, к нему будет применено действие DROP.
$IPT -P INPUT DROP
$IPT -P FORWARD DROP


# Разрешим устройствам из внешки пинговать роутер
$IPT -A INPUT -i $WAN_IFACE -p icmp --icmp-type echo-request -j ACCEPT
# Также разрешим доступ из внешки к роутеру, но разрешим её только пакетам в установленных(ESTABLISHED) и дочерних(RELATED) соединениях.
# Иными словами, пробрасываются только те пакеты, инициаторами соединений которых выступили мы сами. Пакеты соединений со статусом NEW(статус установки соединения) и другими статусами отбрасываются.
$IPT -A INPUT -i $WAN_IFACE -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT


# остальные запросы из внешки - накуй
$IPT -A INPUT -i $WAN_IFACE -j REJECT


# Разрешим обращение к роутеру от локального интерфейса(localhost) и от устройств из локальной сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN_IFACE -j ACCEPT


#Разрешим доступ с интерфейса eth0 на случай, если понадобится опять подключаться через него
$IPT -A INPUT -i enp1s0 -j ACCEPT


#Разрешить устройствам в сети общаться между собой
$IPT -A FORWARD -i $LAN_IFACE -o $LAN_IFACE -j ACCEPT


# Ниже три правила для обеспечения доступа устройств из локалки в интернет и обратно.
# Разрешим устройствам из локалки обрашаться во внешку
$IPT -A FORWARD -s $LAN -o $WAN_IFACE -j ACCEPT
# Разрешим и обратную связь - из внешки к устройствам в локалке, по аналогии с похожим правилом в цепочке INPUT.
$IPT -A FORWARD -d $LAN -m conntrack --ctstate ESTABLISHED,RELATED -i $WAN_IFACE -j ACCEPT
# Для всех пакетов из локальной сети во внешку делаем Маскарадинг - подмену адреса источника пакета внешним адресом роутера.
$IPT -t nat -A POSTROUTING -s $LAN -o $WAN_IFACE -j MASQUERADE


# Также для доступа устройств из локалки в интернет потребуется включить проброс пакетов.
echo '1' > /proc/sys/net/ipv4/ip_forward


$IPT -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
# Вклюим MTU clamping. Это правило было внесено в таблицу mangle утилитой pppoeconf - оставляем как есть.
$IPT -A FORWARD -t mangle -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
### Transmission ###
$IPT -I INPUT -p tcp -m tcp --dport 51413 -j ACCEPT
$IPT -I INPUT -p udp -m udp --dport 51413 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 51413 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 51413 -j ACCEPT


$IPT -A INPUT -p tcp --dport 9091 -s 192.168.1.1/24 -j ACCEPT             # transmission rpc       - only local network


# ftp


#$IPT -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT # ftp-сервер
#$IPT -I INPUT -p tcp -m tcp --dport 20 -j ACCEPT # ftp-data для активного режима
#$IPT -I OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT
#$IPT -I OUTPUT -p tcp -m tcp --dport 20 -j ACCEPT






exit 0

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3739
  • Карма: +9/-0
  • Програміст
Re: vsftpd + 3g Vodafone
« Відповідей #1 : 2017-08-04 19:56:33 »
Я так розумію що ваш домашній комп за NAT, і в локалці ви на нього попадаєте без проблем, а із зовнішнього інтернету — не можете. Якщо це так, то проблема не в лінукс і не в iptables. Можливі рішення — прокинути порти із зовнішньої мережі на внутрішню на роутері, або використати IPv6.
[Fedora Linux]

Відсутній yarx

  • Новачок
  • *
  • дописів: 6
  • Карма: +0/-0
Re: vsftpd + 3g Vodafone
« Відповідей #2 : 2017-08-04 20:06:50 »
Трохи не так. Роутера немає, є комп з двома мережевими картами, він і є роутер і на ньому фтп. Із зовнішнього інтернету, наприклад з роботи я без проблем на нього попадаю (можливо ще причина того що дома і на роботі один і той самий провайдер). Дома білий айпі.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3739
  • Карма: +9/-0
  • Програміст
Re: vsftpd + 3g Vodafone
« Відповідей #3 : 2017-08-04 20:52:12 »
Ок, ви не за NAT-ом. Тоді це проблема з провайдером, який може використовувати NAT. Якщо ви можете під'єднатися до сервака по ssh, використовуйте sftp і не морочте собі голову. FTP використовує кілька з'єднань і це серйозний головняк для NAT, тому його виключають. Тобто залишається два варіанти: IPv6 (без NAT) і sftp по ssh (не плутати з ftps).
[Fedora Linux]

Відсутній yarx

  • Новачок
  • *
  • дописів: 6
  • Карма: +0/-0
Re: vsftpd + 3g Vodafone
« Відповідей #4 : 2017-08-05 13:47:11 »
Дякую за підтримкуМозок кипить  :o   Задача нібм проста але костиль ще той....
Так, я хожу по ssh при любих умовах, немає жодних проблем. Але я логінюсь з використанням ключа. Під ios перепробував всі клієнти і не один нормально не працює з ключами.
Можливо я рухаюсь не в тому напрямку. Моя ціль це створення на сервері невеличкої файлопомийки тільки для мого користування і так щоб можна було зайти з телефону. Спочатку я пробував підняти owncloud але по-перше він якось криво встав а по друге мені не потрібна синхронізація. Того думав що для моїх цілей достатньо фтп.  Можливо для sftp створити окремого користувача без ключа але на сервері в ssh відкючене налаштування логінитись по паролю У когось є iphone для тесту sftp з ключами? ???
« Змінено: 2017-08-05 13:49:20 від yarx »

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Re: vsftpd + 3g Vodafone
« Відповідей #5 : 2017-08-06 14:30:34 »
Ок, ви не за NAT-ом. Тоді це проблема з провайдером, який може використовувати NAT.
Або провайдер може використовувати прозорий HTTP-проксі або кешуючий FTP-проксі тощо.
Тобто залишається два варіанти: IPv6 (без NAT) і sftp по ssh (не плутати з ftps).
або ще два :) - passive ftp та 'rsync -z'

BTW, по FTPS обмін даними буде швидший, ніж по SFTP.

Off-topic:
А що, ProFTPd уже не "модно, стільно, молодьожно"?
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній yarx

  • Новачок
  • *
  • дописів: 6
  • Карма: +0/-0
Re: vsftpd + 3g Vodafone
« Відповідей #6 : 2017-08-06 19:13:17 »
Я не дуже тямущий в тих всіх справах але для себе починаю робити висновок що ftp та всі ті його аналоги реально буксують. Поки що реально є прогрес. Вирішив ситуацію за допомогою хмарного сервісу seafile. Мені подобається тим що воно не громістке, відносно легко піднімається, граблі були лише в привязці до апачі. Софт під ios сироватий але воно суттєво краще ніж всякі там фтп клієнти. І точно знаю шо в мобільній мережі все працює.
Можна сказати що проблема вирішена. Дякую

Відсутній prapor

  • Письменник
  • *****
  • дописів: 518
  • Карма: +0/-0
Re: vsftpd + 3g Vodafone
« Відповідей #7 : 2017-08-06 23:11:40 »
Суто для інформації: ownCloud використовує протокол WebDAV, при його використанні зі сторонніми клієнтами синхронізації автоматичної не відбувається. Та й власний мобільний клієнт (принаймні для Android) можна налаштувати не синхронізувати файли автоматично.
- I'm afraid your son has the knack.
- The knack?
- The knack. It's a rare condition characterised by an extreme intuition about all things mechanical and electrical. And utter social ineptitude.
- Can he lead a normal life?
- No, he'll be an engineer.

Відсутній yarx

  • Новачок
  • *
  • дописів: 6
  • Карма: +0/-0
Re: vsftpd + 3g Vodafone
« Відповідей #8 : 2017-08-09 12:33:31 »
Доброго дня. Трохи поспішив з висновками. Seafile не довго жив :( Є проблема подружити seafile з apache
Може тут є люди які б могли по ssh глянути? 

Миха́йло Даниле́нко

  • Гість
Re: vsftpd + 3g Vodafone
« Відповідей #9 : 2017-08-09 13:12:34 »
Я би почав діагностику з

1) iptables у одному з варіантів
 • вимкнув взагалі
 • безумовно приймав все, що йде з конкретного проблемного ip
 • перед DROP пододавав би правила LOG (зауважте, що "policy" є уявним правилом в кінці ланцюжка, тобто LOG також треба додавати в кінець ланцюжка правил, де є така policy)
2) tcpdump по IP, щоб побачити, що приходить на хост, і чи приходить взагалі

Найбільша підозра в даному випадку на пасивний/активний режим роботи FTP.

Edit:
До речі, модуль ядра nf_conntrack_ftp підвантажено?

StreamThreader

  • Гість
Re: vsftpd + 3g Vodafone
« Відповідей #10 : 2017-08-09 18:02:51 »

eth0 - зовнішній інтерфейс
999.999.999.999 - IP-адреса зовнішнього інтерфейсу

Код: Bash
  1. iptables -t filter -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
  2. iptables -t raw -A PREROUTING -i eth0 -d 999.999.999.999 -p tcp --dport 21 -j CT --helper ftp
  3.  

Відсутній yarx

  • Новачок
  • *
  • дописів: 6
  • Карма: +0/-0
Re: vsftpd + 3g Vodafone
« Відповідей #11 : 2017-08-09 22:41:05 »

eth0 - зовнішній інтерфейс
999.999.999.999 - IP-адреса зовнішнього інтерфейсу

Код: Bash
  1. iptables -t filter -A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
  2. iptables -t raw -A PREROUTING -i eth0 -d 999.999.999.999 -p tcp --dport 21 -j CT --helper ftp
  3.  


Дякую. Візьму на замітку. В інеті не зустрічав такого прикладу для iptables
Мабуть все-таки зупинюся на nextcloud. Seafile якось не стабільно плюс пітон, плюс проксі-реверс, якось не пішло мені

StreamThreader

  • Гість
Re: vsftpd + 3g Vodafone
« Відповідей #12 : 2017-08-10 00:59:51 »
Колись переклав як зміг, статю, бо теж були трабли
https://blog.ifconfig.com.ua/?p=729
https://blog.ifconfig.com.ua/?p=740

Відсутній bodqhrohro

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-1
Re: vsftpd + 3g Vodafone
« Відповідей #13 : 2017-08-12 13:58:36 »
Для задачі розшарення файлозвалища файно пасує віндузятний HFS. Під вайном працює чудово, вішається на один будь-який порт, де підніма вбудований HTTP-сервер, без мороки додається будь-яка локальна тека. Має лишень недоліки: 1) потрібні ікси та вайн; 2) морда бравзерна та не адаптивна; 3) нема довантаження, тож з великими файлами працювати буде важко.

Відсутній kisil

  • Графоман
  • ****
  • дописів: 353
  • Карма: +0/-0
  • Toruble in Windows reboot, toruble in Unix be root
    • About me
Re: vsftpd + 3g Vodafone
« Відповідей #14 : 2017-08-14 11:34:05 »
Можна використати OpenVPN для доступу до вашої мережі. А тоді по тунелю OpenVPN конектитись до ФТП. Правда, це вплине на швидкість обміну даними.