<?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; OpenBSD</title>
	<atom:link href="http://conceicao.eti.br/blog/categoria/openbsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://conceicao.eti.br/blog</link>
	<description>TI, Linux, BSD, Redes, Futebol e outros!</description>
	<lastBuildDate>Tue, 25 May 2010 20:28:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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[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.
Fica assim:

# nat para proxy
nat on $int_if proto tcp from $int_if:network to $IP_Proxy port 3128 -> $int_if


# regra de redirecionamento para [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal;</p>
<p>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>Fica assim:<br />
<code><br />
# nat para proxy<br />
nat on $int_if proto tcp from $int_if:network to $IP_Proxy port 3128 -> $int_if<br />
</code><br />
<code><br />
# regra de redirecionamento para o proxy transparente<br />
rdr pass on $int_if proto tcp from any to any port 80 -> $IP_Proxy port 3128<br />
</code></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[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 você instalar pelo Ports.
Package [...]]]></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>0</slash:comments>
		</item>
	</channel>
</rss>
