ktorrent e iptables

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

ktorrent e iptables

Messaggio da red »

Ancora una volta con le gioie e i dolori di iptables.

Per farla breve ho un server che fa il routing con iptables verso la rete interna.
Su uno dei pc della rete interna uso ktorrent per scaricarmi la slack.

Problema 1:
ktorrent mi segna tempo infinito e non scarica nulla

Soluzione 1:
ho abbattutto il firewall con una configurazione che fa il semplice routing senza filtrare nulla, ktorrent si cerca i seed e inizia a scaricare. La cosa interessante è che se a questo punto rimetto il firewall che fa anche il filtraggio, continua tranquillamente a scaricare.
Quindi non so come, prima veniva bloccata la ricerca dei seed, ma una volta fatta non ha più problemi... perché?

Problema 2:
ktorrent non mi fa l'upload e quindi non condivido, questo sia con la configurazione di iptables che fa solo il routing, sia ovviamente con quella che fa anche il filtering.

Ovviamente nella configurazione del firewall ho impostato il forwarding verso la rete interna sulle porte che ktorrent mi dice di usare (che ho trovato in Setting-->Configure KTorrent) cioè la udp 4444 e la tcp 6881.

Come risolvo?!?

Thanks ;)

P.S.: se serve fatemi sapere e posto lo script.

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: ktorrent e iptables

Messaggio da robbybby »

... La cosa interessante è che se a questo punto rimetto il firewall che fa anche il filtraggio, continua tranquillamente a scaricare.
Quindi non so come, prima veniva bloccata la ricerca dei seed, ma una volta fatta non ha più problemi... perché?
Ti so rispondere solo a questa parte (sperando di non dire una cavolata :) ): probabilmente e' perche' nelle regole del firewall hai una regola che ti fa passare le connessioni established/related.

Avatar utente
ksniffer
Linux 3.x
Linux 3.x
Messaggi: 540
Iscritto il: lun 30 lug 2007, 13:18
Kernel: 2.6.34
Desktop: KDE 4.4.4
Distribuzione: ArchLinux
Contatta:

Re: ktorrent e iptables

Messaggio da ksniffer »

red ha scritto: Problema 2:
ktorrent non mi fa l'upload e quindi non condivido, questo sia con la configurazione di iptables che fa solo il routing, sia ovviamente con quella che fa anche il filtering.

Ovviamente nella configurazione del firewall ho impostato il forwarding verso la rete interna sulle porte che ktorrent mi dice di usare (che ho trovato in Setting-->Configure KTorrent) cioè la udp 4444 e la tcp 6881.
Al problema 1 ti ha risposto robbybby.

Problema 2: basta solo la 6881 ma sia tcp che udp.

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: ktorrent e iptables

Messaggio da red »

@robbybby
Ti ringrazio, anche io avevo pensato la stessa cosa. Tuttavia per risolvere dovrei mettere anche il tag "NEW" no? Però perderei tutta la sicurezza a sto punto o sbaglio?

@ksniffer
sinceramente avevo provato, ma per essere sicuro ora ritento anche col discorso udp e vi faccio sapere.

Intanto grazie.

Avatar utente
robbybby
Linux 4.x
Linux 4.x
Messaggi: 1223
Iscritto il: sab 16 dic 2006, 10:48
Slackware: 13.1 / 64 bit
Kernel: 3.3.x
Desktop: KDE 4.4.5
Località: Fra Trantor e Terminus

Re: ktorrent e iptables

Messaggio da robbybby »

Se accetti le connessioni new, tanto vale togliere il firewall :shock:

Non sono molto esperto, ma forse se accettassi solo le new udp e tcp, dirette alla porta 6881 dovrebbe andare. E staresti comunque sicuro.

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: ktorrent e iptables

Messaggio da red »

Ho provato varie soluzioni, ma nulla è cambiato.
Domani faccio altri test e posto lo scriptdi firewall. Ora letto!

Notte!

Avatar utente
red
Linux 3.x
Linux 3.x
Messaggi: 810
Iscritto il: gio 20 gen 2005, 0:00
Slackware: current
Kernel: 6.6.12
Desktop: fluxbox
Località: Verona
Contatta:

Re: ktorrent e iptables

Messaggio da red »

Rieccomi. Ho fatto 1000 prove, ma ancora non sono riuscito ad usare il torrent.

Vi posto il mio rc.firewall sperando che qualcuno abbia la pazienza di aiutarmi a capire il perché non va.
(Come vedrete ad un certo punto elenco tutte le porte da aprire per i forwarding, ognuna preceduta da una riga che dice per quale programma o servizio. Se vedete ho settato anche la 6881 e la 4444 per bittorrent e ktorrent e avevo fatto prove anche aprendo le porte fino alla 6999 perché in giro avevo letto che erano tutte papabili per il torrent.)

So che è un file lungo, ma se qualcuno avrà la bontà di dargli un'occhiata mi farà un grandissimo piacere.

Codice: Seleziona tutto

#!/bin/bash
EXTIF=ppp0
INTIF=eth0
INTMASK=192.168.5.0/24
IPTABLES=/usr/sbin/iptables

#CARICAMENTO MODULI:
#-------------------
/sbin/modprobe ip_conntrack_ftp

#ricavo l'ip che mi viene assegnato
#----------------------------------

#EXTIP=`/sbin/ifconfig $EXTIF | grep 'inet addr' | cut -d : -f 2 | cut -d ' ' -f 1`
#if [ "x$EXTIP" == "x" ]
#then
#  echo "Reperimento IP esterno fallito per l'interfaccia $EXTIF"
#  exit 1
#fi

#INIZIALIZZAZIONE
#----------------

$IPTABLES -F
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -t nat -F
$IPTABLES -t nat -X

#NUOVE CATENE
#------------

#log & drop

$IPTABLES -N loganddrop
$IPTABLES -A loganddrop -j LOG --log-level info --log-prefix "dropping"
$IPTABLES -A loganddrop -j DROP

#log & reject

$IPTABLES -N logandreject
$IPTABLES -A logandreject -j LOG --log-level info --log-prefix "rejecting"
$IPTABLES -A logandreject -j REJECT

#log & accept

$IPTABLES -N logandaccept
$IPTABLES -A logandaccept -p tcp --syn -j LOG --log-level info --log-prefix "accepting"
$IPTABLES -A logandaccept -j ACCEPT

#LISTA HOST MASCHERATI
#---------------------

$IPTABLES -N listmasqhosts
$IPTABLES -t nat -N listmasqhosts
$IPTABLES -A listmasqhosts -s $INTMASK -j logandaccept
$IPTABLES -t nat -A listmasqhosts -s $INTMASK -j ACCEPT

#ANTISPOOF
#---------

#$IPTABLES -N spoof
#$IPTABLES -A spoof -i lo -j RETURN

#RETE PRIVATA
#------------

#$IPTABLES -A spoof -i $EXTIF -s $INTMASK -j RETURN
#$IPTABLES -A spoof -i $INTIF -j RETURN
#$IPTABLES -A spoof -j loganddrop

###REGOLE DI INPUT
###---------------

#$IPTABLES -A INPUT -j spoof
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -p icmp -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED -j ACCEPT

#SERVER VISIBILI NELLA RETE PRIVATA
#----------------------------------

#dhcp
#$IPTABLES -A INPUT -i $INTIF -p udp --destination-port 67 -j ACCEPT

#dns
$IPTABLES -A INPUT -i $INTIF -p udp --destination-port 53 -j ACCEPT

#www
$IPTABLES -A INPUT -i $INTIF -p tcp --destination-port 80 -j ACCEPT
$IPTABLES -A INPUT -i $INTIF -p tcp --destination-port 443 -j ACCEPT

#porta per www usata per "connection hijacking"
#$IPTABLES -A INPUT -i $INTIF -p tcp --destination-port 8001 -j ACCEPT

#SERVER VISIBILI DA INTERNET
#---------------------------

#ssh
$IPTABLES -A INPUT -i $INTIF -p tcp --destination-port 22 -j ACCEPT
#$IPTABLES -A INPUT -i $EXTIF -p tcp --destination-port 22 -j ACCEPT

#####POLICY DELLA LAN
#####----------------
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT

#PORTE DI CUI ACCETTO IL FORWARD
#-------------------------------

#dns
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 53 -j ACCEPT

#http
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 80 -j ACCEPT

#irc
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6667:6669 -j ACCEPT

#msn messenger
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 443 -j ACCEPT

#torrent
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6881 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 4444 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6881 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 4444 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6881:6889 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6902:6999 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6881:6889 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6902:6999 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 1102 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 27065 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 27065 -j ACCEPT

#amsn
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 1863 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 1863 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6890 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6890 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6890:6901 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6890:6901 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6891 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6891 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6892 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6892 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6901 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 6901 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 14300 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 12352 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 7790 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 5190 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 5190 -j ACCEPT

#vecchio protocollo video messenger: H.323
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 1720 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 1720 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 1503 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 1503 -j ACCEPT

#ssh
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 22 -j ACCEPT

#pop3
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 110 -j ACCEPT

#smtp
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 25 -j ACCEPT

#ftp
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 20 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 21 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 443 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 1025:65535 -j ACCEPT
#$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#lineage
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 2009 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 2106 -j ACCEPT
#$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 7776 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 7777 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 7778 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 6007 -j ACCEPT

#teamspeak2
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 8767 -j ACCEPT

#amule
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p tcp --dport 4662 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 4672 -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -p udp --dport 4665 -j ACCEPT

#PORTE CHE BLOCCO
#----------------

#catena forward
$IPTABLES -A FORWARD -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A FORWARD -p udp -j ACCEPT

#catena input
$IPTABLES -A INPUT -p tcp -j ACCEPT
$IPTABLES -A INPUT -p udp -j ACCEPT

#catena output
$IPTABLES -A OUTPUT -p tcp -j ACCEPT
$IPTABLES -A OUTPUT -p udp -j ACCEPT

#####FINE POLICY LAN

#FACCIO IL REJECT DI TUTTO IL RESTO
#----------------------------------
$IPTABLES -A INPUT -j logandreject

###REGOLE DI FORWARD
###-----------------

#$IPTABLES -A FORWARD -j spoof
$IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED -j ACCEPT

#TRAFFICO CHE SALTA IL CONTROLLO
#-------------------------------
#$IPTABLES -A FORWARD -i $INTIF -d webmail.rossignoli.org -p tcp --destination-port 443 -j ACCEPT

$IPTABLES -A FORWARD -j listmasqhosts
$IPTABLES -A FORWARD -j DROP

#tabella nat
#$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 6881:6999 -j DNAT --to-destination 192.168.5.2
#$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 4444 -j DNAT --to-destination 192.168.5.2:4444
#$IPTABLES -t nat -A PREROUTING -p tcp --dport 6881:6889 -j DNAT --to-destination 192.168.5.2
$IPTABLES -t nat -A PREROUTING -j listmasqhosts

#transparent www port forwarding
#$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --destination ! $INTMASK --destination-port 80 -j REDIRECT --to-ports 8001

#$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j SNAT --to-source $EXTIP
$IPTABLES -t nat -I POSTROUTING -s $INTMASK -o $EXTIF -j MASQUERADE

###REGOLE DI OUTPUT
###----------------

#ci assicuriamo che pacchetti con indirizzi privati non siano leaked in internet
$IPTABLES -A OUTPUT -o $EXTIF -s $INTMASK -j loganddrop

Rispondi