<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Matheus Conceição &#187; Squid</title>
	<atom:link href="http://conceicao.eti.br/blog/tag/squid/feed/" rel="self" type="application/rss+xml" />
	<link>http://conceicao.eti.br/blog</link>
	<description>TI, Linux, BSD, Redes, Futebol e outros!</description>
	<lastBuildDate>Thu, 15 Sep 2011 14:35:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Proxy transparente em outra máquina no PF</title>
		<link>http://conceicao.eti.br/blog/2010/05/25/proxy-transparente-em-outra-maquina-no-pf/</link>
		<comments>http://conceicao.eti.br/blog/2010/05/25/proxy-transparente-em-outra-maquina-no-pf/#comments</comments>
		<pubDate>Tue, 25 May 2010 20:18:32 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[lusca]]></category>
		<category><![CDATA[PF]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[remoto]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[transparente]]></category>

		<guid isPermaLink="false">http://conceicao.eti.br/blog/?p=42</guid>
		<description><![CDATA[Olá pessoal; Para fazer com que o seu proxy transparente fique em outra máquina, além da regra de redirecionamento da porta 80 para a porta do seu proxy, você deve fazer uma regra de nat também. &#160; No gateway/firewall da rede: 1. Defina a seguinte sysctl: sysctl net.inet.ip.redirect=0  Obs.: Não esqueça de definir a sysctl [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; white-space: normal;">Olá pessoal;</span><br />
Para fazer com que o seu proxy transparente fique em outra máquina, além da regra de redirecionamento da porta 80 para a porta do seu proxy, você deve fazer uma regra de nat também.</p>
<p>&nbsp;</p>
<p><strong>No gateway/firewall da rede:</strong></p>
<p style="padding-left: 30px;">1. Defina a seguinte sysctl:</p>
<pre class="brush:shell">sysctl net.inet.ip.redirect=0</pre>
<p style="padding-left: 30px;"><code><br />
</code> Obs.: Não esqueça de definir a sysctl no /etc/sysctl.conf</p>
<p style="padding-left: 30px;">2. Adicione a seguinte linha no PF:</p>
<pre class="brush:shell">
pass in quick on $int_if route-to ($int_if $IP_Proxy) proto tcp from ! $IP_Proxy to any port www
</pre>
</p>
<p>&nbsp;</p>
<p><strong>No servidor de proxy:</strong></p>
<p style="padding-left: 30px;">1. Defina a seguinte sysctl:</p>
<pre class="brush:shell">sysctl net.inet.ip.redirect=0</pre>
<p>Obs.: Não esqueça de definir a sysctl no /etc/sysctl.conf</p>
<p style="padding-left: 30px;">2. Faça a regra de redirecionamento de porta (80 para 3128) no PF:</p>
<pre class="brush:shell">
rdr inet proto tcp from ! $IP_Proxy to any port www -&gt; $IP_Proxy port 3128
</pre>
</p>
<p>T+;</p>
]]></content:encoded>
			<wfw:commentRss>http://conceicao.eti.br/blog/2010/05/25/proxy-transparente-em-outra-maquina-no-pf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proxy Transparente com Squid e PF no OpenBSD</title>
		<link>http://conceicao.eti.br/blog/2009/04/17/proxy-transparente-com-squid-e-pf-no-openbsd/</link>
		<comments>http://conceicao.eti.br/blog/2009/04/17/proxy-transparente-com-squid-e-pf-no-openbsd/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 14:05:20 +0000</pubDate>
		<dc:creator>Matheus</dc:creator>
				<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[lusca]]></category>
		<category><![CDATA[PF]]></category>
		<category><![CDATA[Ports]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[transparente]]></category>

		<guid isPermaLink="false">http://blog.matheuswc.com/blog/?p=7</guid>
		<description><![CDATA[E ai pessoal, tudo certo? Então, aqui vamos dar uma olhada na instalação e configuração de um proxy Squid operando como transparente e também as regras que serão necessárias adicionar nas regras de firewall (PF). Vamo lá.. Instalação Realizei a instalação pelo package manager do OpenBSD onde tem os pacotes pré-compilados, mas nada impede de [...]]]></description>
			<content:encoded><![CDATA[<p>E ai pessoal, tudo certo?</p>
<p>Então, aqui vamos dar uma olhada na instalação e configuração de um proxy <a href="http://www.squid-cache.org/">Squid</a> operando como transparente e também as regras que serão necessárias adicionar nas regras de firewall (<a href="http://www.openbsd.org/faq/pf/">PF</a>).</p>
<p>Vamo lá..</p>
<h2><strong>Instalação</strong></h2>
<p>Realizei a instalação pelo package manager do <a href="http://openbsd.org">OpenBSD</a> onde tem os pacotes pré-compilados, mas nada impede de você instalar pelo <a title="OpenBSD Ports" href="http://www.openbsd.org/ports.html">Ports</a>.</p>
<h3>Package Manager (pkg_add)</h3>
<p>Primeiro de tudo vamos exportar a variável com o <em>mirror</em> onde se encontra os pacotes:</p>
<p><code># export PKG_PATH=ftp://ftp.das.ufsc.br/pub/OpenBSD/4.4/packages/i386/</code></p>
<p>Vamos instalar o pacote:</p>
<p><code># pkg_add -i -v squid</code></p>
<p>A versão do Squid que instalei aqui foi a <em>squid-2.7.STABLE3-ldap</em>.</p>
<h3>Ports</h3>
<p><code># cd /usr/ports/www/squid</code><br />
<code># env FLAVOR=transparent make install</code></p>
<h2>Configuração</h2>
<h3>Squid</h3>
<p>Vamos configurar o Squid para subir no boot.</p>
<p>Edite o arquivo <strong>/etc/rc.local</strong> com seu editor de texto e adicione as linhas abaixo logo após <em># Add your local startup actions here.</em></p>
<pre># Squid
/usr/local/sbin/squid</pre>
<p>Vamos editar agora o arquivo de configuração do Squid, que é o <strong>/etc/squid/squid.conf</strong>.</p>
<p>Faremos uma configuração básica do Squid.</p>
<pre>http_port 3128 transparent

visible_hostname pr0xy.conceicao.eti.br

error_directory /usr/local/share/squid/errors/Portuguese

# Logs
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

# SVN
extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND

# ACLs
acl all src 0.0.0.0/0.0.0.0
acl rede src 192.168.1.0/24
acl SSL_Ports port 443 563 2096
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#Pessoas com acesso total
acl vips arp "/etc/squid/controle.vips"

#BlackList
acl blacklist dstdomain "/etc/squid/controle.blacklist"

##
# Permite ou Nega

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow vips
http_access deny blacklist

http_access allow rede
http_access deny all
##</pre>
<p>Obs.: Crie os arquivos <strong>/etc/squid/controle.vips</strong> e <strong>/etc/squid/controle.blacklist</strong></p>
<p>Agora temos que iniciar o Squid com a opção -z para que seja criado os diretórios de swap.</p>
<p><code># /usr/local/sbin/squid -z</code></p>
<p>Pronto, agora já podemos iniciar o squid!</p>
<p><code># /usr/local/sbin/squid</code></p>
<p>Sempre que for feita uma alteração no arquivo de configuração do Squid, devemos executar o comando a seguir para que as configurações sejam recarregadas:</p>
<p><code># /usr/local/sbin/squid -k reconfigure</code></p>
<h3>PF</h3>
<p>O arquivo de configuração do PF é o <strong>/etc/pf.conf</strong> (padrão). Adicione/adapte as seguintes regras:</p>
<pre>rdr on $int_if  inet proto tcp from any to any port www-&gt; 127.0.0.1 port 3128

pass in on $int_if inet proto tcp from any to 127.0.0.1 port 3128
pass out on $ext_if inet proto tcp from any to any port www</pre>
<p>É preciso também liberar o acesso do Squid ao <strong>/dev/pf</strong> para que o mesmo consulte o filtro de pacotes já que o padrão é somente o <strong>root</strong> ter acesso. O Squid roda com o grupo <strong>_squid</strong>.</p>
<p><code># chgrp _squid /dev/pf</code><br />
<code># chmod g+rw /dev/pf</code></p>
<p>Então é isso.. qualquer coisa é só dar um grito. =]</p>
<p>T+</p>
<h6><em>Referência: <a href="http://www.openbsd-br.org/index.php?q=node/15">http://www.openbsd-br.org/index.php?q=node/15</a></em></h6>
]]></content:encoded>
			<wfw:commentRss>http://conceicao.eti.br/blog/2009/04/17/proxy-transparente-com-squid-e-pf-no-openbsd/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

