Hi,
Volna egy olyan problémám, h VNC-t szeretnék használni egy router mögött lévő gépre, de a routerrel nem lehet átirányítani a 0 portot amivel mondjuk LAN-on belül kifogástalanul megy. Van valakinek valami használható ötlete, hogyan lehetne ezt megoldani?
Segíŧségeteket előre is köszi. :)
- 4323 megtekintés
Hozzászólások
"nem lehet átirányítani a 0 portot" :)
A vnc az 5900-s portot használja kommunikációra. Az a 0-s port a Display Number.
- A hozzászóláshoz be kell jelentkezni
Tapasztalatom szerint a 0-as displayt a rendszer meghagyja a
localusernek, a távoliak pedig az 1,2,3...stb displéhekre
jelentkezhetnek be az 5900+displéh number-porton, tehát nem
biztos, hogy az 5900-as porttal működni fog a rendszer.
Célszerű egy port intervallumot kinyitni, vagy az 5901-esen
nyomulni.
Kliens oldalról ez így néz ki:
vnc tavoli_server_ip:1, ahol a ':' a szintaxis része, az '1' pedig
a display illetve a port offset.
Itt egy iptables konfig segítségül:
#!/bin/sh
echo " "
echo "Meditor Digital Strategies since 1989."
echo " - www.meditor.hu -"
echo " Sol omnibus lucet."
echo "--------------------------------------"
echo " Configure iptables... "
cd /usr/local/meditor/
date >> ./forward_run.last
echo "0" > /proc/sys/net/ipv4/ip_forward
##
## initiation & parameters
##
iptables -t nat -F
iptables -t mangle -F
GENTO_SERVER_IP=192.168.xxx.xxx
OUTSIDE_IP=82.xxx.xxx.xxx
OUTSIDE_DEVICE=ppp0
INSIDE_DEVICE=eth1
INSIDE_NETWORK=192.168.xxx.0
INSIDE_NETMASK=255.255.255.0
iptables -t nat -A POSTROUTING -o $OUTSIDE_DEVICE -j MASQUERADE
##
## SETTING FOR VNC SERVICES
##
iptables -A INPUT -p tcp --dport 5901 -i $OUTSIDE_DEVICE -j ACCEPT
iptables -A PREROUTING -t nat -p tcp -d $OUTSIDE_IP --dport 5901 -j DNAT --to $VNC_SERVER_IP:5901
iptables -A FORWARD -p tcp -d $GENTO_SERVER_IP --dport 5901 -o $INSIDE_DEVICE -j ACCEPT
iptables -A POSTROUTING -t nat -p tcp -d $GENTO_SERVER_IP --dport 5901 -s $INSIDE_NETWORK/$INSIDE_NETMASK -j SNAT --to $OUTSIDE_IP
##
## strore result
##
iptables -L > ./iptables.lst
iptables -t nat -L > ./nat.lst
#
#echo 7 > /proc/sys/net/ipv4/ip_dynaddr
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#
echo "1" > /proc/sys/net/ipv4/ip_forward
echo " See detailes in /usr/local/meditor/"
echo " ** DONE **"
#
# end of script
#
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
ssh tunellel megoldhato:
http://www.inf.bme.hu/~pts/ssh_rsync_tunnel_masolas.txt
ertelemszeruen alkalmazva vnc-re
udv Zoli
- A hozzászóláshoz be kell jelentkezni
Köszi a segítséget, mindjárt meg is nézem :)
"A Linux egy felhasználóbarát rendszer. De megválogatja, hogy kikkel barátkozik!"
- A hozzászóláshoz be kell jelentkezni
Hasonló a problémám nekem is, router nélkül. Van egy helyi hálózat, ahol az egyik gépen becsorog az internet amit megosztottam a többi kliens gépnek. Azt kellene megoldani, hogy a kliens gépeket is eltudjam érni VNC-vel (vagy bármi mással) az internetről. Egyébként, Windowsban találtam erre megoldást, van egy remote program, az be tud csatlakozni az internetmegosztó gépre (a saját szerveréhez), és onnan tovább tud menni a helyi hálózat bármelyik gépére amelyiken van neki szervere. Ezt kellene megoldani valahogy Linuxban is.
- A hozzászóláshoz be kell jelentkezni
Mondjuk OpenVPN-el a gépedet a távoli háló részévé teszed, és már mehet is a móka (VNC, Rdesktop, Remote X, ssh, stb..) bármelyik gépre.
-Mr-
- A hozzászóláshoz be kell jelentkezni
Én a következő képpen oldottam meg:
Xp-s gépre felraktam a VNC szervert es átraktam, hogy 6001 -es porton fogadja a kapcsolatokat.
Majd egy tűzfal szabállyal atírányitottam a router 6001 -es portjára érkező hívásokat a belső XP-s gépre.
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d router_ip --dport 6001 -j DNAT --to belso_ip:6001
- A hozzászóláshoz be kell jelentkezni