Как разнести по отдельным серверам шлюз и прозрачный прокси Squid?
Имеется два сервера. Один шлюз на Ubuntu с ip 192.168.0.1, на нем настроен файрвол, осуществляется NAT, он является для всех компьютеров в локальной сети шлюзом по умолчанию, dns сервером, dhcp сервером. Второй сервер на Debian (ip 192.168.0.2), на нем установлен только squid и он настроен на прозрачную фильтрацию. На шлюзе делаю iptables -t nat -A PREROUTING -i eth0 ! -s 192.168.0.2 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.2:3128. Но этого не достаточно, страницы не открываются, нужно провести еще какие то манипуляции, но не пойму какие. Сам squid настроен верно, когда указываю его как шлюз по умолчанию для компа в локальной сети весь трафик через него прозрачно проксируется, но фишка в том что сервер со squid'ом не должен быть шлюзом по умолчанию.
iptables -t nat -m multiport -A PREROUTING -o eth0 -s 192.168.0.2 --dport 80,8080 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.2 -j SNAT --to 192.168.0.1
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t mangle -A PREROUTING -p tcp -d 192.168.0.2 --dport 3218 -j DROP
Первое пускает трафик от прокси в мир, второе - разворачивает ответы от прокси клиентам через себя, третье если не было - в конец цепочки, четвертое опциональное и блочит трафик до порта прокси отовсюду кроме шлюза.
Вот это не совсем понял " второе - разворачивает ответы от прокси клиентам через себя". Таким образом в логах сквида будет все выглядеть так как буд то к нему обращает все время только один и тот же айпи 192.168.0.1?
Михаил: Адрес клиента мы не меняем, правило создаёт статический NAT на каждую сессию клиент - сквид, что позволяет возвращать ответы от себя, соблюдая "прозрачность".
chupasaurus: Так squid ругается и сайты не открывает, в логах пишет что то про зацикливание. В итоге сделал сервер squid шлюзом по умолчанию, включил пересылку пакетов на ubuntu сервер. Https и http трафик застревает на debiane со сквидом и проксируется, а весь остальной трафик идет дальше на шлюз с ubuntu, где натируется, обрабатываются правила файрвола и т.д.