Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

FTP server za firewallem mikrotiku.

Návody a problémy s konfigurací.
Machca
Příspěvky: 79
Registrován: 16 years ago

Re: FTP server za firewallem mikrotiku.

Příspěvekod Machca » 13 years ago

tak jen ten pasiv se musí u těch 2003 specifikovat na portech přes skript kterej je uvedenej v tom odkazu co jsem sem dával v příkazový řádce a v IIS se muzí zatrhnout jedno zatržítko, potom to funguje krásně přes pasiv s určenými porty. To pravidlo vypadá takhle : ;;; Windows 2003 FTP Server
chain=dstnat action=dst-nat to-addresses=172.1.1.17 to-ports=21
protocol=tcp dst-address=xx.xxx.xx.xxx dst-port=21

chain=dstnat action=dst-nat to-addresses=172.1.1.17 to-ports=20
protocol=tcp dst-address=xx.xxx.xx.xxx dst-port=20

chain=dstnat action=dst-nat to-addresses=172.1.1.17 to-ports=11000-13000
protocol=tcp dst-address=xx.xxx.xx.xxx dst-port=11000-13000
0 x
Machča
Všechno jde, jen dřevěná koza a malý děti něchtěj jít.

Maxik
Příspěvky: 2579
Registrován: 17 years ago
Kontaktovat uživatele:

Příspěvekod Maxik » 13 years ago

tech portu staci i mnohem min treba jen 2 zalezi kolik konexi chceme.
0 x

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 8 years ago

Chtěl bych otevřít po letech opět toto téma.

Mám obdobný problém. Nedaří se mě z "venku" připojit přes web prohlížeč na ftp. Z vnitřku LAN to ale jde. Aktivní připojení jde.
Mám FTP puštěné na NASu Synology, kde je možnost si zvolit pro pasivní připojení čísla portů.

V NATu MT mám jako první pravidlo maškarádu, posléze loopback a pak již jednotlivá pravidla ds-nat.
Jednoduše řečeno: vše co přijde z venku na portu 21 pošli na vnitřní adresu Nasu na port 21 a pro pasívní připojení vše co přijde z venku na portu 55536-55663 pošli na vnitřní adresu NAS na porty 55536-55663. U obou pravidel mám puštěn log.

Pokud se připojím zevnitř sítě (zadávám veřejnou IP pro ftp do prohlížeče) je použito pravidlo 2 - tedy pasivní připojení a připojí se. Zápis vypadá tak, že přijde něco na náhodném portu a je přeposláno do rozsahu portů zadaném v pravidle.
Pokud se ale připojím z internetu spojení neproběhne, respektive je vidět zalogovaný user v Synology, ale zpět nic neprojde. Je při tom ale použito pravdilo 1, kdy přijde něco na náhodném portu a je přeposláno na port 21 NAsu.
Odpoledne sem hodím zápisy, ať je to jasnější.

Pokud použiju jiný router, kde mám jen základní Naty (nějaký TP link) a přeloženo jen 21 port, tak to jde.

Někdo nějaký nápad?
0 x

Uživatelský avatar
DRAKK
Příspěvky: 371
Registrován: 17 years ago

Příspěvekod DRAKK » 8 years ago

Na to mikrotiku máš vypnutý v services port 21?
0 x
******WWW.DRAKKNET.CZ******

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 8 years ago

Jasně mám. Aktivní připojení (Total Commander) jde i z veku, ale pasiv ne.
0 x

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 8 years ago

Přikládám nastavení NATu

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat comment=Loopback out-interface=bridge-local
add action=dst-nat chain=dstnat comment=FTP dst-address=192.168.196.242 dst-port=21 log=yes log-prefix=ftp_aktiv protocol=tcp to-addresses=\
10.0.0.16
add action=dst-nat chain=dstnat comment=FTP_pasiv dst-address=192.168.196.242 dst-port=55536-55567 log=yes log-prefix=ftp_pasiv protocol=tcp \
to-addresses=10.0.0.16

Zápisy z LOgu neumím kopírovat, tak jsem udělal screen a vložil na galerii

Připojení z vnitřku LAN
http://www.benyhogalerie.cz/photo/#!Alb ... 4e2e6a7067

Připojení z WAN
http://www.benyhogalerie.cz/photo/#!Alb ... 4e2e6a7067

Oboje dvoje je pasivní připojení, ale pokud jdu z venku používá port 21.
Naposledy upravil(a) Beny44 dne 28 Jan 2016 17:43, celkem upraveno 2 x.
0 x

Uživatelský avatar
goblajz
Příspěvky: 820
Registrován: 16 years ago
antispam: Ano

Příspěvekod goblajz » 8 years ago

Kód: Vybrat vše

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=21 in-interface=ether1 protocol=tcp to-addresses=192.168.196.242 to-ports=21
0 x

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 8 years ago

192.168.196.242 je IP wanu. To musí být na IP FTP serveru tedy 10.0.0.16, ale i tak to nejde.
0 x

ludvik
Příspěvky: 4448
Registrován: 13 years ago

Příspěvekod ludvik » 8 years ago

Aktivní FTP znamená, že se klient připojí na port 21 serveru, tam ho komanduje ... a datové přenosy dělá server - připojí se na klienta na nějaký dohodnutý port.
Pasivní FTP je varianta, kdy se jak pro příkazové spojení, tak pro data připojuje jen klient na server. Řeší to problémy s NATem u klientů ...

Problém vlastně v obou variantách je to, že porty si dohadují klient se serverem. Takže i v případě pasivního spojení může nastat případ, kdy ten daný port NATem neprojde.
V linuxu existuje modul (netfilter helper), který dle dat příkazovém spojení vychytává porty a ovlivňuje to druhé spojení - stává se z toho RELATED. Jak to má mikrotik netuším, nic obdobného nikde nevidím.

Problém bych viděl v tom několikanásobném NATu. To Synology řekne klientovi, aby se připojil na IP 10.0.0.16 a port 55536. No a on to udělá ... má šanci mu projít spojení na privátní adresu?
A pokud se v tom pohrabe helper na tom mikrotiku, tak z 10.0.0.16 udělá (uvnitř dat, ne jenom v hlavičce) IP adresu 192.168.196.242 ... a jsi tam, kde jsi byl, tedy v pekelných osidlech NATu.


Mimochodem tohle chování FTP je krásné v případě, kdy já ovládám dva servery a přenáším data mezi nima. Velká výhoda z dřevních dob, kterou asi už nikdo nedokáže jednoduše využít.
FTP je prostě na tohle naprd. To už je lepší použít Sambu a otevřít si port 445. Stačí jeden, a je klid.
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 8 years ago

Takže řešení přes MT neexistuje pro pasivní připojení?
Je to škoda, protože na obyčejném routeru od TPlinku to jede.

Vidím to taky tak, že něco neprojde přes NAT, protože klient je vidět na serveru, že se připojil, ale nestáhne si vůbec seznam složky a po čase se odpojí. Vyzkoušel jsem dnes Server-U se steným výsledkem pro pasivní připojení. Zevnitř z lokálu to jde, přes wan bohužel.
Pokud to nerozchodím holt budeme používat aktivní spojení přes TC a bude o pár kliků více myší.
0 x

ludvik
Příspěvky: 4448
Registrován: 13 years ago

Příspěvekod ludvik » 8 years ago

V tom tplinku bude linux stejně jako na ROS. Tzn. je ještě možnost, že máš chybu někde jinde ... V tplinku totiž nevidíš, co ve skutečnosti vytvoří za pravidla a jaké moduly použije (i když to ani ROS).
Beny44 píše:Je to škoda, protože na obyčejném routeru od TPlinku to jede.
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.

Beny44
Příspěvky: 75
Registrován: 8 years ago

Příspěvekod Beny44 » 8 years ago

Máš pravdu, v TP linku prostě některá nastavení ani nejsou což je tento případ,

Vše dělal příkaz loopback
1 X ;;; Loopback
chain=srcnat action=masquerade out-interface=bridge-local log=yes log-prefix="Lookback"

Pokud jej mám aktivní dostanu se z lokálu pasivem, pokud ho zakážu z lokálu se přes veřejnou na ftp nedostanu, ale z venku to jde.
0 x

Xiksao
Příspěvky: 1
Registrován: 12 years ago

Příspěvekod Xiksao » 8 years ago

Přidám svoje poznatky
Po dlouhém laborování jsem rozchodil ftp za natem


Kód: Vybrat vše

FTP mám na portu 9900

add action=dst-nat chain=dstnat dst-address=[wan-adresa] dst-port=9900 \
    protocol=tcp to-addresses=[ip ftp serveru] to-ports=9900
   
set ftp ports=9900,21


Takže celý problém byl v přidání portu na kterém běží ftp do services portu v MK.

Třeba to někomu pomůže.
0 x

maxdevaine
Příspěvky: 30
Registrován: 10 years ago

Příspěvekod maxdevaine » 8 years ago

Jak už tu bylo řečeno, pro ftp za natem musí být :
1) vypnutý ftp na MK
2) port forwarde pro porty 20,21 -> lokální IP:20,21
3) port forwarde pro pasivní porty 44000-44444 -> lokální IP:44000-44444
4) tyto pasivní porty je třeba mít definovány na ftp serveru
5) na ftp serveru musí být nastavena pro pasivní spojení i veřejná IP
- v případě Synology to je volba "hlásit externí IP adresu v režimu PASV"
- v případě pureftpd je to volba "ForcePassiveIP"
- v případě proftpd je to volba "MasqueradeAddress"

Toto vše je potřeba v případě, že router po cestě je "hloupý" a nemá nat helper
V případě iptables :
nf_conntrack_ftp
nf_nat_ftp

Mikrotik má NAT Helper a zapíná se v "/ip firewall service-port" (defaultně je zapnut)

Zdar Max
0 x