Avatar billede aesel Nybegynder
11. juni 2004 - 12:04 Der er 6 kommentarer

ftp igennem SuSE gateway

Jeg har en SuSE maskine stående som gateway mm, men når jeg prøver at få adgang til en ekstern FTP server igennem den, bliver ftp- klienten stående og venter på "directory listing" som om den bliver sorteret fra i mit iptables script.

iptables ser ud som følger:
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -j ACCEPT -i $LAN_NIC
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Hvad går der galt ?
Avatar billede strych9 Praktikant
11. juni 2004 - 12:47 #1
Prøv med ftp klienten is passive mode.
Avatar billede strych9 Praktikant
11. juni 2004 - 12:48 #2
*i passive mode
Avatar billede aesel Nybegynder
11. juni 2004 - 13:50 #3
ja der virker det, men jeg vil gerne kunne køre FTP i active... hvordan kan jeg det ?
Avatar billede strych9 Praktikant
11. juni 2004 - 13:56 #4
Må desværre skuffe dig og sige at det er umuligt med mindre du helt dropper NAT og giver maskinen ip direkte på nettet.
NAT + FTP har alle dage været en dårlig kombination. Desuden er det et svært problem at indkredse, idet problemet også sagtens kan ligge i NAT på den server du forsøger at oprette forbindelse til.

Jeg har dog eet forslag som har en spinkel chance for at virke: Der er til Netfilter/iptables et kernel modul der hedder conntrack for ftp. Få det loadet hvis du ikke allerede har.
Hvis det allerede er loadet ifølge lsmod, så er der ikke nogen måde. - Ud over at du selv griber din C compiler og retter i source koden til modulet. =)
Avatar billede aesel Nybegynder
11. juni 2004 - 16:11 #5
det har jeg ikke... hvis du fixer mig et link og et par hurtige ord om hvordan jeg får det instaleret på min SuSE 9.0 så er det dine point ;)
Avatar billede strych9 Praktikant
12. juni 2004 - 19:31 #6
1) Active ftp

The ftp client sends a port number over the ftp channel via a PORT command to the ftp server. The ftp server then connects from port 20 to this port to send data, such as a file, or the output from an ls command. The ftp-data connection is in the opposite sense from the original ftp connection.

To allow active ftp without knowing the port number that has been passed we need a general rule which allows connections from port 20 on remote ftp servers to high ports (port numbers > 1023) on ftp clients. This is simply too general to ever be secure.

Enter the ip_conntrack_ftp module. This module is able to recognize the PORT command and pick-out the port number. As such, the ftp-data connection can be classified as RELATED to the original outgoing connection to port 21 so we don't need NEW as a state match for the connection in the INPUT chain. The following rules will serve our purposes grandly:

iptables -A INPUT    -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT

http://www.sns.ias.edu/~jns/security/iptables/iptables_conntrack.html


Du kan loade ip_conntrack_ftp driveren ved at skrive:
modprobe ip_conntrack_ftp

Hvis det ikke virker så skal du til at finde source koden til den kernel du benytter, og dernæst compilere modulet ip_conntrack_ftp.

Held og lykke!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester