Это — старая версия документа!


Настройка прозрачного HTTP-прокси с поддержкой IPv4 и IPv6

Системные требования

  • ядро Linux 2.6.37+
  • iptables 1.4.10+
  • Squid 3.1+

IPv4

iptables

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8084

Squid

Добавить в /etc/squid3/squid.conf:

http_port 8084 transparent

IPv6

iproute & ip6tables

Значения table 64 и fwmark 0x6 выбраны в данном примере произвольным образом; если у вас в системе уже используются множественные таблицы маршрутизации и использующие метки правила файрволла (к примеру, для обеспечения работы нескольких WAN-подключений), удостоверьтесь, чтобы данный скрипт не конфликтовал с уже имеющимися у вас настройками.

#!/bin/sh

# === Удаление прежней конфигурации ==============

ip -6 route flush table 64
ip -6 rule del from all fwmark 0x6
ip6tables -t mangle -F
ip6tables -t mangle -X DIVERT

# === Внесение новой конфигурации ================

ip -6 route add local default dev lo table 64
ip -6 rule add from all fwmark 0x6 lookup 64

ip6tables -t mangle -N DIVERT
ip6tables -t mangle -A DIVERT -j MARK --set-mark 6
ip6tables -t mangle -A DIVERT -j ACCEPT

ip6tables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
ip6tables -t mangle -A PREROUTING -p tcp -i eth0 --dport 80 -j TPROXY --tproxy-mark 0x6 --on-port 8086

Squid

Добавить в /etc/squid3/squid.conf:

http_port 8086 tproxy

Ссылки


tproxy.1326192120.txt.gz · Последние изменения: 2012-01-10 10:42 UTC От rm
Personal Tools