Voce tem que fazer uma modificação no codigo fonte do lusca, para ele poder rodar com o usuario root.
No codigo fonte do lusca edite o arquivo src/main.c, comente essa parte de if, para que ele não verifique se esta rodando como root. if (geteuid() == 0) { debug(0, 0) ("Squid is not safe to run as root! If you must\n"); debug(0, 0) ("start Squid as root, then you must configure\n"); debug(0, 0) ("it to run as a non-priveledged user with the\n"); debug(0, 0) ("'cache_effective_user' option in the config file.\n"); fatal("Don't run Squid as root, set 'cache_effective_user'!"); } Se voce estiver usando a ultima versão do lusca no ports, voce so precisa fazer essa alteração citada acima, caso contrario, voce tambem tem que fazer isso: No arquivo libiapp/comm_ips_freebsd.c, substitua aonde tem IP_NONLOCALOK para IP_BINDANY. Depois no squid.conf cache_effective_user root cache_effective_group wheel Pra mim funcionou assim, mas esse seu exemplo é seu ambiente de trabalho ou voce esta fazendo testes? pois com essa classe invalida não tem sentido usar T-PROXY. On Mon, 2010-04-19 at 22:21 -0300, Marcelo Gondim wrote: > Buenas lista, > > Esses dias resolvi montar um ambiente aqui pra testes pois estou querendo > implementar um Lusca/Squid com FreeBSD 8 usando o TProxy e assim o cliente > sair com seu próprio IP pelo Proxy. Antes disso fiz funcionar um Lusca > transparente em um FreeBSD 8 como bridge redirecionando os acessos pro Proxy > via PF porque com o ipfw não consegui mas não testei muito. :) perdi um bom > tempo porque estou mais acostumado com o Netfilter/IPTables. Esse ambiente > de bridge o servidor de teste estava com 2 interfaces de rede. Lógico :) > Nesse ambiente transparente o usuário não sabia da existência do Proxy e > ainda pude fazer algumas regras de Firewall. Ficou show de bola! > > A conf que fiz como bridge, sendo 192.168.10.171 o IP do servidor Proxy > Lusca Transparent: > > /etc/rc.conf > ============ > cloned_interfaces="bridge0" > ifconfig_bridge0="inet 192.168.10.171 netmask 255.255.255.0 addm re0 addm > em0 up" > ifconfig_re0="up" > ifconfig_em0="up" > defaultrouter="192.168.10.254" > hostname="proxy.localdomain.net" > keymap="br275.iso.acc" > sshd_enable="YES" > squid_enable="YES" > pf_enable="YES" > pf_rules="/etc/pf.conf" > > /etc/pf.conf > ============ > rdr pass on bridge0 inet proto tcp from any to any port 80 -> 192.168.10.171 > port 3128 > > No kernel adicionei: > ==================== > device pf > device pflog > device pfsync > device if_bridge > > Se for usar o squid31 do ports ainda precisei fazer isso. O lusca não > precisei: > ============================================================================ > === > chgrp squid /dev/pf > chmod 660 /dev/pf > > no squid.conf: > ============== > http_port 192.168.10.171:3128 transparent > > Foi importante usar o IP ao invés de 127.0.0.1, porque não funcionou de > outro jeito. :) > Aí da minha estação(192.168.10.177) saía um cabo que entrava numa interface > do proxy e do proxy outro cabo no meu router Mikrotik e o gateway da estação > era o 192.168.10.254. > Essa solução ficou perfeita pra bridge transparent mas não consegui fazer > com tproxy. Então mudei o ambiente de teste. > > Nesse novo ambiente o servidor FreeBSD tinha apenas 1 interface de rede e > nesse caso usei o ipfw fwd para direcionar as requisições para o Proxy, sem > a bridge. Minha configuração ficou assim: > > /etc/rc.conf > ============ > ifconfig_re0="inet 192.168.10.171 netmask 255.255.255.0 up" > defaultrouter="192.168.10.254" > hostname="proxy.localdomain.net" > keymap="br275.iso.acc" > sshd_enable="YES" > squid_enable="YES" > firewall_enable="YES" > firewall_script="/etc/rc.ipfw" > > /etc/rc.ipfw > ============ > #!/bin/sh > fw="/sbin/ipfw" > rede_interna="192.168.10.0/24" > ifi="re0" > # > $fw -f flush > # > # Liberando rede da Caixa Econômica Federal do Proxy > $fw add fwd 192.168.10.254 all from $rede_interna to 200.201.160.0/20 80 in > via $ifi > # > $fw add fwd 127.0.0.1,3128 tcp from $rede_interna to any 80 in via $ifi > > /etc/sysctl.conf > ================ > net.inet.ip.forwarding=1 > > No kernel usei essa conf: > ========================= > options IPFIREWALL > options IPFIREWALL_FORWARD > options IPFIREWALL_VERBOSE > options IPFIREWALL_VERBOSE_LIMIT=100 > options IPFIREWALL_DEFAULT_TO_ACCEPT > options IPDIVERT > options DUMMYNET > options HZ=1000 > options LIBALIAS > > squid.conf: > =========== > http_port 3128 transparent > > Coloquei o gateway da minha estação sendo o 192.168.10.171 e funcionou > perfeitamente o modo transparent do Proxy. Aí fiz o seguinte para tentar > usar o tproxy: > > No squid.conf mudei para: > ========================= > http_port 3128 transparent tproxy > > No mikrotik router 192.168.10.254 criei as seguintes regras: > ============================================================ > add comment="Proxy" disabled=no distance=1 dst-address=0.0.0.0/0 > gateway=192.168.10.171 routing-mark=proxy scope=30 target-scope=10 > > add action=mark-routing chain=prerouting comment="Proxy IN" disabled=no > src-port=80 in-interface=ether1 new-routing-mark=proxy passthrough=yes > protocol=tcp dst-address=192.168.10.0/24 > > Obs.: ether1 é a interface de fora da Internet e a ether2 a interface da > rede interna. > > No rc.ipfw as regras ficaram assim no final do arquivo: > ======================================================= > $fw add fwd 127.0.0.1,3128 tcp from $rede_interna to any 80 in via $ifi > $fw add fwd 127.0.0.1,3128 tcp from any 80 to $rede_interna in via $ifi > > E mesmo assim o tproxy não funcionou. No cache.log acusava o seguinte erro: > > 2010/04/19 11:03:00| comm_fdopen6: FD 21: TPROXY comm_ips_bind_rem() failed: > errno 1 ((1) Operation not permitted) > 2010/04/19 11:03:01| comm_fdopen6: FD 23: TPROXY comm_ips_bind_rem() failed: > errno 1 ((1) Operation not permitted) > 2010/04/19 11:03:02| comm_fdopen6: FD 24: TPROXY comm_ips_bind_rem() failed: > errno 1 ((1) Operation not permitted) > 2010/04/19 11:03:02| comm_fdopen6: FD 26: TPROXY comm_ips_bind_rem() failed: > errno 1 ((1) Operation not permitted) > 2010/04/19 11:03:02| comm_fdopen6: FD 28: TPROXY comm_ips_bind_rem() failed: > errno 1 ((1) Operation not permitted) > 2010/04/19 11:03:02| comm_fdopen6: FD 30: TPROXY comm_ips_bind_rem() failed: > errno 1 ((1) Operation not permitted) > > E ao invés de abrir a página requisitada, exibia uma página de erro do > Lusca. > > Alguém já passou por isso e sabe como resolver? Tentei de tudo :D mas ainda > não descobri. Nem que seja alguma doc, howto, faq rsrsrsrs > Qualquer coisa pra eu sair desse erro. Rsrsrs > > Grande abraço a todos e desculpem o enorme texto explicativo do meu > laboratório. > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd