Проблема состоит в том, что Ваше правило слишком строго.
iptables -t nat -A OUTPUT ! -o lo -p tcp -m owner --uid-owner Mark -m tcp -j REDIRECT --to-ports 9040
iptables -A OUTPUT -m --uid-owner Mark -j DROP
Первое правило перенаправляет весь трафик TCP для портирования 9040, не пытаясь различить, является ли это чем-то прокси способным (например, HTTP) или non-proxy-able (например, SSH).
Второе правило отбрасывает весь трафик, TCP, UDP, whathaveyou.
Необходимо удалить второе правило и установить OUTPUT
политика цепочки к ACCEPT
. Это позволит всему трафику проходить. (Хотя это не решит проблему non-proxy-able трафика, перенаправляется к прокси).
Ха. Я использую Mac в качестве своей станции разработки, и когда мне нужно работать с Windows, я загружаю Virtual Box. После того, как я попытался выполнить развертывание с собственного ПК с Windows, я понял, в чем была моя ошибка. Моя сеть Virtual Box была настроена на NAT. Изменение этого параметра на мост полностью решило проблему. = \