Newsgroup: it.comp.os.linux.sys
Titolo: emule in rete locale e iptables

Salve a tutti,
mi sono appena installato una linux box (redhat 7.3) che mi fa da firewall
router server etc...
ora ho il famoso problema dell'id basso di eMule, in quanto non riesco a
configurare iptables a dovere.
qualcuno di voi ci è riuscito?
la mia situazione è questa:
Pc (192.168.0.10) con WinXP, su cui gira emule,
collegato in rete alla linuxbox 192.168.0.1,
la quale di collega a internet tramite adsl (ppp0).
ho messo fra le altre queste righe:
iptables -I INPUT -p tcp --dport 4660 -j ACCEPT
iptables  -I INPUT -p udp --dport 4672 -j ACCEPT
ma niente.
ho provato anche:
iptables -t nat -A PREROUTING -p tcp --dport 4662 -j DNAT --to 192.168.8.10
iptables -t nat -A PREROUTING -p udp --dport 4762 -j DNAT --to 192.168.8.10
Non ho ben capito in effetti se devo guardare al nat (sarebbe il
destination) o altro.
se qualcuno mi sa dare una mano gli sarò grato...
Spero di essere stato abbastanza chiaro.
bye ;-)

 
devi soltanto forwardare le porte 4662 e 4672 (non 4762) in modo che dal
linuxbox siano redirette a 192.168.0.10 e che quindi tutti i pacchetti che
arrivano nella linuxbox su quelle porte arrivino direttamente anche sul
box winxp. ora non so come tu abbia configurato iptables e io di
forwarding me ne intendo ben poco visto che non ho mai avuto necessitą di
usare iptables, in ogni modo potresti provare cosi:
iptables -A FORWARD -p tcp --sport 4672 --dport 4672 -j ACCEPT
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere           tcp spt:rfa
dpt:rfa
ecco qui come dovrebbe risultare quindi in teoria dovrebbe darti solamente
il forwarding di quella porta. spero di essere stato utile.
se hai qualche domanda sono qui.ciao

Salve ;-)
ho risolto il problema di emule, in questo modo:
$IPTABLES -A PREROUTING -t nat -p tcp -i $EXT_IF --dport 4661 -j DNAT --to
192.168.0.10:4661
$IPTABLES -I FORWARD -p tcp -i $EXT_IF --dport 4661 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -p tcp -i $EXT_IF --dport 4662 -j DNAT --to
192.168.0.10:4662
$IPTABLES -I FORWARD -p tcp -i $EXT_IF --dport 4662 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -p udp -i $EXT_IF --dport 4672 -j DNAT --to
192.168.0.10:4665
$IPTABLES -I FORWARD -p udp -i $EXT_IF --dport 4672 -j ACCEPT
ora però me ne rimane un altro:
emule ha un server web incorporato, che ascolta sulla porta 4711:
come faccio a fare il forward di questa porta sul pc con emule,
in modo da poter accedervi dall'esterno?
io ho provato diverse cose, tra cui (scopiazzando dalle righe precedenti):
$IPTABLES -A PREROUTING -t nat -p tcp -i $EXT_IF --dport 4711 -j DNAT --to
192.168.0.10:4711
$IPTABLES -I FORWARD -p tcp -i $EXT_IF --dport 4711 -j ACCEPT
$IPTABLES -I INPUT -i $EXT_IF -p tcp --syn --dport 4711 -j ACCEPT
il problema si pone in generale per qulunque altro servizio come ftp, ssh
etc...
appena lo completo metterò a disposizione l'intero script...
grazie ;-)

 in modo da poter accedervi dall'esterno?
Io ho risolto i problemi di portforwarding cosě:
IPTABLES=/sbin/iptables
EXTIF="ppp0"
INTIF="eth0"
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
UDPFORWARD="4672"
TCPFORWARD="4661 4662 4711 5800 5801 6881 6882 6883"
HOSTFORWARD="192.168.0.100"
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state\
NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
for PORT in $TCPFORWARD
do
        $IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport $PORT\
- -j DNAT --to-destination $HOSTFORWARD:$PORT
        $IPTABLES -A FORWARD -i ppp0 -o eth0 -p tcp --dport $PORT -m\
state --state NEW,ESTABLISHED,RELATED -j ACCEPT
done
for PORT in $UDPFORWARD
do
        $IPTABLES -t nat -A PREROUTING -p udp -i $EXTIF --dport $PORT\
- -j DNAT --to-destination $HOSTFORWARD:$PORT
        $IPTABLES -A FORWARD -i ppp0 -o eth0 -p udp --dport $PORT -m\
state --state NEW,ESTABLISHED,RELATED -j ACCEPT
done
Credo sia abbastanza autoesplicativo, se servono aiuti sono qui.
Ciao ciao.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6-2 (MingW32)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAj62MXoACgkQeFceOag+iFUbqgCgynfJfe62i48jo/zmd7PoFzun
JM0AnA283yO2AoRJJeJA5a1HY2oNJeiT
=XhIm
-----END PGP SIGNATURE-----

 Ciao ciao.
Ciao a te, e grazie.
in questi giorni sicuramente mi rifaccio vivo....
bye ;-)