На самом деле вы правы насчет 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
Признаком того, что что-то не так, является
libPrlDRI.so.1 => /lib/x86_64-linux-gnu/libPrlDRI.so.1 (0x00007f0d0b581000)
строка в выводе ldd
:такой библиотеки нет в Debian, поэтому библиотека, для которой она требуется, не может быть получена из пакета Debian.
Если libvirglrenderer.so.0
библиотека отличается от версии, предоставляемой Debian,
sudo apt install --reinstall libvirglrenderer0
исправит это; но видимо тут не в этом дело.
libPrlDRI.so.1
взято из Parallel Tools; который поставляет ряд замещающих библиотек :libEGL.so.1
, libgbm.so.1
и libGL.so.1
, а также две библиотеки, специфичные для Parallels -, libPrlDRI.so.1
и libPrlWl.so.1
. Виновной стороной здесь, вероятно, являетсяlibgbm.so.1
:QEMU требует эту библиотеку, и если он загружает версию Parallels (либо через LD_LIBRARY_PATH
, либо с обновленной ld.so
конфигурацией ), он в конечном итоге загружаетlibPrlDRI.so.1
вместо . ] из libdrm.so.2
.
Чтобы исправить это, вы должны иметь возможность отменить переопределение:
LD_PRELOAD=/lib/x86_64-linux-gnu/libdrm.so.2 qemu-system-x86_64...