Allt från Computex 2023

proftpd - ändra datakanalsport?

Permalänk

proftpd - ändra datakanalsport?

Jag kör en proftpd-server och jag kan komma åt den från insidan närveterket.

Det blir dock problem när jag försöker utifrån, klienten sätter passive mode men sedan blir det connection refused när datakanalen ska öppnas.

[R] 227 Entering Passive Mode (IP). [R] Opening data connection IP: IP PORT: 65309 [R] Data Socket Error: Connection refused [R] List Error

Jag har passiveportarna på 60000-65535 och huvudporten på 47, dessa har jag naturligtvis öppnat i routern.

Jag misstänker att det är nå prob med att datakanalen försöker ta en port som inte är öppen.
Kan man speca vilken port som ska användas för datakanal i Proftpd?

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Medlem

Kan du komma åt server passivt innifrån? Om inte så kanske serverns egna brandvägg ligger och blockerar.

Visa signatur

Stolt användare av en ibook 300 MHz (dasslocket)

Permalänk
Hedersmedlem

(IP) i loggen är alltså ditt riktiga, yttre ip?

Här står hur du konfigurerar bakom NAT.

Visa signatur

I have free will but I choose to oscillate

Permalänk
Citat:

Ursprungligen inskrivet av zypher_X
Kan du komma åt server passivt innifrån? Om inte så kanske serverns egna brandvägg ligger och blockerar.

Ja, jag kan komma åt innifrån nätverket. Har ingen fw på servern eftersom jag har en router med det i.

Till Aphex:
Ja, det står att clienten försöker connecta till mitt externa ip.

Jag har följt den guiden och satt masqueradeaddress samt passiva portar.
De passiva är inom spannet för vad routern ska släppa igenom och masqueraden är satt till mitt externa ip.

Förstår inte riktigt varför ingen kan connecta utifrån trots öppna portar.

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Hedersmedlem

Loggen där uppe kommer alltså från en dator som inte sitter innanför din router, och försöker ansluta till ftpn utifrån internet, in genom routern?

Dra igång tcpdump och kolla om dataanslutningen kommer fram till servern, gör den det får du aktivera debugloggning i proftpd och försöka ta reda på varför den inte svarar.

Visa signatur

I have free will but I choose to oscillate

Permalänk
Citat:

Ursprungligen inskrivet av Aphex
Loggen där uppe kommer alltså från en dator som inte sitter innanför din router, och försöker ansluta till ftpn utifrån internet, in genom routern?

Dra igång tcpdump och kolla om dataanslutningen kommer fram till servern, gör den det får du aktivera debugloggning i proftpd och försöka ta reda på varför den inte svarar.

Jag kollade med tcpdump och användaren kommer åt servern men något går fel väl inne.
Slog på debuglevel 9 och hittade en massa sådant här i loggarna.

Nov 27 06:40:32 localhost proftpd[4940]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 6 usecs Nov 27 06:40:34 localhost proftpd[4941]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 21 usecs Nov 27 06:40:37 localhost proftpd[4942]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 12 usecs Nov 27 06:40:39 localhost proftpd[4943]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 32 usecs Nov 27 06:40:41 localhost proftpd[4943]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 709476 usecs Nov 27 06:40:44 localhost proftpd[4944]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 31 usecs Nov 27 06:40:44 localhost proftpd[4944]: localhost.localdomain (hostmask[ip]) - mod_delay/0.4: delaying for 2911422 usecs Från syslog: Nov 27 06:40:47 localhost proftpd[4944]: localhost.localdomain (hostmask[ip]) - Refused PORT ip (address mismatch)

Den sista delayen ser rätt rejäl ut, varför gör daemonen så?

I auth-loggen står det att "user logged in successful."
När jag testar i ws_ftp står det 500 illegal PORT command.
Jag har satt masquesradeaddress till det extrena ipt, varför får jag ändå mismatch?

Sedan har jag en annan fråga, jag har dynamisk ip så jag byter så fort min router startas om vilket gör att mitt externa ip byts lika ofta.
Finns det något bra sätt att slippa uppdatera configen vid byte av ip?

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Medlem

För att lösa problemet med att ip byts så kan du koppla till en no-ip eller en dyndns domän till ditt ip och använda den som masquerade och sen sköta uppdateringen av domänen via din router om den har stöd för det eller via någon klient som stöds av tjänsten.

Permalänk

Jag testade att byta bindadressen till mitt lokala ip för servern eftersom den troligen inte vet om vad routern har fått för externt ip men det hjälpte inte.

Jag har satt masqueradeaddress (hedanefter kallat "ma") till mitt no-ip-konto, räcker det med det?

[edit]Slog på AllowForeignAddress och då kom använden in men fick no route to host. Varför försöker användarnas clienter connecta från olika ipn?[/edit]

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Medlem

Så ser min config ut och fungerar utmärkt genom routern.

Port 5212
PassivePorts 60054 60100
MasqueradeAddress xxx.mine.nu

inget annat förutom det finns som är relaterat till "nätverksdelen" av configen

Permalänk
Citat:

Ursprungligen inskrivet av Alvedon
Så ser min config ut och fungerar utmärkt genom routern.

Port 5212
PassivePorts 60054 60100
MasqueradeAddress xxx.mine.nu

inget annat förutom det finns som är relaterat till "nätverksdelen" av configen

I varenda tutor jag har läst står det att man måste tillåta kommunikation i båda riktningarna på port 20. Gäller det även om man ändrar från port 21?
Om så är fallet borde det gå bättre om jag öppnar port 20 också

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Medlem

FTP protokollet fungerar så att man använder 2 portar, en för data och en för själva kommandon, vanligtvis är detta 20-21, men regeln är port x samt port x-1. Men du kan låta klienterna ansluta via passive mode och då initierar klienten dataporten och du behöver inte öppna två portar för den. Jag har endast öppnat de portarna jag skrev ovan i min router och låter klienterna ansluta i passive mode. Prova låta någon koppla upp sig mot din ftp i passive respektive active mode och se om det gör någon skillnad.

Permalänk
Citat:

Ursprungligen inskrivet av Alvedon
FTP protokollet fungerar så att man använder 2 portar, en för data och en för själva kommandon, vanligtvis är detta 20-21, men regeln är port x samt port x-1. Men du kan låta klienterna ansluta via passive mode och då initierar klienten dataporten och du behöver inte öppna två portar för den. Jag har endast öppnat de portarna jag skrev ovan i min router och låter klienterna ansluta i passive mode. Prova låta någon koppla upp sig mot din ftp i passive respektive active mode och se om det gör någon skillnad.

Försöker jag connecta med active får jag illegal port command, sedan börjar clienten (ws_ftp) conna med passive (?).
Det blir dock inte roligare än så eftersom det inte händer nå mer.

Det stör mig att clienten kör portkommandot mot ett annat ip.

Förloppet i active mode: Connecting to [ext ip]:47 Connected to [ext ip]:47 in 0.000000 seconds, Waiting for Server Response 220 ProFTPD 1.2.10 Server (.: Ph0B1uS :. FTP Server) [ext ip] Host type (1): Automatic detect USER ftpuser 331 Password required for ftpuser. PASS (hidden) 230 User ftpuser logged in. SYST 215 UNIX Type: L8 Host type (2): UNIX (standard) PWD 257 "/" is current directory. TYPE A 200 Type set to A PORT [internt ip],6,75 500 Illegal PORT command Port failed 500 Illegal PORT command PASV 227 Entering Passive Mode ([ext ip],234,129). connecting data channel to [ext ip]:234,129(60033) Och Passive: Connecting to [ext ip]:47 Connected to [ext ip].51:47 in 0.000000 seconds, Waiting for Server Response 220 ProFTPD 1.2.10 Server (.: Ph0B1uS :. FTP Server) [ext ip] Host type (1): Automatic detect USER ftpuser 331 Password required for ftpuser. PASS (hidden) 230 User ftpuser logged in. SYST 215 UNIX Type: L8 Host type (2): UNIX (standard) PWD 257 "/" is current directory. TYPE A 200 Type set to A PASV 227 Entering Passive Mode ([ext ip],234,115). connecting data channel to [ext ip]:234,115(60019) PORT [internt ip],6,79 500 Illegal PORT command Port failed 500 Illegal PORT command

Jag testade även att köra med pure-ftpd och den sa att den inte kunde genomföra PORT pga. att ipt som kom utifrån inte matchade det som PORT kördes mot.

Går det inte att få servern att inte försöka resolva/byta ut ipt clienten ansluter från?

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Alvedon
FTP protokollet fungerar så att man använder 2 portar, en för data och en för själva kommandon, vanligtvis är detta 20-21, men regeln är port x samt port x-1.

Det kommer aldrig några anslutningar TILL port 20, så man behöver inte öppna den på det viset, i en router.

Citat:

Ursprungligen inskrivet av .: Ph0ß1u§ :.
Försöker jag connecta med active får jag illegal port command, sedan börjar clienten (ws_ftp) conna med passive (?).
Det blir dock inte roligare än så eftersom det inte händer nå mer.

Det stör mig att clienten kör portkommandot mot ett annat ip.

Jag testade även att köra med pure-ftpd och den sa att den inte kunde genomföra PORT pga. att ipt som kom utifrån inte matchade det som PORT kördes mot.

Går det inte att få servern att inte försöka resolva/byta ut ipt clienten ansluter från?

Att port(active) inte fungerar är ett fel hos klienten eftersom den ger ett internt ip som servern omöjligen kan ansluta till. Klienten sitter alltså själv bakom en NAT och måste anpassa sitt program därefter eller hålla sig till passive mode. Jag rekommenderar att du koncentrerar dig på att fixa PASV först och främst eftersom det är viktigare för att få en fungerande ftp-server.

[QUOTE]Finns det något bra sätt att slippa uppdatera configen vid byte av ip? [/QUOTE]Gör som Alvedon och använd något i stil med "MasqueradeAddress xxx.mine.nu".

Visa signatur

I have free will but I choose to oscillate

Permalänk
Citat:

Ursprungligen inskrivet av Aphex
[B]Det kommer aldrig några anslutningar TILL port 20, så man behöver inte öppna den på det viset, i en router.

Att port(active) inte fungerar är ett fel hos klienten eftersom den ger ett internt ip som servern omöjligen kan ansluta till. Klienten sitter alltså själv bakom en NAT och måste anpassa sitt program därefter eller hålla sig till passive mode. Jag rekommenderar att du koncentrerar dig på att fixa PASV först och främst eftersom det är viktigare för att få en fungerande ftp-server.

Gör som Alvedon och använd något i stil med "MasqueradeAddress xxx.mine.nu".

Jag har en masqueradeaddress som är Ph0B1uS.game-host.org vilket jag också skrivit in i configgen men det hjälper inte.

Jag försöker få PASV att fungera, anledningen till att jag skrev med vad som händer i active var att "alvedon" tyckte jag skulle testa med båda för att se om det gjorde någon skillnad.

Det låter lite märkligt med clienten, jag har testat flashFXP, WS_FTP, leapFTP och de ger liknande felmeddelanden.
Låt gå för att de är mer eller mindre utförliga men de säger i princip samma sak.

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av .: Ph0ß1u§ :.
Det låter lite märkligt med clienten, jag har testat flashFXP, WS_FTP, leapFTP och de ger liknande felmeddelanden.
Låt gå för att de är mer eller mindre utförliga men de säger i princip samma sak.

Klart de gör, de MÅSTE ange sitt externa ip och en öppen, forwardad port tillsammans med PORT, finns ingen chans i hälsingland att det fungerar annars.

Citat:

Jag kollade med tcpdump och användaren kommer åt servern men något går fel väl inne.

Det viktiga är om dataanslutningen kommer fram. gjorde den det? vad svarade isf servern?

Visa signatur

I have free will but I choose to oscillate

Permalänk
Citat:

Ursprungligen inskrivet av Aphex
Klart de gör, de MÅSTE ange sitt externa ip och en öppen, forwardad port tillsammans med PORT, finns ingen chans i hälsingland att det fungerar annars.Det viktiga är om dataanslutningen kommer fram. gjorde den det? vad svarade isf servern?

Jag är inte så 1337 på ftp, har bara använt sftp och där existerar inte de här problemen men måste clienten ha en port öppen för passive också?
Om ja, måste den vara i samma range som severns?

Det stannar vid illegal PORT command, mer händer inte.

Fick en felkod till när en polare provade med IE:

500 LPRT not understood

Låter ganska IE-specifikt.

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av .: Ph0ß1u§ :.
Jag är inte så 1337 på ftp, har bara använt sftp och där existerar inte de här problemen men måste clienten ha en port öppen för passive också?
Om ja, måste den vara i samma range som severns?

Nej.
[QUOTE]Det stannar vid illegal PORT command, mer händer inte. [/QUOTE]Jag menade i tcpdump, när du kör passive.

Visa signatur

I have free will but I choose to oscillate

Permalänk

Jag har satt passive range till 60000-60000 och övervakar den porten med tcpdump -vvv men det händer inget.
Inte ens när jag lyckas connecta internt.

WTF?

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination

Permalänk
Hedersmedlem

Du måste titta på rätt interface, tcpdump -i eth0 osv..

Visa signatur

I have free will but I choose to oscillate

Permalänk
Citat:

Ursprungligen inskrivet av Aphex
Du måste titta på rätt interface, tcpdump -i eth0 osv..

Jag har bara ett interface och det är eth0. Loopbacken ignoreras väl by default om jag inte har helt fel.

Visa signatur

(\ /)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination