проброс FTP сервера

Discussion in 'Linux, Freebsd, *nix' started by MAQUEEN, 10 Feb 2013.

  1. MAQUEEN

    MAQUEEN RadioActivity

    Joined:
    27 Sep 2008
    Messages:
    422
    Likes Received:
    126
    Reputations:
    32
    Ребята, помогите с таким вопросом...

    есть шлюз 1.1.1.1

    есть ftp сервер в локальной сети за шлюзом 192.168.1.200

    открываю порт на шлюзе :
    $IPT -t filter -A INPUT -p tcp -m tcp --dport 65504 -j ACCEPT

    пробрасываю:
    $IPT -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 65504 -j DNAT --to-destination 192.168.1.200:21


    лог filezilla:

    Code:
    Статус:	Соединяюсь с 1.1.1.1:65504...
    Статус:	Соединение установлено, ожидание приглашения...
    Ответ:	220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
    Ответ:	220-You are user number 2 of 3 allowed.
    Ответ:	220-Local time is now 20:28. Server port: 21.
    Ответ:	220 You will be disconnected after 10 minutes of inactivity.
    Команда:	USER admin
    Ответ:	331 User ssdtux OK. Password required
    Команда:	PASS **************
    Ответ:	230 OK. Current restricted directory is /
    Команда:	SYST
    Ответ:	215 UNIX Type: L8
    Команда:	FEAT
    Ответ:	211-Extensions supported:
    Ответ:	 EPRT
    Ответ:	 IDLE
    Ответ:	 MDTM
    Ответ:	 SIZE
    Ответ:	 REST STREAM
    Ответ:	 MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
    Ответ:	 MLSD
    Ответ:	 ESTP
    Ответ:	 PASV
    Ответ:	 EPSV
    Ответ:	 SPSV
    Ответ:	 ESTA
    Ответ:	 AUTH TLS
    Ответ:	 PBSZ
    Ответ:	 PROT
    Ответ:	211 End.
    Статус:	Server does not support non-ASCII characters.
    Статус:	Соединение установлено
    Статус:	Получение списка каталогов...
    Команда:	PWD
    Ответ:	257 "/" is your current location
    Команда:	TYPE I
    Ответ:	200 TYPE is now 8-bit binary
    Команда:	PASV
    Ответ:	227 Entering Passive Mode (10,60,0,20,216,254)
    Статус:	Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.
    Команда:	MLSD
    Ошибка:	Превышено время ожидания соединения
    Ошибка:	Не могу получить список каталогов!
    
    
    я втычу... что делать с 20 портом ftp?....думаю что то я не доделал....
     
  2. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    Пассивный FTP
    в настройках ftp сервера смотрим pasv_min_port и pasv_max_port а также шлюз
    добавляем правило DNAT на --dport pasv_min_port:pasv_max_port

    в инете куча инфы по этому поводу..

    Во-вторых я не вкурсе всех правил вашего netfilter, но разрешающее правило для INPUT в таблице filter - необязательно.. при попадани на шлюз пакеты обрабатываются в цепочке PREROUTING таблицы nat, где у них подменяется адрес назначения, а затем они сразу идут в таблицу FORWARD, так как не предназначены для данного устройства, и идут далее..

    я могу где то ошибаться.. не всё понял в сообщении.. например: почему сревак и его шлюз в разных подсетях? и тп... могу только строить догадки))
     
    #2 taha, 11 Feb 2013
    Last edited: 11 Feb 2013
  3. MAQUEEN

    MAQUEEN RadioActivity

    Joined:
    27 Sep 2008
    Messages:
    422
    Likes Received:
    126
    Reputations:
    32
    вообщем обстановка такая. есть шлюз, и есть несколько подсетей. (vlanы) в одном из виланов находится фтп сервер, который нужно выбросить наружу через шлюз. из за этого и разные ip.

    в пассивмоде:Use the default port range (55536~55663)

    каким образом должно выглядеть правило?...
    допустим лист стены чистый, полиси инпут, в дроп. и в нем только нат на внутреннею сетку (виланы) и эти 2 правила на фтп сервер. что еще нужно добавить ?
     
  4. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    тебе нужно прокинуть 21 прот для управляющего соединения

    Это правило гласит, что все пакеты пришедшие на 1.1.1.1 (ваш внешний ip), подвергнуться подмене адреса назначения и будут вытолкнуты в локальную сеть..

    ок.. прокинуто! теперь твой ftp сервер открывает порт из диапазона 55536:55663 и ждет входящего соединения для передачи данных, поэтому нужно прокинуть и их тоже

    теперь всё должно быть хорошо..

    правило
    вообще удали.. оно не будет отрабатывать, так как после nat PREROUTING пакеты пойдут в FORWARD а не INPUT. Ибо они не предназначаются данному устройству.

    так что тут важна политика FORWARD.. по умолчанию она accept..

    в итоге у тебя должно получиться 2 правила DNAT
    и если политика FORWARD - drop, то еще два для перекидывания с интерфейса на интерфейс

    PS: могу ошибаться в синтаксисе! я работаю с железками, а там свой линукс
     
    1 person likes this.
  5. MAQUEEN

    MAQUEEN RadioActivity

    Joined:
    27 Sep 2008
    Messages:
    422
    Likes Received:
    126
    Reputations:
    32
    taha, спасибо большое за помощь! все заработало! спасибо за то, что разжевал новичку))))