Eu estou tentando configurar um proxy transparente usando squid e centos 6.9, eu construí a seguinte configuração:
1- Atualize o kernel do linux para o 3.16.56 e construa com as opções de configuração:
NF_CONNTRACK=m
NETFILTER_TPROXY=m
NETFILTER_XT_MATCH_SOCKET=m
NETFILTER_XT_TARGET_TPROXY=m
2- construa o squid 3.1 com --enable-linux-netfilter,
http_port 3128
http_port 3129 tproxy
3- configuração de roteamento:
ip -f inet rule add fwmark 1 lookup 100
ip -f inet route add local default dev eth0 table 100
4- configuração do kernel
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
5- iptables 1.4.7 configuração:
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark
0x1/0x1 --on-port 3129
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 3138 -j ACCEPT
iptables -A INPUT -p tcp --dport 3139 -j ACCEPT
o proxy não funciona e não há logs em access.log e cache.log. qualquer ajuda, por favor.