ANDROID: Iptables блокирует входящие соединения

Я хочу заблокировать все входящие соединения с iptables на моем устройстве Android. Я знаю, что приложениям Google, таким как магазин игр и т. Д., Нужны некоторые входящие соединения (например, для GTalkServiceivice), и они не будут работать после блокировки. Но я хочу просто использовать свой браузер, поэтому я знаю, что браузеру не нужны входящие соединения. Поэтому я попытался заблокировать все входящие соединения с помощью:

iptables -A INPUT --j DROP

Проблема сейчас в том, что все соединения заблокированы, и мой браузер также не в сети. Почему это так?


person Aprel    schedule 05.04.2012    source источник


Ответы (1)


Дело в том, что iptables блокирует не соединения, а пакеты. Что вы сделали, так это заблокировали все входящие пакеты, так что это нормально, что вы не получаете ответа. Вам нужно добавить что-то вроде этого, чтобы позволить пакетам формировать уже установленные соединения (те, которые вы инициировали, открыв веб-страницу и т. д.) через:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Блокировка всех входящих соединений нарушит многие функции, поэтому используйте ее с осторожностью.

person Nikolay Elenkov    schedule 05.04.2012
comment
а можно ли под андроидом заблокировать все входящие соединения? - person Aprel; 05.04.2012
comment
Конечно. Это просто может сломать вещи. - person Nikolay Elenkov; 06.04.2012
comment
и как я могу это сделать? Заблокировать все входящие соединения? - person Aprel; 06.04.2012
comment
Вы действительно должны прочитать хотя бы руководство по iptables, прежде чем пытаться это сделать. Вы уже заблокировали их, просто добавьте правило, которое я написал выше, чтобы разрешить уже установленные соединения. - person Nikolay Elenkov; 06.04.2012
comment
Я нашел еще один способ сделать то же самое. Можно просто отбросить все пакеты SYN. Как-то так: iptables -A INPUT -p tcp --syn -j DROP - person Aprel; 06.04.2012
comment
Между --syn и --state ESTABLISHED есть небольшие различия, но они тоже должны работать. - person Nikolay Elenkov; 08.04.2012