Маршрутизация интернета на NAT-сервере через прокси-сервер Squid

Маршрутизация интернета на NAT-сервере через прокси-сервер Squid

Я настроил прокси-сервер 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.

Связанный контент