Guide

Link

Versione: 3.1
Ultimo Aggiornamento: 4 Settembre 2010

Per scaricare o mandare dei file tramite il programma mIRC (o altro programma) viene utilizzato un sistema (protocollo) detto DCC, molto flessibile ma che senza un'adeguata configurazione rende impossibile ad utenti che utilizzano un Router (ad es. per condividere ADSL tra piu' PC), di scaricare file in DCC da utenti FastWeb che a loro volta si trovano dietro ad un Router avanzato detto Gateway e anche di inviare i file tramite DCC o cmq pone serie limitazioni ad altri programmi.
Purtroppo non e' immediato effettuare degli scambi di file tra due Router, ma e' necessario modificare manualmente sia la configurazione del mIRC (o di altro programma di sharing) che gestisce le DCC, sia quella del Router.

N.B.: La spiegazione che segue è per mIRC ma va bene anche per qualsiasi altro programma con gli opportuni adattamenti

Prima di procedere è necessario chiarire alcune sigle:

Lan o Rete Locale: E' formata da almeno due schede di rete collegate tra di loro, esempio da un PC e un Router, ogni scheda di rete ha un indirizzo IP che la identifica in modo univoco all'interno della rete locale.

IP che rappresenta un indirizzo numerico del tipo 192.168.200.100 (esempio!) con il quale si identifica un PC in una rete, può essere di tipo DINAMICO ovvero assegnato casualmente ad ogni avvio del pc da un server DHCP (tipicamente il router ha un server DHCP interno che assegna gli IP ai pc in LAN) oppure di tipo STATICO (ovvero assegnato in maniera manuale dall'utente).

Esistono due tipi di IP:

INTERNO: è l'ip che ha il vostro PC nella rete locale (anche se avete un solo pc e avete un router avete in ogni caso una piccola LAN!) ed è quello che potete modificare nelle proprietà della scheda di rete per la cui guida rimando a un link riportato più avanti ed è indifferente che la scheda sia WIFI o con il cavo, la procedura è UGUALE ed è configurabile a piacere , questo IP è raggiungibile solo all'interno della vostra rete LAN (quindi dal router e da altri pc collegati al vostro router)

ESTERNO: è l'ip che il provider assegna al router quando vi collegate ad internet (questo non è modificabile) ed è quello che vedranno gli altri utenti su internet

NAT o Port Forwarding (chiamato SUA sui router Zyxel) che indica una funzione propria dei Router che permette di "aprire una porta" su Internet ed associarla ad un indirizzo IP di un computer in una Rete Locale.

La prima cosa da fare e' verificare sul Router se sia presente ed attivo il NAT (o SUA) e che il computer della propria Rete Locale su cui si vuole usare mIRC, sia dotato di un IP fisso INTERNO che non cambi mai (NON DHCP), normalmente la scheda di rete è impostata per avere l'IP assegnato in maniera casuale dal router.
Una volta fatto questo controllo, configurate il NAT del Router per associare le porte dalla 1024 alla 1029 (o anche piu') all'IP del PC scelto per usare mIRC.


Il passo successivo e' configurare il DCC nel mIRC affinche' operi solo sulle porte inserite prima nel NAT sul Router, nell'esempio dalla 1026 alla 1031.
Per fare questo, in mIRC bisogna andare nel menù File/Options (dal 6.1x è View/options/) selezionare la voce DCC/Options (dal 6.14 è Connect/Options/Advanced) ed inserire in "DCC Ports" :

First: 1026 (o la porta iniziale che avete scelto)

Last: 1031 (o la porta finale che avete scelto)

 

Impostazioni mIRC

 

e in "Max Sends": 5 (o piu' in base al numero di porte configurate).

Per chi usa KVIRC le porte sono da inserire nel Pannello DCC -> Avanzate delle impostazioni Generali abilitando la voce "Usa il range di porte locali definite dall'utente"

Impostazioni KVirc

Va precisato che il DCC per richiedere ogni file utilizza e poi libera una porta, e per ogni trasferimento di file utilizza ed occupa un'altra porta; nel nostro esempio con 5 porte configurate (1026/1031) al meglio si potranno trasferire contemporaneamente 4 file. La scelta migliore rimane configurare un numero di porte doppio rispetto al numero medio di download contemporanei
che si e' soliti effettuare.

A questo punto dovresti essere in grado di scaricare dai FastWeb e inviare ad altri (almeno si spera :-)))

Prima di esultare sappi che rimangono comunque alcuni effetti "collaterali":
Il procedimento fin qui descritto limita fortemente le porte utilizabili dal mIRC (di default vanno dalla 1024 alla 5000!) per scaricare file, quindi è possibile che alcuni trasferimenti non riescano a partire al "primo colpo", perchè l'fserve dal quale si tenta di scaricare invia il file su una porta non configurata.
In questi casi l'unica "soluzione" rimane ritentare a scaricare il file, finche' l'fserve non invia il file su una porta libera configurata nel NAT del Router.

L'incoveniente piu' grande invece e' dovuto al fatto che con questa configurazione si limita il numero di trasferimenti *totali* contemporanei (quindi non solo FastWeb ma anche da altri utenti ADSL, ISDN, etc.) che e' possibile effettuare, per via delle limitazioni sul numero di porte configurate nel NAT del Router, spiegato sopra.

Dando per scontato che avete già impostato un IP fisso al pc nello stesso range del router (fate riferimento al manuale di istruzioni del router per sapere che IP ha, e se non avete già provveduto ad assegnare al pc un IP fisso fatelo ora, se non sapete come configurare l'ip INTERNO del pc potete fare riferimento a questa guida adattando ovviamente l'ip alle vostre esigenze), e impostate come Gateway e Server DNS l'ip del vostro router, accedete all'interfaccia di gestione del router digitando nella barra del browser che usate l'ip del router, esempio:

http://10.0.0.2/

(ma potrebbe essere diverso, ripeto: questo è solo un esempio, leggete sul manuale del vostro router che ip dovete mettere!!!)

e mettete username e password per accedere all'interfaccia di gestione (anche per questa voce fate riferimento al manuale del vostro router sempre che non abbiate già cambiato la password), fatto questo si apre l'interfaccia del router e scorrete le varie opzioni fino a trovare la voce "Virtual Server" (attenzione: la voce potrebbe essere diversa (NAT o Port Forward), fate comunque sempre riferimento al manuale del vostro router)

Nella schermata che appare c'è una riga con scritto un numero (una specie di indice) e altri rettangoli che inizialmente sono vuoti, riempiteli con i valori delle porte che volete aprire (il range delle porte lo decidete voi, queste sono solo un esempio!!), esempio:

 

Item
Private Port
Public Port
Address
Tipo
1 1026 1026 (ip del vostro pc) TCP
2 1026 1026 (ip del vostro pc) TCP

oppure a seconda del modello anche una schermata simile:

Porta
IP
1026 (ip del vostro pc)
1027 (ip del vostro pc)
............. ..................
1030 (ip del vostro pc)
1031 (ip del vostro pc)

Alcuni router permettono di impostare un range di porte, in questo caso mettete la prima e l'ultima porta seguita dall'IP del pc a cui volete assegnare questo range:

Porta inziale
Porta finale
IP
Regola 1 1026 1031 Ip del vostro pc
       
       

Senza specificare se TCP o UDP (verranno aperte sia in TCP che in UDP), se permette di impostare TCP o UDP specificate TCP (questo per mIRC, altri programmi richiedono l'apertura anche di porte UDP)

e proseguite fino a mettere tutte le porte che volete aprire (ATTENZIONE: le porte devono essere consecutive partendo dalla più bassa fino ad arrivare alla più alta!!), fatto questo salvate le impostazioni sul router che farà un reboot interno scollegandovi quindi temporaneamente da internet (non tutti i modelli lo richiedono), dopodichè dovete impostare su mIRC la porta iniziale e finale che avete aperto andano in options/connect/options/advanced da mirc 6.14 in poi, (se avete una versione di mIRC precedente andate in options/dcc/options), esempio se avete aperto le porte da 1026 a 1031 mettete 1026 in first e 1031 in Last e confermate, e buon download/upload!

Attenzione: se impostando le porte da 1026 a 1031 (che ripeto sono solo di esempio!!!) la DCC non va, provate a cambiare il range delle porte, esempio da 3000 a 3006 , se avete problemi con il resume provate ad aprire le seguenti porte:

113 TCP - Identd (consigliato per permettere un collegamento rapido del mIRC al server IRC)

e da 6666 a 6669 - usate per collegarsi di solito ai server irc

Potrebbe anche essere necessario disattivare una voce DMZ se presente, ma in questo caso è OBBLIGATORIO l'uso di un firewall software sul pc

Se come router usi un pc con Linux/Unix segui le istruzioni qua sotto:

Per gli utenti Linux/Unix che possono configurare il loro gateway nell'ipotesi di utilizzare iptables (kernel 2.2 e superiori) posso usare questo script di configurazione del firewall
Questo script aggiunge solo il port-forwarding verso il client che è specificato nella variabile IRCFORWARDADDR. Testato su mandrake/redhat 9.0 non dovrebbe avere problemi a girare su altre distribuzioni a patto che venga usato iptables. Non modifica le impostazioni precedenti del firewall. Necessita che il NAT sia abilitato.

Come si installa:


create un file con il contenuto dello script (copia/incolla e salvate con il nome irc_forward con l'editor di testo che preferite). Recatevi nella directory dove avete salvato il file.
Aprite una console in modalità superutente o salite di privilegio (come preferite ma dovete essere root per appendere regole in iptables). Rendete il file di proprietà di root ed eseguibile (solo la prima volta ovviamente) con questi comandi:

$chown root. irc_forward
$chmod 744 irc_forward

Da questo momento basta lanciare il file tutte le volte che desideriamo entrare in irc in modalità superutente con il comando:

$./irc_forward

Possibili modifiche da fare:
Variabilie IRCFORWARDADDR deve contenere l'ip del client che deve ricevere i file in dcc Variabili e PORTS deve contenere le porte dalla first port alla last port separate da uno spazio come nell'es.


-------------------------------------Inizio dello script--------------------------------------

#!/bin/sh

IRCFWVER=1.0
echo -e "\n\nCaricamento di irc_forward version $FWVER..\n"

#se questi eseguibili sono in altre directory coreggere queste variabili
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe

echo -en " Caricamento moduli: "
$DEPMOD -a
echo -en "ip_tables, "
$MODPROBE ip_tables
echo -en "ip_conntrack, "
$MODPROBE ip_conntrack
echo -en "ip_conntrack_ftp, "
$MODPROBE ip_conntrack_ftp
echo -en "ip_conntrack_irc, "
$MODPROBE ip_conntrack_irc
echo -en "iptable_nat, "
$MODPROBE iptable_nat
echo -en "ip_nat_ftp, "
$MODPROBE ip_nat_ftp
#echo -e "ip_nat_irc"
#$MODPROBE ip_nat_irc
echo -e " Caricamento moduli eseguito.\n"

#irc portforwarding
# Modificare queste variabili a seconda delle proprie esigenze
#ip della rete locale che riceverà le connessioni dcc
IRCFORWARDADDR=192.168.0.1
#porte per il port-forwarding (da "first port" a "last port" impostate nel client irc)
#in questo esempio la first port è 30000 e la last port è 30020 naturalmente potete impostare un'altro range se questo non potete usarlo
PORTS="30000 30001 30002 30003 30004 30005 30006 30007 30008 30009 30010 30011 30012 30013 30014 30015 30016 30017 30018 30019 30020"
#interfaccia esterna del gateway (per capirci quella che ha l'ip pubblico)
EXTIP=`/sbin/ifconfig ppp0 | head -2 | tail -1 | awk '{print $2}' | sed s/addr://`
#interfaccia interna del gateway (per capirci quella che ha l'ip privato della lan)
#sostituire eth0 con eth1 a seconda dei casi
#INTIP=`/sbin/ifconfig eth1 | head -2 | tail -1 | awk '{print $2}' | sed s/addr://`
INTIP=`/sbin/ifconfig eth0 | head -2 | tail -1 | awk '{print $2}' | sed s/addr://`

for pt in $PORTS; do
$IPTABLES -A PREROUTING -t nat -p tcp -d $EXTIP --dport $pt -j DNAT --to $IRCFORWARDADDR:$pt
$IPTABLES -A FORWARD -i $EXTIP -o $INTIP -p tcp -d $IRCFORWARDADDR --dport $pt -m state --state NEW -j ACCEPT

echo -e "\nirc_forward v$IRCFWVER done.\n"

-------------------------------------Fine dello script----------------------------------------

Per altri programmi dovete solo aprire le porte specifiche richieste dal programma, guardate nelle opzioni del programma quali sono le porte da aprire, alcuni programmi richiedono l'apertura anche delle porte di tipo UDP oltre che di quelle TCP.

Faq by: Vari


Disclaimer: le informazioni fornite su questo sito SONO SOLO A TITOLO di esempio per aiutare a configurare mIRC e/o la parte mIRC dei vari script e lo script SYSRESET, NON mi assumo nessuna responsabilità diretta o indiretta sull'uso che verrà fatto di queste informazioni!