Newsgroup: it.comp.os.linux.sys
Titolo: pcAnywhere attraverso gateway Linux (per esperti, credo...)

Ho un problema: pare che far funzionare pcAnywhere attraverso un gateway Linux non funzioni.
Tramite callback ISDN riesco a far chiamare il mio TA esterno dal cliente che necessita assistenza remota. Tutto va
bene, in quanto il collegamento tra router ISDN remoto (quello che chiama) con IP 192.168.1.2 ed il TA locale
(quello chiamato) con IP (del server Linux) 192.168.0.200 avviene senza problemi.
Una volta stabilita la connessione, 192.168.1.2 diventa il gateway per accedere alla rete locale remota.
Provando, sia da Linux che da un Win2000 a lui connesso, a pingare un host della rete locale remota ed a tracciare
un indirizzo IP (sempre sulla rete locale remota) tutto procede bene. Allo stesso modo, andare sul web da Win2000
attraverso Linux funge eccome.
Le gabole iniziano quando si tenta di usare pcAnywhere da Win2000 per accedere ai pc della rete del cliente esterno.
In sostanza, c'e' un'attesa infinita di una qualche risposta dai pc remoti.
Molto probabilmente dovrebbe essere un problema di firewall (kernel comunque adeguatamente compilato), ecco perche'
(per completezza) posto le regole che lo gestiscono:
/sbin/ifup ppp0
echo 0 > /proc/sys/net/ipv4/ip_forward
/sbin/insmod ip_masq_ftp
/sbin/insmod ip_masq_irc
/sbin/insmod ip_masq_vdolive
/sbin/insmod ip_masq_cuseeme
/sbin/insmod ip_masq_raudio
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -p output ACCEPT
/sbin/ipchains -p forward DENY
/sbin/ipchains -A forward -s 
192.168.0.200/24
 -j MASQ -i ppp0
#le seguenti regole le ho aggiunte per "disperazione" e per provare in tutti i modi, magari anche mettendo a rischio
la sicurezza, ma era solo per scovare il problema e basta
/sbin/ipchains -A forward -p tcp -s 
192.168.1.0/24
 0:65535 -d 0/0 0:65535 -j ACCEPT -i ppp0
/sbin/ipchains -A forward -p udp -s 
192.168.1.0/24
 0:65535 -d 0/0 0:65535 -j ACCEPT -i ppp0
#da qui in poi si riprende con le "vecchie" rules:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
#questo e' un optional personale:
echo `/sbin/ifconfig ppp0 | grep inet` >> /scripts/ppp/connection_status
#questo invece no:
exit 0
-----
Grazie per l'aiuto
Ciaux
Al.F.

 /sbin/ipchains -A forward -s 
192.168.0.200/24
 -j MASQ -i ppp0
 
Credo che il problema stia in questa regola di masq.
Stai 'mascherando' tutti i pacchetti provenienti dalla rete interna
e cio` non e` bello per applicazioni tipo PcAnywhere.
Prova a sostituire con :
/sbin/ipchains -A forward -s 
192.168.0.200/24
 -d ! 
192.168.0.0/16
 -j MASQ -i ppp0
/sbin/ipchains -A forward -s 
192.168.0.0/16
 -d  
192.168.0.0/16
 -j ACCEPT -i ppp0
Altra cosa indispensabile e` quella di *non* far usare al router remoto del cliente il
masquerading per gli indirizzi non 'routable' (che in pratica e` esattamente quello
che quelle due regoline sopra fanno) altrimenti non credo sia possibile il funzionamento.
Ciao
Vincenzo

Ok, grazie per l'aiuto.
Proverň questa variante nei prossimi giorni.
Come mai prima, quando al posto del GW Linux c'era un router ISDN,
pcAnywhere non si incazzava ? Venivano evitati problemi di instradamento
o di filtro dei pacchetti ?
Ciaux
Al.F.

 o di filtro dei pacchetti ?
Perche` evidentemente il router non faceva il masq del traffico ip destinato
alle due lan.
Comunque io uso tranquillamente LapLink su reti collegate con router realizzati
con Linux, quindi si puo` sicuramente fare.
Ciao
Vincenzo

Putroppo, le due regole di masq non hanno dato nessun effetto. Il tutto
continua a non funzionare, ma credo che il problema sia nella strada dal
router remoto al client Win2000.
Infatti, mi sono collegato dal pc linux al router via telnet e, da
quest'ultimo, ho provato a pingare 192.168.0.200 (linux) e 192.168.0.100
(Win2000).
Nel primo caso il ping funziona, nel secondo no. Evidentemente arrivano
alla linux box ma poi i pacchetti icmp non sanno dove andare.
Ho rediretto l'output dei comando route ed ipchains -L (a connessione
stabilita tra 192.168.1.2 e 192.168.0.200) su un file e questo è il
risultato:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.1.2     *               255.255.255.255 UH    0      0        0
ppp0
192.168.0.200   *               255.255.255.255 UH    0      0        0
eth0
stazione.lsm    *               255.255.255.0   U     0      0        0
eth0
localdomain     *               255.0.0.0       U     0      0        0
lo
default         192.168.1.2     0.0.0.0         UG    0      0        0
ppp0
-----
Chain input (policy ACCEPT):
Chain forward (policy DENY):
target     prot opt     source                destination          
ports
MASQ       all  ------  stazione.lsm/24      !stazione.lsm/16       n/a
ACCEPT     all  ------  stazione.lsm/16      !stazione.lsm/16       n/a
Chain output (policy ACCEPT):
N.B: stazione.lsm è il nome della rete locale.
Devo aggiungere qualche regola di routing, devo avere moduli speciali
per il kernel oppure devo semplicemente arrendermi ?
Grazie per l'help
Ciaux
Al.F.
P.S: Scusa se rispondo via e-mail, ma attualmente non riesco più a
postare sulle news. Magari tra un po' invierò il msg anche là.

 ACCEPT     all  ------  stazione.lsm/16      !stazione.lsm/16       n/a
                                               ^
---------------------------------------------> Ecco l'errore. 
Le regole esatte di masq sono :
/sbin/ipchains -A forward -s 
192.168.0.200/24
 -d ! 
192.168.0.0/16
 -j MASQ -i ppp0
/sbin/ipchains -A forward -s 
192.168.0.0/16
 -d  
192.168.0.0/16
 -j ACCEPT -i ppp0
sono le stesse della mia risposta precedente. Riportale esattamente e dovrebbe
funzionare.
Anche se sono sicuro che l'hai gia` fatto assicurati che :
1) Il default gateway dei PC da controllare sulla rete remota (192.168.1) sia
   impostato all'indirizzo ip del router (192.168.1.2)
2) Il default gateway del PC con Win2000 sia impostato all'indirizzo ip della
   Linux box (192.168.0.200)
3) Ping da Win2000 al 192.168.1.2 (router) funzioni
4) Ping da Win2000 ad un PC da controllare (192.168.1.x) funzioni
Se ci sono ancora dei problemi fammi sapere.
Ciao
Vincenzo