Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
qbittorrent e iptables
#1
Anzitutto chiedo scusa se violero' alcune regole della netiquette, ma e' la prima volta che participo a una discussione.

Sistema operativo Ubuntu 18.04 LTS (amd64)

Ho configurato iptables per avere un minimo di firewalling sulla mia macchina. Ho chiuso tutte le porte non essenziali e ristretto l'accesso a internet solo a utenti (reali e di sistema) non root.
Tutto funziona perfettamente. Tuttavia ora mi trovo nella condizione di dover allentare le regole per poter permettere a qbittorrent di operare.
Ho usato il comando

netstat -pnl | grep qbittorrent

per conoscere quali porte aprire.
Il problema e' il seguente: ad ogni avvio di qbittorrent solo alcune porte restano immutate, altre cambiano, come mostrato quidi seguito:

/* Test 00 */

Connessioni Internet attive (solo server)
Proto CodaRic CodaInv Indirizzo locale        Indirizzo remoto       Stato       PID/Program name    
tcp        0      0 0.0.0.0:8999            0.0.0.0:*               LISTEN      6192/qbittorrent    
tcp6       0      0 :::8999                 :::*                    LISTEN      6192/qbittorrent    
udp    36864      0 192.168.0.2:1900        0.0.0.0:*                           6192/qbittorrent    
udp        0      0 127.0.0.1:1900          0.0.0.0:*                           6192/qbittorrent    
udp     9216      0 0.0.0.0:1900            0.0.0.0:*                           6192/qbittorrent    
udp        0      0 0.0.0.0:43020           0.0.0.0:*                           6192/qbittorrent    
udp        0      0 127.0.0.1:45412         0.0.0.0:*                           6192/qbittorrent    
udp        0      0 192.168.0.2:6771        0.0.0.0:*                           6192/qbittorrent    
udp        0      0 127.0.0.1:6771          0.0.0.0:*                           6192/qbittorrent    
udp    14080      0 0.0.0.0:6771            0.0.0.0:*                           6192/qbittorrent    
udp    18432      0 192.168.0.2:60147       0.0.0.0:*                           6192/qbittorrent    
udp    27648    768 0.0.0.0:8999            0.0.0.0:*                           6192/qbittorrent    
udp        0      0 192.168.0.2:56399       0.0.0.0:*                           6192/qbittorrent    
udp        0      0 127.0.0.1:57005         0.0.0.0:*                           6192/qbittorrent    
udp6       0      0 ::1:57921               :::*                                6192/qbittorrent    
udp6       0      0 fe80::9a18:dc5:5c7:6771 :::*                                6192/qbittorrent    
udp6       0      0 ::1:6771                :::*                                6192/qbittorrent    
udp6   14080      0 :::6771                 :::*                                6192/qbittorrent    
udp6       0      0 :::8999                 :::*                                6192/qbittorrent    
udp6       0      0 fe80::9a18:dc5:5c:60803 :::*                                6192/qbittorrent    
unix  2      [ ACC ]     STREAM     LISTENING     540546   6192/qbittorrent     /tmp/qtsingleapp-qBitto-1809-3e8

/*Test 01 */

Connessioni Internet attive (solo server)
Proto CodaRic CodaInv Indirizzo locale        Indirizzo remoto       Stato       PID/Program name
tcp        0      0 0.0.0.0:8999            0.0.0.0:*               LISTEN      12625/qbittorrent   
tcp6       0      0 :::8999                 :::*                    LISTEN      12625/qbittorrent   
udp    36864      0 192.168.0.2:1900        0.0.0.0:*                           12625/qbittorrent   
udp        0      0 127.0.0.1:1900          0.0.0.0:*                           12625/qbittorrent   
udp     9216      0 0.0.0.0:1900            0.0.0.0:*                           12625/qbittorrent   
udp    18432      0 192.168.0.2:43224       0.0.0.0:*                           12625/qbittorrent   
udp        0      0 127.0.0.1:37456         0.0.0.0:*                           12625/qbittorrent   
udp        0      0 192.168.0.2:6771        0.0.0.0:*                           12625/qbittorrent   
udp        0      0 127.0.0.1:6771          0.0.0.0:*                           12625/qbittorrent   
udp    14080      0 0.0.0.0:6771            0.0.0.0:*                           12625/qbittorrent   
udp        0      0 192.168.0.2:53938       0.0.0.0:*                           12625/qbittorrent   
udp    43776    768 0.0.0.0:8999            0.0.0.0:*                           12625/qbittorrent   
udp        0      0 0.0.0.0:58718           0.0.0.0:*                           12625/qbittorrent   
udp        0      0 127.0.0.1:54843         0.0.0.0:*                           12625/qbittorrent   
udp6       0      0 fe80::9a18:dc5:5c7:6771 :::*                                12625/qbittorrent   
udp6       0      0 ::1:6771                :::*                                12625/qbittorrent   
udp6   14080      0 :::6771                 :::*                                12625/qbittorrent   
udp6       0      0 fe80::9a18:dc5:5c:35608 :::*                                12625/qbittorrent   
udp6       0      0 :::8999                 :::*                                12625/qbittorrent   
udp6       0      0 ::1:50733               :::*                                12625/qbittorrent   
unix  2      [ ACC ]     STREAM     LISTENING     955784   12625/qbittorrent    /tmp/qtsingleapp-qBitto-1809-3e8

Per caso qualcuno dei partecipanti al forum ha qualche suggerimento???

Grazie!
Cita messaggio
Grazie da:
#2
Hai controllato le impostazioni di qbittorrent? nella sua configurazione c'è la possibilità di indicare un range di porte da usare (sono di norma già selezionate delle porte "standard" ma puoi indicarne delle altre.)
Linux User # 207701 - Non ho particolari talenti. Sono soltanto appassionatamente curioso - Albert Einstein
Cita messaggio
Grazie da:
#3
Anzitutto grazie per il tempo che mi hai dedicato.
In effetti e' stata la prima cosa che ho fatto. In Strumenti->Preferenze->Connessione e' solo possibile decidere il comportamento nella scelta della porta di listening:
(1) mantenere quella di default (8999)
(2) impostarne una diversa in maniera permanente
(3) lasciare che il programma ne individui una in maniera pseudo-casuale ad ogni avvio
Ho lasciato le impostazioni inalterate.
In Strumenti->Preferenze->Avanzate non riporta alcuna opzione disponibile che permetta di determinare un range di porte da utilizzare (almento da quanto ho capito scorrendo le varie voci).
Al momento non so che pesci pigliare e procedo per tentativi. L'ultimo e' stato il seguente:
(1) caricate le regole del firewall
(2) lanciato Qbittorrent
(3) lanciato il comando "netstat -pnl | grep qbittorrent"
(4) modificate al volo le regole del firewall aprendo le porte indicate al punto tre
(5) forzato il download di un file in prova
(6) ottenuto: niente, nada, nulla, nessuno scaricamento.
Affossante.
Cita messaggio
Grazie da:
#4
Ricordo che c'è un range di porte dedicate ai torrent, ma forse lo avevo letto nella configurazione dei firewall.
Nella parte bassa della schermata di qbittorrent vicino all'icona della velocità ed alle frecce che indicano il download e upload c'è un'icona a palla, se la connessione è ok è verde, altrimenti è gialla. La tua di che colore è? Disabilitando momentaneamente il firewall la connessione funziona? Hai provato a fare una ricerca di torrent? se si funziona?
Linux User # 207701 - Non ho particolari talenti. Sono soltanto appassionatamente curioso - Albert Einstein
Cita messaggio
Grazie da:
#5
Se hai tempo, dai un'occhiata a questa vecchia discussione

http://www.istitutomajorana.it/forum2/Th...all-Ubuntu
Cita messaggio
Grazie da:
#6
(05-07-2018,21:37 )m3nhir Ha scritto: Ricordo che c'è un range di porte dedicate ai torrent, ma forse lo avevo letto nella configurazione dei firewall.
Nella parte bassa della schermata di qbittorrent vicino all'icona della velocità ed alle frecce che indicano il download e upload c'è un'icona a palla, se la connessione è ok è verde, altrimenti è gialla. La tua di che colore è? Disabilitando momentaneamente il firewall la connessione funziona? Hai provato a fare una ricerca di torrent? se si funziona?

Disabilitando il firewall tutto funziona alla perfezione. Sono certo al 99% che il problema sia nella mancata apertura di una o piu' porte oppure nel fatto che le porte aperte sono tali solo per utenti specifici (direttiva -m owner --uid-owner "uid utente autorizzato"). Ho anche provato a monitorara il traffico dell'interfaccia eth0 con wireshark con e senza firewall attivo ma fino ad ora non si vede luce in fondo al tunnel. Continuero' a provare perche' chi l'ha dura (la capoccia) la vince.
Grazie ancora per l'attenzione e i suggerimenti.
(06-07-2018,11:07 )Gabrio Ha scritto: Se hai tempo, dai un'occhiata a questa vecchia discussione

http://www.istitutomajorana.it/forum2/Th...all-Ubuntu

Ti ringrazio per la segnalazione. Ho letto la discussione. E' senza dubbio molto interessante. Provero' a mettere a frutto alcuni dei suggerimenti trovati.

Grazie ancora.
Cita messaggio
Grazie da:
#7
Hai provato a mettere nelle opzioni del firewall la possibilità di scrivere in un file di log le eventuali connessioni stoppate, in modo da studiarle con calma e capire da quale regola nello specifico siano bloccate, in modo da poterla modificare.
Linux User # 207701 - Non ho particolari talenti. Sono soltanto appassionatamente curioso - Albert Einstein
Cita messaggio
Grazie da:
#8
(06-07-2018,22:16 )m3nhir Ha scritto: Hai provato a mettere nelle opzioni del firewall la possibilità di scrivere in un file di log le eventuali connessioni stoppate, in modo da studiarle con calma e capire da quale regola nello specifico siano bloccate, in modo da poterla modificare.

Anzitutto mi scuso per il ritardo nella risposta. Ho letto il post ieri, ma, come ogni sabato, anche quello appena trascorso e' stato mooooolto lungo (infatti si e' concluso alla 00.30 di domenica).
In effetti il suggerimento sull'impiego dei log e' un'ottima idea (non ci avevo proprio pensato: a volte l'albero nasconde la foresta) e mi sembra molto piu' fattibile che mettersi ad analizzare le catture di di wireshark. Lo metto in atto quanto prima (cioe' domani) poi rendero' conto dei risultati.
Ancora grazie e buona domenica.
Cita messaggio
Grazie da:
#9
Chiedo scusa se sono sparito per tre giorni. Ho impiegato i log per cercare di venire a capo del problema. In apparenza il problema non ha soluzione: in uscita viene impegnata una porta differente per ogni peer e/o seed che si collega alla porta di listening. Morale pensare di applicare un qualche filtro sembra impossibile. La soluzione piu' semplice sembra quella implementata in automatico quando si installa qBittorrent in Windows: permettere al programma l'accesso a qualunque porta in INPUT e in OUTPUT. Purtroppo iptables non permette di filtrare il traffico in base all'applicazione che lo genera. Quindi.......Boh?!? Continuero' a pensarci nei prossimi giorni e se trovo una soluzione non banale la postero'. Ringrazio tutti coloro che mi hanno dedicato del tempo per i consigli e i suggerimenti forniti.
Cita messaggio
Grazie da:
#10
Niente da fare! Alla fine sono riuscito a far funzionare correttamente qbittorrent, ma questo significa abbassare la protezione del firewall a livelli di sicurezza che definire inaccettabili e' un cortese eufemismo. Tra le altre cose i geni del team Netfilter hanno avuto anche la folgorante idea di eliminare le opzioni --cmd-owner e --pid-owner; per quale motivo non e' dato sapere (o meglio non e' dato sapere a meno che il lettore no abbia le competenze di Edward Snowden). Un tapino mio pari ha osato chiedere lumi ai diretti responsabili ma e' stato malamente liquidato, quindi neanche mi azzardo a indagare oltre.
In ogni caso posto qui di seguito le regole che utilizzo (anche se sono di una tale banalita' che un po' mi vergogno). Se ha qualcuno dei partecipanti al forum avesse idee migliori, resto sempre aperto a nuovi suggerimenti. Grazie a tutti.

##################################
# Protocollo IPv4
##################################
#####################################################################################################

# Set di regole INPUT Chain per permettere il file sharing con QbitTorrent

iptables -A INPUT -p udp --sport 8999 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT # Listening port
iptables -A INPUT -p tcp --sport 8999 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT # Listening port

iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

####################################################################################################

#####################################################################################################

# Set di regole OUTPUT Chain per permettere il file sharing con QbitTorrent

iptables -A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -m owner --uid-owner 1000 -j ACCEPT # Listening port
iptables -A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -m owner --uid-owner 1000 -j ACCEPT # Listening port

#####################################################################################################


##################################
# Protocollo IPv6
##################################
#####################################################################################################

# Set di regole INPUT Chain per permettere il file sharing con QbitTorrent

ip6tables -A INPUT -p udp --sport 8999 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT # Listening port
ip6tables -A INPUT -p tcp --sport 8999 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT # Listening port

ip6tables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT

####################################################################################################

#####################################################################################################

# Set di regole OUTPUT Chain per permettere il file sharing con QbitTorrent

ip6tables -A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -m owner --uid-owner 1000 -j ACCEPT # Listening port
ip6tables -A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -m owner --uid-owner 1000 -j ACCEPT # Listening port

#####################################################################################################
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)