iptables TPROXY получает удар, но не перенаправляет на порт - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю Debian 8 с iptables.

У меня есть следующее правило:

iptables -t mangle -A PREROUTING -p tcp --dport 5000 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4000

Я просто хочу перенаправить весь трафик, идущий с портом назначения 5000, на порт4000.

Стандарт iptables REDIRECT в моем случае непригоден, так как он изменяет пакет и изменяет исходный порт назначения.

Глядя на iptables -t mangle -nvL Я вижувыполняется правило:

Chain PREROUTING (policy ACCEPT 5056 packets, 13M bytes)
 pkts bytes target     prot opt in     out     source               destination
   12   720 TPROXY     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:5000 TPROXY redirect 0.0.0.0:4000 mark
 0x1/0x1

Но мой сервис, работающий на порту 4000, не перехватывает пакеты.

У меня есть простое NodeJS приложение, прослушивающее все TCP вкл.порт 4000, который не получает packets:

server.listen(4000, () => { console.log('listening on 4000'); });

Кроме того, при запуске wireshark на TCP порту 4000 на всех интерфейсах ничего не отображается.

...