LINUX.ORG.RU

ProFTPd и DD-wRT - не могу настроить FTP-сервер за NAT'ом.

 , ,


0

1

Имеется: Сервер с ProFTPd во внутренней сети. Роутер Asus RT-AC52U на DD-WRT со статическим внешним айпи.

Задача: Нужно настроить доступ к серверу с ProFTPd снаружи.

Что было сделано: а) на роутере через WebGUI пробросил 21 порт и диапазон портов - 60000:65000 к локальному IP сервера. б) на сервере в /etc/proftpd/proftpd.conf указал следующее: PassivePorts 60000 65000 MasqueradeAddress <внешний-айпи>

В итоге при заходе с внешки:

[R] PASV [R] 227 Entering Passive Mode [R] Opening data connection IP: XX.YY.XX.YY PORT: 61533 [R] LIST -al

после этого долгая пауза и разрыв по таймауту.

Внутри локальной сети все работает как надо.

ЧЯДНТ?

Подозреваю, что проброс портов работает криво, но в iptables не силен. Прошу помощи!

Через консоль:

iptables -t nat -A PREROUTING -p tcp -d [внешний IP] --dport [порт или 21 или можно свой]  -j DNAT --to-destination [внутренний IP]:21
iptables -A FORWARD -i eth1 -d [внутренний IP] -p tcp --dport 21 -j ACCEPT
Сетевой интерфейс eth1 может отличатся от твоего. Настройки ProFTPd для проброса не требуются.

Тут подробнее: https://www.dd-wrt.com/wiki/index.php/Port_Forwarding

m101
()
Ответ на: комментарий от m101

21й порт он видит корректно, иначе не соединялся бы вообще. Можете привести такой же пример команд для диапазона портов (в моем случае это (60000-650000)

greenplastic
() автор топика

Модули ip_conntrack_ftp и nf_nat_ftp по идее должны помочь.

В TomatoUSB включается одной галкой в настройках. На счёт DD-WRT не знаю, ибо видел последний раз на DIR-300.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Кажется этому роутеру не хватает молотка. Я вижу что из Веб-гуя port range forwarding работать не хочет. А из консоли я еще не усвоил как это сделать. Похоже придется пробовать другие прошивки.

greenplastic
() автор топика
Ответ на: комментарий от greenplastic
iptables -t nat -A PREROUTING  -p tcp  --dport 20 -j DNAT --to 192.168.178.21:20
iptables -t nat -A PREROUTING  -p tcp  --dport 21 -j DNAT --to 192.168.178.21:21
iptables -t nat -A PREROUTING  -p tcp  --dport 60000:65000 -j DNAT --to 192.168.178.21:60000-65000
iptables -A FORWARD -s 192.168.178.21 -p tcp --sport 20 -j ACCEPT
iptables -A FORWARD -s 192.168.178.21 -p tcp --sport 21 -j ACCEPT
iptables -A FORWARD -s 192.168.178.21 -p tcp --sport 60000:65000 -j ACCEPT

Ну и как говорилось ранее подключи модули:

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

m101
()
Ответ на: комментарий от m101

Машина с фтп: 192.168.0.4

root@wrt:~# iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
 7747 1158K logaccept  0    --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 logdrop    udp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
    0     0 logdrop    udp  --  br0    *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
    0     0 logaccept  udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
 1052 54704 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp dpt:80
    4   132 logdrop    icmp --  vlan2  *       0.0.0.0/0            0.0.0.0/0   
   34  1088 logdrop    2    --  *      *       0.0.0.0/0            0.0.0.0/0   
    7   495 ACCEPT     0    --  lo     *       0.0.0.0/0            0.0.0.0/0           state NEW
  978  134K logaccept  0    --  br0    *       0.0.0.0/0            0.0.0.0/0           state NEW
  813  202K logdrop    0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
   16   832 ACCEPT     tcp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           tcp dpts:60000:65000
 1737  104K TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
    0     0 logaccept  47   --  *      vlan2   192.168.0.0/24       0.0.0.0/0   
    0     0 logaccept  tcp  --  *      vlan2   192.168.0.0/24       0.0.0.0/0           tcp dpt:1723
36240   17M lan2wan    0    --  *      *       0.0.0.0/0            0.0.0.0/0   
34877   17M logaccept  0    --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 logaccept  0    --  br0    br0     0.0.0.0/0            0.0.0.0/0   
   37  1872 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.69        tcp dpt:51330
   41  2603 logaccept  udp  --  *      *       0.0.0.0/0            192.168.0.69        udp dpt:51330
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:80
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:10000
    1   104 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:55
    0     0 logaccept  udp  --  *      *       0.0.0.0/0            192.168.0.4         udp dpt:55
    2   104 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:21
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:20
    0     0 TRIGGER    0    --  vlan2  br0     0.0.0.0/0            0.0.0.0/0           TRIGGER type:in match:0 relate:0
 1282 84938 trigger_out  0    --  br0    *       0.0.0.0/0            0.0.0.0/0 
  948 69924 logaccept  0    --  br0    *       0.0.0.0/0            0.0.0.0/0           state NEW
  334 15014 logdrop    0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain OUTPUT (policy ACCEPT 13158 packets, 6367K bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_1 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_10 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_2 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_3 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_4 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_5 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_6 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_7 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_8 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_9 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_1 (1 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_10 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_2 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_3 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_4 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_5 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_6 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_7 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_8 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_9 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain lan2wan (1 references)
 pkts bytes target     prot opt in     out     source               destination 
36240   17M grp_1      0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain logaccept (17 references)
 pkts bytes target     prot opt in     out     source               destination 
45683   18M ACCEPT     0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain logdrop (6 references)
 pkts bytes target     prot opt in     out     source               destination 
 1185  218K DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain logreject (0 references)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with tcp-reset

Chain trigger_out (1 references)
 pkts bytes target     prot opt in     out     source               destination 

greenplastic
() автор топика
Ответ на: комментарий от greenplastic

Ниже написан вывод в тот момент когда порт-форвардинг прописан через веб-морду.

root@wrt:~# iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
  119 13751 logaccept  0    --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 logdrop    udp  --  vlan2  *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
    0     0 logdrop    udp  --  br0    *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
    0     0 logaccept  udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:520
   11   564 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp dpt:80
    0     0 logdrop    icmp --  vlan2  *       0.0.0.0/0            0.0.0.0/0   
    0     0 logdrop    2    --  *      *       0.0.0.0/0            0.0.0.0/0   
    0     0 ACCEPT     0    --  lo     *       0.0.0.0/0            0.0.0.0/0           state NEW
    9   834 logaccept  0    --  br0    *       0.0.0.0/0            0.0.0.0/0           state NEW
    9   867 logdrop    0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    2   124 TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
    0     0 logaccept  47   --  *      vlan2   192.168.0.0/24       0.0.0.0/0   
    0     0 logaccept  tcp  --  *      vlan2   192.168.0.0/24       0.0.0.0/0           tcp dpt:1723
  136 17024 lan2wan    0    --  *      *       0.0.0.0/0            0.0.0.0/0   
  134 16856 logaccept  0    --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 logaccept  0    --  br0    br0     0.0.0.0/0            0.0.0.0/0   
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.69        tcp dpt:51330
    0     0 logaccept  udp  --  *      *       0.0.0.0/0            192.168.0.69        udp dpt:51330
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:80
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:10000
    1   104 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:55
    0     0 logaccept  udp  --  *      *       0.0.0.0/0            192.168.0.4         udp dpt:55
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:21
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpt:20
    0     0 logaccept  tcp  --  *      *       0.0.0.0/0            192.168.0.4         tcp dpts:60000:65000
    0     0 TRIGGER    0    --  vlan2  br0     0.0.0.0/0            0.0.0.0/0           TRIGGER type:in match:0 relate:0
    1    64 trigger_out  0    --  br0    *       0.0.0.0/0            0.0.0.0/0 
    1    64 logaccept  0    --  br0    *       0.0.0.0/0            0.0.0.0/0           state NEW
    0     0 logdrop    0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain OUTPUT (policy ACCEPT 123 packets, 13144 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_1 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_10 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_2 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_3 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_4 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_5 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_6 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_7 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_8 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain advgrp_9 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_1 (1 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_10 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_2 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_3 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_4 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_5 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_6 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_7 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_8 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain grp_9 (0 references)
 pkts bytes target     prot opt in     out     source               destination 

Chain lan2wan (1 references)
 pkts bytes target     prot opt in     out     source               destination 
  136 17024 grp_1      0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain logaccept (18 references)
 pkts bytes target     prot opt in     out     source               destination 
  275 32173 ACCEPT     0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain logdrop (6 references)
 pkts bytes target     prot opt in     out     source               destination 
    9   867 DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0   

Chain logreject (0 references)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with tcp-reset

Chain trigger_out (1 references)
 pkts bytes target     prot opt in     out     source               destination 
greenplastic
() автор топика
Ответ на: комментарий от greenplastic

Вот с этим должно заработать:

echo 1 > /proc/sys/net/ipv4/ip_forward

Это надо на ftp сервере, а не на роутере прописывать :)

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

m101
()
Ответ на: комментарий от m101

Парюсь весь Божий день... Хоть раком, хоть каром.

По существу:

1. На роутере

 echo 1 > /proc/sys/net/ipv4/ip_forward
не помогло.

2. На сервере

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
безрезультатно.

3. Смена трех разных прошивок на Asus RT-AC56U: Стоковая, Merlin, Tomato, DD-WRT, танцы с бубном и настройками. Не помогли - картина та же.

4. Смена роутера на Linksys WRT54GL - не помогло.

5. Поднятие второго FTP-сервера на FreeNAS и его проверка показали аналогичную картину. Та же проблема.

Это п*здец... Такое чувство, что дурит провайдер со своей сетью...

Вернусь домой и думаю на ноуте поднять ProFTPD, пробросить порты и проверить. Я помню, что из дома FTP в свое время работал как часы на FreeNAS и без особого гемора.

greenplastic
() автор топика
Ответ на: комментарий от greenplastic

Поднял дома сервер с аналогичной конфигурацией ProFTPD на ноуте и... РАБОТАЕТ!

20й порт фильтруется у них чтоль?

Контора платит бешеное бабло за интернет канал, а он с такими косяками?

Как грамотно вынести мозг провайдеру?

greenplastic
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.