Здрасте! Пытаюсь сделать вот, что: (цель: прокси для приложения с поощью namespace)
iptables -tnat -F && iptables -tfilter -F;
ip netns add pr1;
ip link add pr1if0 type veth peer name pr1if1;
ip link set dev pr1if1 netns pr1;
ip route add local 172.20.1.1 dev pr1if0;
ifconfig pr1if0 up;
ip route add 172.20.1.0/24 dev pr1if0 src 172.20.1.1;
ip netns exec pr1 ifconfig lo up;
ip netns exec pr1 ip route add local 172.20.1.2 dev pr1if1;
ip netns exec pr1 ifconfig pr1if1 up;
ip netns exec pr1 ip route add 172.20.1.0/24 dev pr1if1 src 172.20.1.2;
ip netns exec pr1 ip route add default via 172.20.1.1 src 172.20.1.2;
iptables -t nat -A PREROUTING -p tcp -i pr1if0 -j REDIRECT --to-port 9040;
#test
nc -lp 9040 -v &
ip netns exec pr1 nc 172.20.1.1 789;
Проблема в том, что на 9040 соединения не приходят. Причем «ip netns exec pr1 ping 172.20.1.1» пингуется.
Проверял счетчик iptables - при попытках соединится пакеты проходят через правило redirect, но дальше пропадают непонятно куда... Думал, чтото не то с iptables, но на физическом интефрейсе -j REDIRECT работает нормально...
Может кто нибудь отлаживал такие вещи? Буду благодарен за подсказку)