Как обойти прокси-сервер с помощью iptables - PullRequest
0 голосов
/ 13 июля 2011

Я занимаюсь разработкой приложения Android Proxy и хотел ввести исключение для веб-сайта. Все мои исключения не должны использовать прокси-сервер.

Например, мое исключение - "www.yahoo.com", что означает, что если я использую веб-браузер, то я захожу на веб-сайт "www.yahoo.com". Прокси-сервер не должен использоваться или обходиться.

Вот что я сделал:

  1. Сначала я получаю IP-адрес "www.yahoo.com", который эквивалентен "72.30.2.43"

  2. Затем я изменил диапазон на «72.30.2.0/24» (чтобы все связанные URL-адреса также стали исключением)

  3. Я выполняю следующие командные строки

iptables -t nat -A INPUT -p tcp --dport 80 -d 72.30.2.0/24 -j ПРИНЯТЬ

iptables -t nat -A ВХОД -p tcp --dport 443 -d 72.30.2.0/24 -j ПРИНЯТЬ

iptables -t nat -A ВЫХОД -p tcp --dport 80 -d 72.30.2.0/24 -j ПРИНЯТЬ

iptables -t nat -A ВЫХОД -p tcp --dport 443 -d 72.30.2.0/24 -j ПРИНЯТЬ

iptables -t nat -A ВЫХОД -p tcp --dport 80 -j НАПРАВЛЕНО - на 8123

Я использовал redsocks в качестве перенаправителя, но после выполнения этих команд исключения не работают.

Пожалуйста, помогите.

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 28 сентября 2012

Хорошо, вот один из способов сделать это:

Это должно быть вашим первым правилом ввода, а остальные правила можно добавлять по мере необходимости:

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

Вы можете сделать так, чтобы цепочка вывода принимала все исходящие пакеты по умолчанию и удаляла все существующие там правила, при условии, что вы доверяете своим пользователям выходящий трафик.

iptables -P OUTPUT ACCEPT

Теперь примите yahoo.com, прежде чем он будет перенаправлен на прокси в цепочке предварительной маршрутизации.

iptables -t nat -I PREROUTING -p tcp -d www.yahoo.com -j ACCEPT

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128

Вам также понадобится следующее правило маскарада.

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d www.yahoo.com -p tcp -m multiport --dports 80,443 -j MASQUERADE

Замените серию 192.168.1.x фактическим диапазоном IP-адресов.

0 голосов
/ 02 октября 2011

сначала нет необходимости вводить эти правила ввода, у вас нет соединения Yahoo с вашей системой через порты 80 и 443, поэтому чтобы разрешить возврат трафика в использование этих двух правил iptables -A INPUT -i eth0 -m состояние --state УСТАНОВЛЕНО, СВЯЗАНО -j ПРИНЯТЬ iptables -A INPUT -p udp -s 0/0 - source-port 53 --destination-port 1024: 65535 -j ПРИНЯТЬ

, затем заблокировать все или использовать сбросполитика на входе

для перенаправления попробуйте использовать эту строку iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8123

вместо этого iptables -t nat-A OUTPUT ........

также проверьте эту страницу (есть и много других) => пример брандмауэра - iptables

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...