Что iptables -j REDIRECT *на самом деле* делает с заголовками пакетов?

Раскомментируйте следующие две строки в файле 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 &
7
28.12.2017, 23:44
2 ответа

Взгляните на этот ответ:Как прозрачный SOCKS-прокси узнает, какой IP-адрес назначения использовать?

Цитата:

iptables перезаписывает исходный адрес назначения, но запоминает старый. Затем код приложения может получить его, запросив специальную опцию сокета SO_ORIGINAL_DST.

4
27.01.2020, 20:19

На самом деле вы правы насчет 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

0
27.01.2020, 20:19

Теги

Похожие вопросы