Newsgroup: it.comp.os.linux.sys
Titolo: port forwarding di vnc

Sto cercando di rendere accessibilie via vnc la mia macchina windows, che č
dietro un router/firewall debian woody. Ho visto che vnc usa le porte 5800 e
5900, quindi ho aperto queste porte sul firewall e per fare il port
forwarding ho messo:
iptables -A PREROUTING -t nat -p tcp -d $ip --dport 5800 -j DNAT --to
192.168.1.2:5800
iptables -A PREROUTING -t nat -p tcp -d $ip --dport 5900 -j DNAT --to
192.168.1.2:5900
dove $ip č il mio ip esterno (quello attraveso il quale il router č visibile
dalla rete), 192.168.1.2 č l'ip del pc windows.
Perņ, se provo a connettermi sulla 5800 con un browser mi da connection
refused, e anche il client di vnc mi da failed connection. Dove sto
sbagliando?
Grazie
Davide
davi...@tiscali.it
ICQ: #20331544


Bisogna vedere come vnc usa le porte. E' probabile che una venga usata 
per la contrattazione e una per il passaggio della sessione. In questo 
caso č probabile che a iniziare la seconda connessione sia il server che 
raggiungi, e non il client che inizializza la sessione.
In questo caso, devi invertire una delle due regole, facendo un 
POSTROUTING "gnegnegne" -j SNAT --to-source $ip:$port
In ogni caso prova a sniffare una sessione per vedere di capire _chi_ 
apre _cosa_ , č l'unica maniera...
-- 
Emanuele "SKULL" Balla
----------------------------------------------------------------------
"How should I know if it works?  That's what beta testers are for. I 
only coded it." (Attributed to Linus Torvalds, somewhere in a posting)

 raggiungi, e non il client che inizializza la sessione.
No, il protocollo di vnc è documentato. La 5900 fa passare il traffico
effettivo del primo (e unico, nel mio caso) schermo, e la 5800 è un piccolo
web server integrato, che permette di accedere a vnc con qualsiasi browser
con una vm java. E in ogni caso è il client che comincia tutto, da quanto ho
capito.
Ciao
Davide
davi...@tiscali.it
ICQ: #20331544


Hai impostato il firewall in modo tale che accetti le connessioni sulle
porte 5800 e 5900?
--
Alessandro Staltari
staltari(a)
geocities.com

 Ciao
non hai detto nulla delle regole di forward...
metti una regola ad hoc e magari anche una per le connessioni tcp già
stabilite.

 sbagliando?
Io uso ipchains e con queste regole funziona molto bene:
----
# allow incoming vnc connection (port 5900,5800)
$IPCHAINS -A input -p tcp  -d $PUBLIC_IP 5900   -y -j ACCEPT -l
$IPCHAINS -A input -p tcp  -d $PUBLIC_IP 5900 !	-y -j ACCEPT
ipmasqadm portfw -a -P tcp -L $PUBLIC_IP 5900   -R $VNC_SERVER 5900
$IPCHAINS -A input -p tcp  -d $PUBLIC_IP 5800   -y -j ACCEPT -l
$IPCHAINS -A input -p tcp  -d $PUBLIC_IP 5800 ! -y -j ACCEPT
ipmasqadm portfw -a -P tcp -L $PUBLIC_IP 5800	-R $VNC_SERVER 5800
----
$IPCHAINS è /sbin/ipchains
i -l servono a loggare l'ip di chi si connette
Ciao
-- 
"Wendy, tesoro, luce della mia vita! Non ti faro' niente. Solo che devi
lasciarmi finire la frase. Ho detto che non ti faro' niente.
Soltanto, quella testa te la spacco in due, quella tua testolina te la
faccio a pezzi!"             -- Mr. Jack Torrance, "Shining"

 porte 5800 e 5900?
Anche se so che sono inutili, per scrupolo ho messo tutte queste regole (in
modo da alprire completamente, in tutte le direzioni, le porte interessate):
iptables -A INPUT -p tcp  --dport 5400 -d $ip -j ACCEPT
iptables -A INPUT -p tcp  --dport 5500 -d $ip -j ACCEPT
iptables -A INPUT -p tcp  --dport 5800 -d $ip -j ACCEPT
iptables -A INPUT -p tcp  --dport 5900 -d $ip -j ACCEPT
iptables -A FORWARD -p tcp  --dport 5400 -d $ip -j ACCEPT
iptables -A FORWARD -p tcp  --dport 5500 -d $ip -j ACCEPT
iptables -A FORWARD -p tcp  --dport 5800 -d $ip -j ACCEPT
iptables -A FORWARD -p tcp  --dport 5900 -d $ip -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5400 -d $ip -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5500 -d $ip -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5800 -d $ip -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5900 -d $ip -j ACCEPT
oltre a
iptables -A PREROUTING -t nat -p tcp -d $ip --dport 5400 -j DNAT --to
192.168.1.2:5400
iptables -A PREROUTING -t nat -p tcp -d $ip --dport 5500 -j DNAT --to
192.168.1.2:5500
iptables -A PREROUTING -t nat -p tcp -d $ip --dport 5800 -j DNAT --to
192.168.1.2:5800
iptables -A PREROUTING -t nat -p tcp -d $ip --dport 5900 -j DNAT --to
192.168.1.2:5900
per forwardare le porte.
con $ip l'ip pubblico del firewall. Ho aperto anche la 5400 e la 5500,
perchè mi serve avere attivo il vncviewer in listen mode per collegarmi a
macchine remote dalla macchina win.


5900, quindi ho aperto queste porte sul firewall e per fare il port
Ciao,
c'e' stato un post non tanto tempo fa' proprio su questo argomento.
La porta utile, nel tuo caso e' la 5900, poi se leggi il vecchio post
capirai il perche'.
Ad ogni modo solo a scopo di debug hai provato a fare telnet nomehost
5900 e vedere che succede?
 
A presto
--
|Stefano Orsi
|Email: biv2533 chiocciola yahoo punto it