Раскомментируйте следующие две строки в файле xstartup в разделе ~ / .vnc / xstartup
:
До:
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
После:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
Взгляните на этот ответ:Как прозрачный SOCKS-прокси узнает, какой IP-адрес назначения использовать?
Цитата:
iptables перезаписывает исходный адрес назначения, но запоминает старый. Затем код приложения может получить его, запросив специальную опцию сокета SO_ORIGINAL_DST
.
На самом деле вы правы насчет TOR, каждый полученный TCP-пакет перенаправляется на локальный :9040.
Цель REDIRECT — это особый тип цели DNAT, которая изменит IP-адрес на локальный интерфейс и сопоставит его с указанным вами портом.
Предположим, что есть маршрутизатор, чей сетевой интерфейсeth0
(с сетью 192.168.1.0/24
и IP-адресом :192.168.1.1
), и правило iptables для этого маршрутизатора:
iptables -t nat -A PREROUTING -i eth0 -p tcp --syn -j REDIRECT --to-ports 9040
, тогда все TCP-пакеты от клиентов внутри локальной сети будут перенаправлены на 192.168.1.1:9040
.
Предположим, что есть TCP-соединение от клиента (с IP-адресом192.168.1.2
)внутри локальной сети к google.com (предположим, что IP:8.8.1.1
)тогда,
необработанный запрос:192.168.1.2:12345 -> 8.8.1.1:80
после цепочки предварительной маршрутизации маршрутизатора:192.168.1.2:12345->192.168.1.1:9040