Я настроил прокси-сервер Squid и экземпляр NAT, и оба работают нормально.
Теперь я хочу настроить прокси-сервер на экземпляре NAT, чтобы интернет на NAT маршрутизировался через прокси-сервер Squid.
Данная установка настроена на CentOS 6.3.
решение1
Для прозрачного перехвата трафика используйтемаршрутизация на основе политикчерез NAT для перенаправления веб-трафика на прокси-сервер Squid, а затем его перехвата.
Установите политику маршрутизации на вашем GW или NAT box, настройте IP и интерфейсы в соответствии с вашими требованиями. Ваша диаграмма подразумевает, что первое правило, разрешающее вашему squid box доступ к интернету, может быть ненужным.
iptables -t mangle -A PREROUTING -j ACCEPT -p tcp --dport 80 -s squidip iptables -t mangle -A PREROUTING -j MARK --set-mark 8 -p tcp --dport 80 ip rule add fwmark 8 table 2 ip route add default via squidip dev eth0 table 2
Затем перехватите на Squid Proxy. Это правило может быть более конкретным, если есть вероятность, что другие данные на порту 80 должны пройти через это поле.
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129
На коробке Squid,
squid.conf
http_port 3129 intercept
Если вам нужна поддержка IPV6,кальмарестьпример конфигурации tproxyдля CentOS.