На моем сервере установлен сервер ubuntu 14.04 LTS, и я хотел бы установить прозрачный прокси-сервер на своем сервере для локальной сети. Пожалуйста, помогите мне с этим.
Заранее спасибо.
Это довольно просто, учитывая, что у вас уже есть машина Ubuntu с 2+ сетевыми адаптерами - вам просто нужно установить более или менее свежий Squid; все машины в вашей сети должны использовать Squid box в качестве шлюза по умолчанию; затем добавьте в конфигурацию squid следующее:
# port configuration
http_port 3126 intercept
https_port 3127 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/opt/qlproxy/etc/myca.pem
http_port 3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/opt/qlproxy/etc/myca.pem
Наконец, перенаправьте входящий трафик с портов 80 -> 3126, 443 -> 3129 с помощью iptables:
# redirect all HTTP(tcp:80) traffic coming in through eth0 to 3126
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3126
# redirect all HTTPS(tcp:443) traffic coming in through eth0 to 3127
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3127
Включите NAT, и все готово. Больше информации на http://blog.diladele.com/2014/04/10/transparent-ssl-https-filtering-on-centos/
Более простой подход с использованием FirewallD на CentOS 7 на http://docs.diladele.com/tutorials/transparently_filtering_https_centos/index.html