Instalando servidor Debian - Memento

Partindo da prática resolvi registrar cada passo para ter um servidor Debian funcionando: instalação, atualização, rede, bind (DNS), DHCP atribuindo IP associado ao MAC, iptables no compartilhar de internet com proxy transparente, Squid para controle de acesso e o Sarg para visualização dos log do Squid. Tudo comentado e traduzido, inclusive os .conf.

[ Hits: 479.452 ]

Por: Taylor Lopes em 16/11/2006 | Blog: http://taylorlopes.com/


Introdução



Instalando servidor Debian - Memento

Autor: TAYLOR LOPES - taylor - at - pop.com.br
Atualização: 11 Out 2006
Versão: debian-31r2-i386-netinst.iso

AVISO: Isto não é um tutorial, mas roteiro das ações realizadas na instalação de um servidor Debian (neste caso, o Debian netinst).

É como uma "receita de bolo": saboroso pra uns, solado pra outros...

Índice:
  1. Instalação do Debian;
  2. Atualização do Debian;
  3. Instalação de pacotes adicionais necessários;
  4. Estrutura geral da rede (em questão);
  5. Políticas adotadas;
  6. Configuração da rede do servidor;
  7. Configuração do Bind9 - Servidor de nomes (DNS);
  8. Configuração do DHCP - Servidor de IP (associado ao MAC);
  9. Configuração do Iptables - Firewall;
  10. Configuração do Squid (Proxy) - Controle de Acessos;
  11. NÃO ABORDADO: Configuração do Apache - Servidor Web;
  12. Configuração do Sarg - Gerador de relatórios para o Squid;
  13. NÃO ABORDADO: Configuração do Samba - Compartilhador Linux/Windows.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instale o Debian no computador que será o servidor
   3. Estrutura geral da rede
   4. Configure as placas de redes do servidor (deve haver duas)
   5. Configure o Bind9 - Servidor de nomes (DNS) e DHCP
   6. Iptables - Firewall
   7. Configure o Squid (Proxy) - Controle de acessos
   8. Sarg - Gerador de relatórios para o Squid
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Debian NetInstall: instalação personalizada

Configuração de servidor DNS no Linux

Programando para um servidor IIS e administrando o Microsoft SQL Server via Linux

Configuração de Servidor Web no FreeBSD 9

Load balance e alta disponibilidade com Bonding

  
Comentários
[1] Comentário enviado por leoberbert em 16/11/2006 - 08:07h

Este sei Artigo é meu dia a dia heheheh. Bom fazer este tipo de artigo para as pessoas verem que não é um bicho de sete kbças. Abração!!!

[2] Comentário enviado por erico em 16/11/2006 - 08:30h

muito bom o artigo ...

[3] Comentário enviado por uiliangurjon em 16/11/2006 - 12:42h

Perfeito o artigo, é minha rotina de trabalho seu artigo!!!!!!

[4] Comentário enviado por jucivaldo_mega em 17/11/2006 - 00:53h

poxa, muito bacana esse artigo, uma pergunta! no caso de quando for da manutencao, tipo adicionar e remover ou bloquear clientes, eu tenho q acessar do proprio servidor ou por qualquer maquina?

[5] Comentário enviado por taylor em 17/11/2006 - 11:39h

Respondendo ao jucivaldo_mega: Para acessar o servidor linux remotamente você pode usar o SSH a partir de qualquer máquina da rede, seja ela linux ou windows. Antes de qualquer coisa, tenha certeza q vc tem o SSH instalado.

*** Para instala-lo, no servidor Debian, faça num terminal:

apt-get update
apt-get install ssh
/etc/init.d/ssh start

*** Para usa-lo a partir de uma máquina linux:

- Abra um terminal e digite: # ssh <usuario>@<ip do servidor>
- Este "usuario" deverá estar previamente cadastrado no servidor.
- Ex: # ssh admin@192.168.0.2
- Entre com a senha e pronto!

*** Para usa-lo a partir de uma máquina windows:

- Baixe na internet um programa como o "PuTTY" ou "SSH - The Secure Shell" e execute-o.
- Na janela, informe o ip do servidor. Será pedido o "usuario" e "senha".

Feito o logon SSH, vc estará com acesso ao servidor para manuteni-lo como desejar. É possível também fazer este logon através de um interface gráfica. Basicamente é isto! Existem muitos tutoriais explicando mais detalhadamente como fazer uso do SSH.

[6] Comentário enviado por manipulador em 18/11/2006 - 22:25h

MANO....Q show de artigo...parabéns....

[7] Comentário enviado por aprendiz_ce em 20/11/2006 - 10:51h

Show de bola!

O mesmo, já foi pra minha caixinha de favoritos....

Mas me falar só uma coisinha: Por qual motivo você utiliza esse classe (10.0.0.0/255.0.0.0) para a rede interna, existe algum motivo especial? Conte-me tudo não esconda nada! :-)

Parabéns pelo artigo e aguardo retorno.

[8] Comentário enviado por taylor em 20/11/2006 - 12:25h

Respondendo ao mardonio: Nenhum motivo especial! Sei que normalmente a classe "C" (192.168.0.0/255.255.255.0) é mais utilizada, porém, usei a classe "A" (10.0.0.0/255.0.0.0) apenas por ser visualmente mais limpa e simples. Como sabemos, a diferença entre as classes A, B e C serve basicamente para definir endereçamentos de rede e hosts. Valeu!

[9] Comentário enviado por removido em 20/11/2006 - 17:22h

Bom artigo taylor

Só um comentario, Você usando essa mascara 255.0.0.0 nos da milhores de IPs. Em uma rede Pequena o trafego de broadcast sera inorme!
Seria bom vc usar uma outra mascara tipo:
10.0.0.0/24 que nos da 254 Hosts. ou ate menor como /26.
Varia muito do tamanho da sua Rede.

[10] Comentário enviado por bruno.prestes em 21/11/2006 - 12:36h

Parabéns pelo artigo meu jovem, esclareceu minhas dúvidas em 99,99 %, mas ainda tenho uma, que é a seguinte: trabalho em um órgão do governo e na LAN do mesmo é utilizado um proxy de um outro órgão governamental que provê acesso a internet para nós através de um circuito da telemar... tá isso naum interessa muiito... entaum quero saber como eu vou montar esse proxy que você ensina na frente do proxy que nós temos que usar para poder acessar a internet???????????

[11] Comentário enviado por taylor em 21/11/2006 - 14:28h

bs.castro, bem observado! Da forma como sugeriu, teríamos domínios de broadcast menores, melhorando o desempenho da rede. Grato!

[12] Comentário enviado por taylor em 21/11/2006 - 15:41h

bruno.prestes, não tenho certeza se entendi o que você quis dizer. Mas com relação ao proxy demonstrado no artigo, posso informar que:

É preciso ter o seguinte esquema:

Internet (A) <-----> Servidor (B) <-----> Clientes (C)

Em outras palavras, a Internet chega em um ponto "A" na
sua rede, seja por roteador, linha telefonica, fibra ótica, etc.
Entre o ponto "A", que representa o sinal da Internet, e o
ponto "C", que representa as máquinas que de fato utilizarão
esta Internet (Clientes), deve estar o Servidor ("B").

O proxy estará rodando neste Servidor ("B"), portanto,
controlando os acessos dos Clientes ("C"). Quando uma máquina
cliente da sua rede tentar acessar a Internet (porta 80) , ocorrerá
que todo o fluxo será redirecionado para o proxy Squid (porta 3128),
que irá atuar conformes as regras de acesso estabelecidas.

Em fim, o proxy no Servidor ("B") vai controlar todas as máquinas
clientes da sua rede ("C"). Já o proxy do outro orgão que você
mencionou vai funcionar como uma segunda camada de controle,
com outras regras. Este proxy estará atuando em cima do fluxo
que entra/sai do seu Servidor ("B"), veja:

Internet (A) <----> Proxy em outro Servidor <----> Servidor (B) <----> Clientes (C)

Não sei se era isso e se deu pra entender... Valeu!


[13] Comentário enviado por aprendiz_ce em 21/11/2006 - 16:19h

Olá taylor,

Estou pondo em práticas as confugurações do teu artigo, mas te confesso que sugiu mais uma dúvida e gostaria, se possível, de um esclarecido da sua parte. Pode ser?

- resolv.conf (desse artigo)

# /etc/resolv.conf
#
search localdomain
nameserver 10.0.0.1
nameserver 192.168.0.1
nameserver 200.195.192.133

- resolv.conf (como utilizo)

# /etc/resolv.conf
#
search provedor.com.br (nem sempre defino)
nameserver 200.195.192.133

A dúvida é a seguinte: Sempre utilizo os DNSs do provedor de acesso a internet, OK? E nunca precisei instalar o BIND9, apenas informo os IPs respectivos e pronto! Que ganho ou melhorias (técnicas) vou ter utilizando esse tipo de configuração?

Espero puder contar mais uma vez com a sua atenção, muito obrigado e aguardo retorno.

[14] Comentário enviado por taylor em 21/11/2006 - 21:13h

Respondendo ao mardonio: Com o Bind instalado, teremos um DNS primário em nossa própria rede. Isto é importante especialmente numa Intranet, pois assim poderemos além de dar "nome" ao nosso servidor web - Apache (Ex: http://intranet ao invés de http://10.0.0.1), também implementar um servidor de e-mail. Outro motivo para configurar um DNS, seria por questões de performance, pois nosso próprio servidor resolveria o nome/ip e não criaria dependências para realizar este processo.

Por isso, primeiro tentamos resolver o DNS no domínio local e, no caso de falha, a tentativa seguinte seria resolver em um provedor na Internet. Valeu!

[15] Comentário enviado por aprendiz_ce em 22/11/2006 - 10:30h

Olá taylor,

Entendi e captei a vossa mensagem! Só que eu tinha em mente que as configurações do BIND eram mais complexas, e não bastando, ajustar somente o /etc/resolv.conf pra que o mesmo tivesse funcionalidade. Mas não custa nada perguntar a quem sabe mais... Concorda?

Agora como faço para definir no /etc/resolv.conf o meu IP da internet, já que o mesmo é DINAMICO?

- resolv.conf (desse artigo)

# /etc/resolv.conf
#
search localdomain
nameserver 10.0.0.1
nameserver 192.168.0.1 <- Como fixo o ip dinamico aqui?
nameserver 200.195.192.133

De hoje em diante, vou passar a utilizar esse tipo de configuração recomendada por você!

Muitissimo obrigado pela sua pronta atenção e um forte abraço.

[16] Comentário enviado por bruno.prestes em 24/11/2006 - 09:37h

Já me falaram que vou ter que trabalhar com hierarquia de proxy, o servidor proxy do outro órgão vai ter que me da permissão pra mim trabalhar com meu proxy no meu órgão!!

[17] Comentário enviado por taylor em 30/11/2006 - 13:49h

Bom dia Nilson!

Respondendo seu e-mail, que pode ser dúvida de outros...


Resolvi escrever o Artigo pois, assim como você, precisei instalar um servidor Debian, quando então fui anotando cada procedimento. Acho que errar faz parte do aprendizado e que com o tempo (e estudo) a gente vai entendendo melhor como algumas coisas funcionam.


Com relação as suas perguntas:


1. Quando você fala ao final do seu artigo: Seu servidor Apache deve estar funcionando, você quer dizer algo mais que somente instalado na máquina? Tem alguma configuração a ser feita?

R: Quando eu fiz essa citação que o Apache deve estar funcionando, eu estava comentando sobre o SARG. O SARG é um gerador de relatórios baseado no SQUID. Na verdade, não necessáriamente você precisa de um servidor WEB (APACHE) rodando para exibir relatórios do SARG, até porque quando você digita no terminal "# sarg", é gerado um index.html em /var/www/squid-reports/. Normalmente, este caminho (/var/www/) existe quando vc tem o apache instalado. Mas vc pode gerar o SARG em outro diretório definido na diretiva output_dir /var/www/squid-reports do arquivo de configuração do SARG, que é o /etc/squid/sarg.conf. Pra usar o SARG logicamente você terá que ter o SQUID instalado. Eu recomendo o uso do Apache pois é muito interessante que a intranet tenha um servidor web rodando para disponibilizar um website com informações para toda a rede e inclusive acessar de outras máquinas o proprio relatorio do SARG, a qual sem o apache não seria possível.
Além do mais, o apache já vem com as configurações inciais basicas funcionando...
não custa nada! Vc disponibiliza seu website para intranet dentro da pasta /var/www e faz a chamada (visualização) pelo browser usando http://<ip do servidor> ou http://<nome do servidor>.


2. Como deve ser a configuração das minhas estações (Clientes com Kurumin)?


R: Com essa configuração que coloquei, não é preciso mexer no cliente (no seu caso,
as maquinas Kurumim). Primeiro porque o IP vai ser atribuido pelo DHCP. E não só isso! Vai ser um IP fixo de acordo com o MAC da placa de rede do seu cliente, que é importante para saber quem é quem na rede. Por exemplo, quando uma maquina
Kurumim sua chamada PC-1 se ligar a rede, ela faz o broadcast (e blá, blá, blá) e automaticamente o servidor DHCP vai checar o endereço MAC (Ex: 00:C0:9F:E3:9B:21) da maquina e vai mandar o IP (Ex: 10.0.0.22) dela, para ela. Sempre o mesmo IP! Lógico, que isso vai estar configurado no seu arquivo /etc/dhcp3/dhcpd.conf, como consta no Artigo. Outro motivo pq vc nao vai precisar configurar os clientes é com relação ao Browser. Existem servidores que não trabalham com proxy transparente. Alguns até se justifica porque precisam trabalhar com autenticação. Particularmente, eu adotei o proxy transparente para não precisar ir em cada maquina e configurar os browser delas para apontar para meu servidor proxy. Até porque, sempre tem um espertinho q burla isso. Com o Proxy trasparente, todo fluxo da porta 80 vai pra porta 3128 do Squid, não precisando configurar nada no cliente. Lembre-se que fiz as configurações baseadas no MAC e não no IP. Portanto, na primeira vez que for configurar o squid e o DHCP, você vai ter que saber o MAC de cada cliente. Para obter o MAC você pode usar no windows o comando "ipconfig /all" e no linux "ifconfig" ou o proprio "arp -a" em ambos.


3. Você tem algum "Memento" sobre a configuração do Samba para compartilhamento Windows/Linux, pois na minha rede haverá algumas máquinas com o Windows 98?


R: Com relação ao samba eu também precisei instalar e configurar pq também tenho maquinas windows. Eu me baseei nos Artigos do proprio vivaolinux e alguns livros que tenho. Vai aqui mesmo no VOL em menu > Artigos > Linux > Samba. Tem vários artigos! Mas sem mistérios... Desde já te aconselho a configurar o samba como PDC... Querendo posso até disponibilizar meu arquivo smb.conf, mas acho q já tem vários aí...

Valeu... Abraços!


[18] Comentário enviado por dmmlopes em 07/12/2006 - 15:56h

Me explica uma coisa Taylor;
Para que server o "search localdomain" na primeira linha...
Onde está nameserver seria o nome Netbios do meu servidor ? Ou tenho que colocar nameserver mesmo ?!?!?
Vc colocou três IPs diferentes sendo o terceiro um ip de internet(provedor), colocando a linha "nameserver 200.200.200.200" automaticamente encaminhará a pesquisa de resolução dns da minha rede para esse ip que foi mencionado ?

Obrigado....

[19] Comentário enviado por taylor em 09/12/2006 - 05:02h

Obrigado dmmlopes pela observação! Sinal que alguém anda lendo este artigo (rs). A configuração do bind realmente está obscura, e percebi isto com o comentário do mardonio, embora não tivesse como alterar.

Meu equivoco veio por conta de que no momento em que eu testei a configuração do Bind (servidor) a partir de uma máquina Windows na rede, tudo aparentou funcionar normalmente. E funciona (no windows, rs)! Mas não era por causa do Bind, veja:

Suponha que o nome do meu servidor (10.0.0.1) fosse "sol". Entrei numa maquina windows (cliente) e digitei no browser "http//sol". Acessou normalmente o Apache no servidor. Isto dava a impressão que o Bind/DNS está OK, o que não era verdade.

Tanto é que, numa maquina Linux (cliente) o mesmo não ocorria! Ou seja, quando eu digitava "http://sol" no browser, o nome "sol" não era conhecido. Só mesmo pelo IP do servidor era possível acessar o Apache: "http://10.0.0.1". Isto mostrou que realmente a configuração do Bind/DNS estava com problemas.

Estou citando que testei pelo Browser, só pra mostrar que a finalidade do Bind seria justamente possibilitar o acesso ao website da Intranet pelo NOME (e não IP). Para um teste eficaz o ping já bastaria: ping sol.

Esta falha se tornou mais evidente quando eu resolvi parar os serviços do Bind (/etc/init.d/bind9 stop) e a máquina Windows continuou resolvendo os nomes. Além disto, essa tal resolução de nomes feita apenas pela maquina Windows só funcionava caso o samba estivesse rodando.

Mas porque a resolução de nomes para o Windows funcionava e para Linux não? Foi quando percebi o que estava acontecendo. O que ocorria era que, como a maquina Windows "conversa" com o Samba, então obtia o NOME (sol) através da diretiva "netbios name = sol" do arquivo de configuração do samba (/etc/samba/smb.conf). Caso esta diretiva não existisse no smb.conf, então resolvia o nome por difusão e através do WINS (nbtstat -r).

Mas tudo bem, problemas à parte, vamos ao que interessa: A solução!
Como forma de me redimir, vai aí o jeito adequado de configurar o bind para funcionar numa Intranet (windows/linux), rodando um servidor Linux Debian.

Só lembrando, estarei considerando a rede 10.0.0.0/255.0.0.0 cujo servidor possui IP 10.0.0.1 e nome "sol" (hostname).

CONFIGURAÇÃO BIND - INTRANET
****************************

*** 1. Instale o Bind
**************

# apt-get update
# apt-get install bind9


*** 2. Configure o /etc/bind/named.conf. Ao final do arquivo, inclua:
*****************************************************

zone "intranet" {
type master;
file "/etc/bind/db.intranet";
};

zone 10.in-addr.arpa {
type master;
file "/etc/bind/db.10";
};

# Obs: No meu caso, criei um zona chamada "intranet", que
pode ser qualquer nome. Na verdade este será o
nome do seu domínio local. Transforma Nome em IP.

Na zona seguinte é definido o DNS reverso.
Transforma IP em nome de domínio.

IMPORTANTE: No DNS Reverso, importa a parte do IP que
corresponde à rede (não o host). Ou seja, caso esteja
usando uma rede tipo 192.168.0.0/255.255.255.0, então ficaria:

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.0.168.192";
};

O arquivo da diretiva "file" será criado a seguir.
Nele que correlacionaremos os Nomes e IPs do domínio.


*** 3. Configure os arquivos da Intranet (domínio local)
*******************************************

No diretório /etc/bind/, crie os arquivos db.intranet e db.10, assim:

# mkdir /etc/bind/db.intranet
# mkdir /etc/bind/db.10

# chmod 755 /etc/bind/db.intranet
# chmod 755 /etc/bind/db.10


# Agora, inclua o conteúdo abaixo no arquivo /etc/bind/db.intranet


$TTL 604800 ;
@ IN SOA sol.intranet. root.sol.intranet. (
09122006 ; Serial
604800 ; Refresh (1 semana)
86400 ; Retry ( 1 dia )
2419200 ; Expira ( 4 semanas )
604800) ; Minimo ( 1 semana )
;
@ IN NS sol.
@ IN A 10.0.0.1
sol IN A 10.0.0.1
pc-1 IN A 10.0.0.77
pc-2 IN A 10.0.0.20
pc-3 IN A 10.0.0.13


# Obs: Como disse, "sol" é o nome do servidor. Substitua
pelo seu! pc-1, pc-2, pc-3, pc-n... são os nome das
maquinas clientes. Substitua pelas suas! Aí você está
associando o nome da máquina com o IP dela. Mas
Lembre-se que devem ser os mesmos IP atribuídos no
DHCP (/etc/dhcp3/dhcpd.conf), já que estamos
considerando a configuração proposta no Artigo, onde
o DHCP atribui IP fixo associado ao MAC.


# Inclua o conteúdo abaixo no arquivo /etc/bind/db.10


$TTL 604800 ;
@ IN SOA sol.intranet. root.sol.intranet. (
09122006 ; Serial
604800 ; Refresh (1 semana)
86400 ; Retry ( 1 dia )
2419200 ; Expira ( 4 semanas )
604800) ; Minimo ( 1 semana )
;
@ IN NS sol.intranet.
1.0.0 IN PTR sol.intranet.
77.0.0 IN PTR pc-1.intranet.
20.0.0 IN PTR pc-2.intranet.
13.0.0 IN PTR pc-3.intranet.


# Obs: Não esqueça o "." no fim do nome do domínio.
Veja que nas diretivas PTR são colocados, na ordem
inversa, a parte do IP referente ao host (e não rede).
Portanto, se você usa uma rede tipo 192.168.0.0/255.255.255.0,
então a linha ficaria, por exemplo, assim:

34 IN PTR pc-1.intranet.
110 IN PTR pc-2.intranet.
98 IN PTR pc-3.intranet.



*** 4. Configure /etc/resolv.conf
************************

# Inclua o conteúdo abaixo no arquivo /etc/resolv.conf

search intranet
nameserver 10.0.0.1
nameserver 200.193.195.133


# Obs: "intranet" é o nome do nosso domínio (zona) local.
10.0.0.1 é o IP onde roda nosso servidor de nomes (Intranet) e
200.193.195.133 é um IP na Internet (externo) para caso
haja alguma falha em resolver o nome localmente.


*** 5. Reinicie o Bind
***************

No terminal, faça:

#/etc/init.d/bind9 restart


*** 6. Associando Bind ao DHCPD
*************************

Já que a idéia do Artigo é configurar tudo no Servidor,
sem a necessidade de configurar nada nas máquinas clientes,
então, certifique-se que seu /etc/dhcp3/dhcpd.conf
possui as linhas:

option domain-name-servers 10.0.0.1;
option domain-name "intranet";

Elas fazem referência ao IP e ao NOME do domínio,
respectivamente.


*** 7. Reinicie o DHCP
****************

No terminal, faça:

#/etc/init.d/dhcp3-server restart


IMPORTANTE: Não esqueça que antes de fazer o teste na maquina cliente, tem que mandar reparar o IP (windows) ou dar o comando /etc/init.d/networking restart (linux) para limpar o cache e assumir as novas configurações.

Bem pessoal, era isso! Boa Sorte...


[20] Comentário enviado por aprendiz_ce em 14/12/2006 - 13:24h

Olá taylor,

Adorei essas sua informações adicionais, sobre como configur do BIND. Segui ao "pé-da-letra" tudo o que você descreve logo acima, tudo ficou certinho. Só não sei porque, que as estações LINUX continuam sem localizar o servidor pelo nome. O que pode ser?

Obrigado e aguardo retorno.

[21] Comentário enviado por aprendiz_ce em 14/12/2006 - 13:57h

Olá taylor,

Revisei as minhas configurações e agora ficou tudo certinho.

Só que não funciona ao contra. Se eu ping pelo nome de uma estação WINDOWS (cliente) estando em uma estação LINUX, não dá certo. O que pode ser?

Obrigado e aguardo retorno.


[22] Comentário enviado por aprendiz_ce em 14/12/2006 - 15:38h

Revisei mais uma vez e ficou certinho.

Mais uma vez, parabéns pelo excelente artigo!

Obrigado e um forte abraço.

[23] Comentário enviado por paulo_rm@msn.com em 10/01/2007 - 12:52h

Fala Taylor, adorei o artigo, alterei algumas coisas e depois ire te mandar para ficar mais completo, mas uma coisa eu não consegui fazer direito.
Apos configurar tudo, beleza, funcionou, mas depois o sarg deixou de armazenar as coisas, pq poderia acontecer isso??

valeu pela ajuda

[24] Comentário enviado por taylor em 11/01/2007 - 14:34h

paulo_rm@msn.com, o sarg gera relatórios baseados no log do squid. O Squid roda em tempo real, o sarg não. Os relatórios do sarg só são gerados quando você entra no terminal e digitar o comando:

# sarg

A partir daí que o sarg carrega as novas informações contidas no log do squid, localizado em /var/log/squid/access.log.

Existe alguns parâmetros que podem ser adicionados à linha de comando para gerar relatórios personalizados no sarg .

Parece que na versão 2.1 o sarg tem esse recurso chamado Realtime (http://pkgsrc.se/www/sarg). Particularmente ainda não testei...

Valeu...

[25] Comentário enviado por fabiolima em 13/01/2007 - 13:31h

fala Taylor todo ok?
Primeiramente queria parabenizar pelo excelente artigo.

Em segundo queria te fazer uma pergunta...
Eu segui os passos que você descreveu neste artigo e tudo esta funcionando ok, DHCP, BIND, etc. Só estou com um problema no Squid pois o proxy transparente não está funcionando, utilizei as mesmas confs que você descreve neste artigo, tanto no squid.conf quanto nas regras do iptables e mesmo assim nada funcionou, mas se eu configurar manualmente no browser definindo o servidor proxy ele funfa, senão fizer isso não tenho conexão.

Sabe o que pode ser?

vlw

[]'s

[26] Comentário enviado por fabiolima em 13/01/2007 - 15:24h

Taylor consegui resolver o problema, tinha que incluir a regra abaixo no iptables,

iptables -t nat -A PREROUTING -p tcp --dport 3128 -j ACCEPT

Fica ai a dica pra quem tiver o mesmo problema.
Meu iptables e Kernel
iptables v. 1.2.6a
Kernel 2.4.18

[]'s

[27] Comentário enviado por taylor em 18/01/2007 - 19:24h

fabiolima, não tive o problema que vc mencionou, mas obrigado por contribuir. A versão do meu Kernel é 2.4.27-2-386 e Iptables v1.2.11.

[28] Comentário enviado por taylor em 02/02/2007 - 16:07h

Respondendo ao e-mail recebido:

DÚVIDA
******
"...não estou conseguindo deixar meus 2 computadores em rede. Sou iniciante tanto no linux quanto em configurações desse tipo. No computador que vai distribuir a rede é linux, mas o outro é windows..."


COMENTÁRIO
**********
Oi José,

Na verdade o Artigo não ensina COMO fazer, e sim O QUE fazer, ou seja,
realmente tem que ter um pré conhecimento mínimo para utiliza-lo.


Inclusive, acho q para o seu caso não é preciso montar um servidor como o descrito no Artigo, pois pelo que percebi vc só quer deixar os dois micros em rede.


Suponha que voce queira fazer o seguinte esquema:


Internet <---> seuLinux <---> seuWindows


Para isto, sua maquina linux vai ter q ter 2 placas de redes.
As placas de redes no linux tem nomes: eth0, eth1... Portanto, considere:


Internet <---> (eth0) seuLinux (eth1) <---> seuWindows

eth0 = conectada a Internet
eth1 = conectada ao seu Windows


A distribuição Linux q utilizei no Artigo foi DEBIAN. Caso não queira utilizar o Debian, aconselho a vc usar uma distribuição baseada no Debian, tal como Kurumim ou Ubuntu.


*********************
1. CONFIGURAÇÃO DO IP
*********************

Princípio básico:
A maquina Linux na eth1 tem q estar na mesma faixa de IP da sua maquina Windows.

Perceba então, que iremos deixar os IPs desta forma:

Linux => 10.0.0.1
Windows => 10.0.0.2

OBS: Ambos com máscara de rede 255.255.255.0

Para configurar o IP, faça:

Windows
*******
configure um IP manualmente na sua maquina windows (XP). Vai lá em Painel de Controle > Conexao de Rede e Internet > Conexao de Rede > Conexao Local. Selecione sua conexao local, clica com o botao direito do mouse e vai em propriedades. Procura ali nos itens da conexão, o protocolo TCP/IP e clica em propriedades. Marca: Usar o seguinte endereço IP e os campos serão habilitados. Daí coloque os dados:

IP: 10.0.0.2
Mascara: 255.255.255.0
Gateway: 10.0.0.1
DNS preferencial: 200.222.0.34
DNS alternativo: 200.193.195.133


Linux
*****
Para configurar o IP manualmente no linux, abra o terminal e faça:
Ah, antes de manipular arquivo no terminal, procure saber como
usar o editor VI, se não vai ter dores de cabeça.


# vi /etc/network/interfaces


Atualize para:

#
auto lo
iface lo inet loopback
#
auto eth0
iface eth0 inet dhcp
#
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.255.255.0
broadcast 10.0.0.255
network 10.0.0.0
#


OBS: Nesta configuraçao da placa de rede no linux, estou
considerando q vc vai receber o IP da eth0 (internet)
automaticamente. Caso contrario, configure com seu IP,
conforme modelo da eth1.

Depois de configurar o arquivo interfaces, deve ser reinicializado os serviços:

#/etc/init.d/networking restart


Para testar a conectividade entre os dois micros vc pode usar
o comando ping. Por exemplo, vai na maquina linux, abra o
terminal e faça:

# ping 10.0.0.2

A resposta caso esteja tudo ok vai ser algo como:

# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=2.11 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=1.17 ms

...

**************************
2. COMPARTILHANDO INTERNET
**************************

Feito isto, agora compartilhe a internet no IPTABLES:


Crie o arquivo que conterá as regras para compartilhar Internet.
Abra o terminal e faça:

# touch /etc/init.d/iptables.conf
# chmod 755 /etc/init.d/iptables.conf


Abra o arquivo q vc acabou de criar, assim:

# vi /etc/etc/init.d/iptables.conf


Coloque o conteúdo abaixo, dentro dele:

#!/bin/bash
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
#


OBS: Lembre-se, eth0 é a placa de rede que está conectada a Internet.


Coloque o iptables.conf para rodar na inicialização:

# cd /etc/rc2.d
# ln -s /etc/init.d/iptables.conf /etc/rc2.d/S99iptables.conf

Inicie o serviço:

# /etc/init.d/iptables.conf


sua internet estará compartilhada.


******************
3. LINUX x WINDOWS
******************

Agora, pra windows e linux se enxergarem, tem q usar o SAMBA.
Isto permite compartilhar recursos (Sistema de arquivos, impressoras, etc)


Basicamente, precisa só instalar...
A maquina linux deve estar conectada a internet para fazer o download. Faz isso:


# apt-get install samba


Caso precise configurar o samba, faz isso:


# vi /etc/samba/smb.conf


Após configurar o samba, tem q reiniciar os serviços:

# /etc/init.d/samba restart


Tem muitos tutoriais q explicam em detalhes o significado de cada diretiva do SAMBA.


Acho q isso basta... valeu, T+


[29] Comentário enviado por k34z0 em 26/02/2007 - 14:56h

Excelente..... testado no Debian-CDD-BR...Parabéns

by KENZO

[30] Comentário enviado por Corujitu em 20/03/2007 - 23:05h

Olá Taylor.. Kra, teu artigo me deu uma ajuda fenomenal na montagem de um server. Nem acreditei quando terminei e vi tudo rodando direitinho. Mas nem sempre tudo se encaixa né, por isso tô precisando de uma ajuda. Seguinte: o teu servidor de DHCp é pra uma rede de 50 hosts mais ou menos, o q é totalmente viável pra uma empresa que os computadores precisem se enchergar. Acontece que to precisando fazer o dHCP entregar redes diferentes, uma pra cada cliente: tipo: 10.100.0.2 pra um cliente, 10.100.1.2 pra outro cliente, 10.100.2.2 pra outro cliente e assim por diante. Ou seja , cada rede só vai ter 3 hosts, com a mascara de final 252. Não sei se estou sendo claro, mas agradeceria se vc pudesse me dizer como eu faço isso no server. Um grande abraço e parabéns pelo artigo.

[31] Comentário enviado por taylor em 22/03/2007 - 14:23h


Olá Corujitu,

infelizmente ainda não tive essa necessidade e
não estou certo de como fazer, mas talvez
pudesse tentar o seguinte:


1. Primeiro, já que um servidor DHCP vai
servir IP para as diferentes redes, então
acho que para cada rede deve haver 1
placa de rede configurada com o IP
da sua respectiva subrede.
Por exemplo:

Rede: 10.100.0.0/255.255.255.0 -> IP da Interface: 10.100.0.1
Rede: 10.100.1.0/255.255.255.0 -> IP da Interface: 10.100.1.1
Rede: 10.100.2.0/255.255.255.0 -> IP da Interface: 10.100.2.1



2. Dentro do arquivo /etc/dhcp3/dhcpd.conf
crie as subredes utilizando as diretivas
subnet/netmask e definindo seu range.
Por exemplo:

subnet 10.100.0.0 netmask 255.255.255.0 {
range 10.100.0.2 10.100.0.50;
option routers 10.100.0.1;
option domain-name-servers 200.195.192.133;
option broadcast-address 10.0.0.255;
}

subnet 10.100.1.0 netmask 255.255.255.0 {
range 10.100.1.2 10.100.1.50;
option routers 10.100.1.1;
option domain-name-servers 200.195.192.133;
option broadcast-address 10.0.0.255;
}

subnet 10.100.2.0 netmask 255.255.255.0 {
range 10.100.2.2 10.100.2.50;
option routers 10.100.2.1;
option domain-name-servers 200.195.192.133;
option broadcast-address 10.0.0.255;
}


3. Por último, faça as associaçoes entre o MAC
(Placa de Rede) do cliente e o IP que lhe será
atribuído, conforme Artigo demonstra.
Por exempo:

host pc-1{
hardware ethernet 00:C0:9F:E5:9A:11;
fixed-address 10.100.0.2;
}

host pc-2{
hardware ethernet 00:20:86:3B:AD:66;
fixed-address 10.100.1.2;
}

host pc-3{
hardware ethernet 0F:01:86:3B:AF:06;
fixed-address 10.100.2.2;
}

e assim por diante...



Não sei se isso funciona e não tenho como testar.
Caso consiga assim ou de outra forma, poste
aqui para futuras consultas...


Valeu!


TAYLOR LOPES

[32] Comentário enviado por mautech em 24/03/2007 - 14:11h

Olha, primeiramente gostaria de agradecer o artigo, ficou muito bom!!

So estou com um problema no squid quando vou restartar o serviço apresenta o seguinte erro:
Restarting Squid HTTP proxy: squid2007/03/24 12:55:16| parseConfigFile: line 40 unrecognized: 'httpd_accel_host virtual'
2007/03/24 12:55:16| parseConfigFile: line 41 unrecognized: 'httpd_accel_port 80 '
2007/03/24 12:55:16| parseConfigFile: line 42 unrecognized: 'httpd_accel_with_pr oxy on'
2007/03/24 12:55:16| parseConfigFile: line 43 unrecognized: 'httpd_accel_uses_ho st_header on'

estou usando as seguintes versões de kernel e squid:

Linux srvcobaia 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686 GNU/Linux
Squid Cache: Version 2.6.STABLE5
Desde ja agradeço a sua atenção
mauroot

[33] Comentário enviado por taylor em 24/03/2007 - 20:56h

Mautech, seguinte:

Quando fiz o artigo, a versão do meu squid era:
Squid Cache: Version 2.5.STABLE9.

Para saber a versão do seu squid, abra o terminal
e digite:

# squid -v


Como você pode observar o seu problema está
na configuração do proxy transparente, que
a partir da versão 2.6 mudou os parâmetros:


# PROXY TRANSPARENTE - Squid 2.5
#*******************************
# Arquivo /etc/squid/squid.conf:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


**** Atualmente é assim:


# PROXY TRANSPARENTE - Squid 2.6
#*******************************
# Arquivo /etc/squid/squid.conf:

http_port 10.0.0.1:3128 transparent


Neste exemplo, o squid irá escurtar a interface
de rede 10.0.0.1 usando a porta 3128, e
de forma transparente.

Ajuste o IP do exemplo para o IP do seu servidor (Intranet).
Ex:

http_port 192.168.0.1:3128 transparent

Cheguei a ver outras formas variantes
para definir o proxy transparente,
mas NÃO SEI SE FUNCIONAM:

http_port 3128 transparent vhost vport
always_direct allow all


O caminho é esse! Resumindo, o que antes da versão 2.6 era feito em
quatro linhas, agora é em apenas uma.

Cabe lembrar então, que as diretivas httpd_accel passam a ser obsoletas e
devem ser subistituídas no Squid 2.6.

OBSERVAÇÃO: Mantenha as configurações do IPTABLES
conforme demonstra o Artigo.


T+

TAYLOR LOPES

[34] Comentário enviado por abelardo em 26/03/2007 - 22:27h

Cara boa noite, estou com problema aqui o dns,vou contar, seguinte, estou acessado ao meu apache e ao samba, somente pelo ip, e estou precisando resolver o nome abaixo segue a lista dos meus arquivos, agradeco se ajudar,...


Primeio, esta dando esse erro ao reiniciar o bind

intranet:/etc/bind# /etc/init.d/bind9 restart
Stopping domain name service: namedrndc: connect failed: connection refused
.
Starting domain name service: named.


Agora os arquivos


Hosts
____________________________
127.0.0.1 localhost.localdomain localhost
10.0.0.35 intranet
10.0.0.35 intranet.unifor intranet


# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Resolv.conf
__________________________________
nameserver 127.0.0.1
nameserver 10.0.0.35



Espero que me ajude, agradeco!!!!

[35] Comentário enviado por taylor em 27/03/2007 - 01:23h

Abelardo,

Antes de mais nada, chegou a ver nesta mesma página o "Comentário enviado por taylor em 09/12/2006 - 05:02h" ?

Neste comentário fiz uma alteração no Artigo com relação a CONFIGURAÇÃO BIND - INTRANET. Testado e aprovado!

Tente isto e, caso permaneça o erro, poste seus arquivos
/etc/bind/named.conf e /etc/bind/db.*

T+


[36] Comentário enviado por vibora_cw em 29/03/2007 - 10:42h

Por favor me ajude comecei a fazer o processo do artigo e logo de inicio me deparei com um problema, pra mim, sem solução no primeiro comando /etc/network/interfaces ele me da permissão negada estou usando o debian sem interface grafica
obrigada

[37] Comentário enviado por taylor em 29/03/2007 - 13:10h

vibora_cw,

Seguinte, vou falar uma coisa bem básica: Para abrir um arquivo, você precisa usar um editor de texto (não gráfico) para GNU/Linux. O VI é o editor mais utilizado e já vem instalado. Mas aconselho que pegue algum tutorial e aprenda como utiliza-lo.

Portanto, você não pode simplesmente digitar no terminal o caminho para o arquivo de configuração, se não, realmente vai dar erro, veja:

# /etc/network/interfaces
-bash: /etc/network/interfaces: Permissão negada

Para abri-lo, precisa informar o editor que será utilizado, assim:

# vi /etc/network/interfaces

Existe um outro editor interessante chamado mcedit , bem mais fácil de manipular, só que no entanto, precisa ser instalado:

# apt-get update
# apt-get install mc

Para abrir o arquivo com o mcedit, seria assim:

# mcedit /etc/network/interfaces

A única observação que faço é que sempre quando usar
o mcedit, insira um ENTER no final do texto. Isto serve
para caracterizar o final do arquivo quando em uso pelo sistema.
O VI já faz isso automaticamente.

Valeu,

TAYLOR LOPES


[38] Comentário enviado por xerif20 em 01/04/2007 - 04:07h

Esse arquivo de configuracao do iptables, realmente ta certo colocar o nome dele de iptables.conf? Nao vai dar problemas pois ate aonde eu sei, o iptables é um comando.

[39] Comentário enviado por taylor em 02/04/2007 - 11:34h


xerif20,

O arquivo iptables.conf serve para guardar as regras IPTABLES. Na verdade você pode dar a este arquivo o nome que quiser. As regras IPTABLES ficam na memória e, não fosse esse arquivo, toda vez que você fizesse o boot, as perderia. Portanto, o arquivo é para fazer persistir as regras IPTABLES toda vez que o servidor é inicializado.


Para fazer o script rodar na inicialização, faça conforme
demonstrado no Artigo:

# cd /etc/rc2.d
# ln -s /etc/init.d/iptables.conf /etc/rc2.d/S99iptables.conf


[40] Comentário enviado por Corujitu em 10/04/2007 - 17:09h

Olá Taylor, agradeço sua ajuda na minha pergunta. Ajudou bastante o seu comentário e criei o msu conf dessa maneira:


# /etc/dhcp3/dhcpd.conf
#
# Configurações gerais
# *********************
#
INTERFACES="eth1";
ddns-update-style none;
default-lease-time 60000;
max-lease-time 72000;
authoritative;
shared-network eth1 {
option domain-name "iznet.com.br";
option domain-name-servers 201.18.172.130,200.223.0.84;
#
subnet 10.100.0.0 netmask 255.255.255.252 {
option subnet-mask 255.255.255.252;
option routers 10.100.0.1;
option broadcast-address 10.100.0.3;
host pc_1 {
hardware ethernet 00:15:E9:3F:CF:30;
fixed-address 10.100.0.2;
}
}
#
subnet 10.100.1.0 netmask 255.255.255.252 {
option subnet-mask 255.255.255.252;
option routers 10.100.1.1;
option broadcast-address 10.100.1.3;
host pc_2 {
hardware ethernet 00:0E:2E:42:F6:94;
fixed-address 10.100.1.2;
}
}
}

Acredito q possa até ter alguma coisa sobrando, mas q tá funcionando tá.. rsrsrsr

Quanto ao DNS, esse sim tá me dando dor de cabeça. Quero muito fazer meu server ser tambem o proprio Servidor de DNS, pra melhorar ainda mais o desempenho da minha rede, mas não tô conseguindo fazer rodar.

Quando mando o comando /etc/init.d/bind9 restart, recebo a seguinte mensagem:

Stopping domain name service: namedrndc: connect failed: timed out

Segue abaixo os meu arquivo db.iznet.com.br

; IN significa internet
;Arquivo que representa a zona "iznet.com.br"
;
$TTL 604800
@ IN SOA iznet.com.br. root.iznet.com.br. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS cronos.
@ IN MX 10 iznet.com.br.

cronos IN A 201.18.172.130
www IN CNAME cronos
ftp IN CNAME cronos
ssh IN CNAME cronos
aquiles IN A 201.18.172.131

o que poderia estar errado nesse arquivo, ou na configuração?

Agradeço desde já a ajuda, e mais uma vez parabéns pelo artigo.

[41] Comentário enviado por taylor em 10/04/2007 - 21:20h

E aí Corujitu!

Valeu pela parcial do conf DHCP... jóia!

Quanto ao DNS, teria que ver o seu /etc/resolv.conf, /etc/bind/named.conf e os arquivos contendo as configurações
da zona, que você já postou.

Incialmente faço uma observação: iznet.com.br tem que ser uma máquina real e tem que ter um registro do tipo A dentro do seu arquivo de zona.

Dê uma olha nesse DNS-HOWTO:
http://br.tldp.org/projetos/howto/arquivos/html/DNS-HOWTO/DNS-HOWTO.pt_BR-100.html

Também vou falar o mesmo que disse pro Abelardo: Antes de mais nada, chegou a ver nesta mesma página o "Comentário enviado por taylor em 09/12/2006 - 05:02h" ?

Neste comentário fiz uma alteração no Artigo com relação a CONFIGURAÇÃO BIND - INTRANET. Testado e aprovado!

Valeu camarada... divirta-se!

T+


[42] Comentário enviado por Corujitu em 11/04/2007 - 19:17h

Grande Taylor,

Meu querido, vou te perturbar mais um pouco e pelo que to vendo, esse tópico vai ser um pouco extenso. DNS não parece ser coisa simples e eu tô na peia.

Vou colocar em seguência meus arquivos necessários pro funcionamento do DNS no meu server, pra vc dar uma olhadinha e claro aos amigos que também quiserem ajudar.

Seguem abaixo:

Primeiro esse é o meu arquivo /etc/resolv.conf

search iznet.com.br
nameserver 201.18.172.130
nameserver 200.223.0.84

Só pra vc saber, esse 201.18.172.130 é o IP do meu server e o outro é o DNS Telemar (q é o que uso atualmente nos micros clientes)

Vamos a frente, esse agora é o meu arquivo /etc/bind/named.conf

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

// Minhas Zonas
zone "iznet.com.br" {
type master;
file "/etc/bind/db.iznet.com.br";
};

zone "172.18.201.in-addr.arpa" {
type master;
file "/etc/bind/db.172.18.201";
};

// zone "com" { type delegation-only; };
// zone "net" { type delegation-only; };

// From the release notes:
// Because many of our users are uncomfortable receiving undelegated answers
// from root or top level domains, other than a few for whom that behaviour
// has been trusted and expected for quite some length of time, we have now
// introduced the "root-delegations-only" feature which applies delegation-only
// logic to all top level domains, and to the root domain. An exception list
// should be specified, including "MUSEUM" and "DE", and any other top level
// domains from whom undelegated responses are expected and trusted.
// root-delegation-only exclude { "DE"; "MUSEUM"; };

include "/etc/bind/named.conf.local";

Observe que criei os campos para minhas zonas..(q na verdade é só o que nos interessa)

Agora os arquivos de configuração de cada zona começando pelo /etc/bind/db.iznet.com.br

;
;Arquivo que representa a zona "iznet.com.br"
;
$TTL 604800
@ IN SOA iznet.com.br. root.iznet.com.br. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS cronos.
@ IN MX 10 iznet.com.br.

cronos IN A 201.18.172.130
www IN CNAME cronos
ftp IN CNAME cronos
ssh IN CNAME cronos
aquiles IN A 201.18.172.131

Agora o DNS reverso (pelo menos é o que eu acho, rsrsrs) /etc/bind/db.172.18.201

;
;Arquivo que representa a Zona Reversa
;
$TTL 604800
@ IN SOA iznet.com.br. root.iznet.com.br. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS cronos.iznet.com.br.
130 IN PTR cronos.iznet.com.br.

E agora pra terminar, parte do arquivo /etc/dhcp3/dhcpd.conf

# /etc/dhcp3/dhcpd.conf
#
# Configurações gerais
# *********************
#
INTERFACES="eth1";
ddns-update-style none;
default-lease-time 60000;
max-lease-time 72000;
authoritative;
shared-network eth1 {
option domain-name "iznet.com.br";
option domain-name-servers 201.18.172.130,200.223.0.84;
#
subnet 10.100.0.0 netmask 255.255.255.252 {
option subnet-mask 255.255.255.252;
option routers 10.100.0.1;
option broadcast-address 10.100.0.3;
host micro_01 {
hardware ethernet 00:15:E9:3F:CF:30;
fixed-address 10.100.0.2;
}
}
#
subnet 10.100.1.0 netmask 255.255.255.252 {
option subnet-mask 255.255.255.252;
option routers 10.100.1.1;
option broadcast-address 10.100.1.3;
host micro_02 {
hardware ethernet 00:0E:2E:42:F6:94;
fixed-address 10.100.1.2;
}
}
#
subnet 10.100.2.0 netmask 255.255.255.252 {
option subnet-mask 255.255.255.252;
option routers 10.100.2.1;
option broadcast-address 10.100.2.3;
host micro_03 {
hardware ethernet 00:0E:2E:43:F7:90;
fixed-address 10.100.2.2;
}
}
}

Bom, baseado nesses 4 arquivos, o que vc me diria que está errado, faltando ou sobrando nessas configurações?

To quase ficando doido, pq leio muita coisa na Net, mas quanto maiôs eu leio, mais eu fico doido...

Agradeço demais a ajuda prestada.... Abraço...

[43] Comentário enviado por taylor em 12/04/2007 - 18:40h

Corujitu, fiz algumas pequenas modificações... testa aí...


# /etc/bind/db.iznet.com.br

$TTL 604800 ;
@ IN SOA cronos.iznet.com.br. root.iznet.com.br. (
09122006 ; Serial
604800 ; Refresh (1 semana)
86400 ; Retry ( 1 dia )
2419200 ; Expira ( 4 semanas )
604800) ; Minimo ( 1 semana )
;
@ IN NS cronos.iznet.com.br.
@ IN A 201.18.172.130
cronos IN A 201.18.172.130
aquiles IN A 201.18.172.131


# /etc/bind/db.172.18.201

$TTL 604800 ;
@ IN SOA cronos.iznet.com.br. root.iznet.com.br. (
09122006 ; Serial
604800 ; Refresh (1 semana)
86400 ; Retry ( 1 dia )
2419200 ; Expira ( 4 semanas )
604800) ; Minimo ( 1 semana )
;
@ IN NS cronos.iznet.com.br.
130 IN PTR cronos.iznet.com.br.
131 IN PTR aquiles.iznet.com.br.



[44] Comentário enviado por gzanatta00 em 16/04/2007 - 13:15h

amigo me da uma ajudinha ai..e o seguinte
eu tenho dois links da brturbo.......entao tenho 3 placas
a eth0: link1....200.2.240....
a eth1: link2....201.3.200...
q eth3: rede interna......10.1.1.......

o que eu fazia antes?????
eu dava um comando no ip tables
iptables -A PREROUTING -i eth0 -t mangle -s 10.1.1.3 -j MARK --set-mark 1
e mark 2 para o clientes navegar pelo outro link

mas agora quando eu coloco o squid pra rodar ......
ele redimenciona todos os clientes quando usan a porta 80 (web) para o link da eth0 e ele fica sobrecarregado, e o outro link fica somente rodando para as outras portas...


sera que tem como eu colocar o squid ,mas definir por qual link ele ira sair?

me de uma ajuda ai...
t+

[45] Comentário enviado por taylor em 19/04/2007 - 16:01h

gzanatta00,

vi uns artigos que talvez sirvam pro seu caso:

http://www.gulbf.com.br/?q=node/26
(Balanceamento de links Utilizando iptables e iproute2)

http://www.rnp.br/newsgen/0201/roteamento_linux.html
(no item 6, que fala sobre Roteamento vançado: roteamento pela origem e NAT)

http://wiki.luizgustavo.pro.br/doku.php?id=artigos_geral:rotasquid#discussion
(Fazendo política de "roteamento" dentro do squid)

Valeu... T+

[46] Comentário enviado por Gibadf em 26/04/2007 - 11:07h

Bom dia Taylor,
Estou começando com o linux agora, estou montando um debin seguindo sua receita de bolo.. rs
Mais meu problema é o seguinte, na minha rede preciso ter grupos de acessos distintos, gostaria de saber se tem como configurar (dois) proxy acho q e isso.. de modo que ao definir em uma maquina windows. o proxy e a porta.. essa apenas acesse o q for permitido.. e a outra que tenha a config. como usar proxy automatico tenha outros acessos?

Abraço,

[47] Comentário enviado por taylor em 27/04/2007 - 11:34h

Gibadf,

Não entendi bem a pergunta... você quer usar proxy
transparente pra uma rede e pra outra não?

Vou dar uma idéia lógica, porque não fiz na prática,
mas que talvez possa te ajudar.

Considere o esquema abaixo, onde há um servidor
recebendo o sinal de Internet pela placa de rede
eth0. Este servidor abriga o Squid e possui ainda
mais duas placas de redes (eth1 e eth2), uma para
cada rede interna.


[internet]
|
|
eth0
[servidor] (Squid)
eth1 eth2-----[net1]
|
|
[net2]


Suponha que a rede net1 seja 192.168.0.0/24 e a rede
net2 seja 10.0.0.1/8 e que, somente esta última, use
proxy transparente.

A configuração, neste caso (proxy transparente), seria
exatamente igual ao demonstrado no Artigo, e isto inclui
a configuração do IPTABLES e do SQUID. E claro, não seria
necessário nenhuma configuração no cliente.

Já a rede 192.168.0.0/24, a configuração seria manual,
feita no browser de cada cliente da rede, indicando o
IP do servidor proxy e sua porta 3128 (squid). No
Mozilla Firefox isto fica em ferramentas > opções >
geral > configurar conexão > configuração manual de proxy.

Em ambos casos o fluxo seria direcionado da porta 80 (http)
para a 3128 (squid). A diferença é que para rede net2
(10.0.0.0/8) o firewall (IPTABLES) iria ficar escutando a
eth2, e fazendo o redirecionamento automático (transparente)
para o squid, independente de configuração do lado cliente.
Ao contrário disto, a rede net1 (192.168.0.0/24) dependeria
da configuração no browser de cada cliente para ser
interceptada pelo squid.

Agora, na configuração do squid, deve constar os
parâmetros para que ele funcione de modo transparente,
bem como as diretivas declarando as duas redes internas,
mesmo que uma seja transparente e outra manual.
O arquivo de configuração é: /etc/squid/squid.conf.
Só atente para a forma de fazer isto para a versão
2.5 ou 2.6 do squid. Para saber a versão do seu squid,
abra o terminal e digite:

# squid -v


# PROXY TRANSPARENTE - Squid 2.5
#*******************************
# Arquivo /etc/squid/squid.conf:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

ou

# PROXY TRANSPARENTE - Squid 2.6
#*******************************
# Arquivo /etc/squid/squid.conf:

http_port 10.0.0.1:3128 transparent


Neste último exemplo, o squid irá escurtar a interface
de rede 10.0.0.1 usando a porta 3128, e
de forma transparente.

A diretiva http_port se refere a porta pela qual o
squid irá atender as requisições feitas a ele.

http_port 192.168.0.1:3128
http_port 10.0.0.1:3128


As ACLs permite você definir sua Lista de Controle de
Acesso, especificando endereços de origem ou destino,
domínios, horários, usuários, portas, etc. É através
desta "lista" definida que você irá posteriormente
negar ou permitir o acesso.

acl net1 src 192.168.0.0/24
acl net2 src 10.0.0.0/8

O parametro "src" indica o(s) endereço(s) IP de origem
(SouRCe). Na verdade, as ACL funcionam apenas como uma
declaração incial de algo que será permitido ou negado
quando for utilizar a diretiva http_access. Elas são
do tipo "OU", não importando a ordem que apareçam.


As diretivas http_access é que de fato irão fazer as
restrições, baseado nas ACL que coincidirem.
http_access são do tipo "E", portanto, elas vão
entrando em ação a medida que são lidas (de cima para
baixo). Note então que a ordem é importante.

http_access allow net1
http_access allow net2

Bem, basta agora fazer as suas restrições, baseadas
em IP, endereço MAC, horários, etc. Por exemplo,
para bloquear por IP, faria assim:

...

acl net1 src 192.168.0.0/24
acl ip_proibido src 192.168.0.5 192.168.0.33 192.168.0.110

http_access deny ip_proibido
http_access allow net1

...

Só cuidado na ordem das diretivas http_access. Se
no exemplo acima fosse invertida a ordem, os IPs
definidos em ip_proibido teriam acesso a internet.

Como disse, as diretivas http_access entram em
ação a medida que são lidas. Sendo assim
a diretiva imediatamente abaixo irá permitir
ou negar tudo o que já não tenha sido permitido
ou negado. (complicou???)

E por aí vai... procure um bom tutorial e faça
seus ajustes conforme suas necessidades...


T+

TAYLOR LOPES

[48] Comentário enviado por revicomlinux em 23/06/2007 - 22:20h

Muito bom Taylor, meus parabéns!!! Como disse meu amigo Leoberbert, esse é o meu dia dia também.

Abraços,

[49] Comentário enviado por adecard em 17/07/2007 - 12:44h

E ae Taylor, parabens pelo artigo. Otimo!!!
Instalei o Squid 3.0 e segui as instruções do seu artigo passo a passo, até entawn tava tudo blz, até eu restartar o squid. Apareceu o seguinte erro:

Saddam:/# /etc/init.d/squid3 restart
Restarting Squid HTTP Proxy 3.0: squid32007/07/17 12:23:54| aclParseAclLine: Invalid ACL type 'arp'
2007/07/17 12:23:54| storeDirWriteCleanLogs: Starting...
/etc/init.d/squid3: line 117: 4109 Falha de segmentação start-stop-daemon --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $SQUID_ARGS </dev/null
failed!

Posso utilizar a mesma configuração para essa versão. O q preciso alterar? Se puder me ajudar eu agradeço.

[50] Comentário enviado por scjotta em 24/07/2007 - 14:18h

ola amigo, muito bom esse tutorial,
tenho uma duvuda, como configuro a rede das maquina windows? valew cara

[51] Comentário enviado por taylor em 24/07/2007 - 19:02h

Desculpe... tenho andado meio ocupado!

adecard, camarada, não havia visto nada parecido...

Antes de mais nada gostaria de saber se tu baixou squid e instalou manualmente ou você fez tudo via apt-get, como consta no artigo?
E qual distribuição Linux está usando?

Pergunto, porque pelo erro do squid (Invalid ACL type 'arp'), provavelmente ele tenha sido compilado sem o suporte a ACL ARP...

Para verificar isto, entre no terminal e digite:

# squid -v

Daí vai aparecer a versão do seu squid e também todas as opções de configuração. Procure por "--enable-arp-acl" pois isto quer dizer que o suporte a ACL ARP está habilitado.

Caso não apareça, reinstale-o com a opção --enable-acl-arp.

A ACL tipo ARP somente pode ser utilizada se constar: --enable-arp-acl.

No squid.conf, o formato é:
acl <nome da acl> arp <endereço mac>
Ex: acl ARPMAC arp 00:16: 0F: 15: 04: 12

Esta opção trabalha somente para clientes na mesma rede local, e somente para determinadas plataformas, como linux e solaris.

Veja aí e nos diga, talvez alguém aqui possa ajuda-lo melhor...

Abraços...


[52] Comentário enviado por taylor em 24/07/2007 - 19:12h

scjotta,

Neste artigo foi demonstrado que não é necessário qualquer tipo de configuração nas maquinas clientes. Tudo é feito no servidor, bastando apenas saber qual o MAC da placa de rede do cliente...

Caso sua idéia seja montar realmente um servidor, então faça conforme consta no artigo. Só um detalhe, esse artigo foi publicado ano passado e algumas coisas foram modificadas de lá pra cá.

Caso queira apenas colocar os micros linux e windows em rede, dê uma olhada aqui mesmo em "Comentário enviado por taylor em 02/02/2007 - 16:07h"

Valeu



[53] Comentário enviado por savio_jotta em 26/07/2007 - 09:52h

eai meu amigo taylor, blz?
estou um probleminha no meu servidor. ele esta dando uma mensagem de erre nas maquinas dos usuarios que é o seguinte:
"""""
O seguinte erro foi encontrado:



* Requisição inválida.



Alguns aspectos de requisição HTTP são invalidos. Possíveis causas:



* Método desconhecido ou faltando (GET, POST)

* Faltou a URL

* Faltou o identificador HTTP (HTTP/1.0)

* A requisição pode ser muito grande

* Hostname com caracter inválido; não é permitido o uso de underscores





Generated Mon, 25 Jun 2007 09:24:26 GMT by servidor.4pef (squid/2.6.STABLE5)
"""""

o que isso deve ser cara?

agradeço desde ja e ate mais cara.

[54] Comentário enviado por robertobrandao em 10/08/2007 - 03:00h

ola taylor esse foi um dos melhores tutoriais que ja vi sobre squid mais a minha pergunta é vc fez proibiu o uso do internt explorer tem como fazer isso com o firefox, pois aqui na empresa todos usam o firefox se tiver fico no aguardo de sua resposta. Nota 1000 no seu tutorial é exatamente isso que estava precisando.

a forma que encontrei foi por ^Mozilla/5.0 ai ele bloqueou os dois.

[55] Comentário enviado por taylor em 10/08/2007 - 16:12h

savio_jotta,
Com relação ao erro, dê uma verificada se seu nome de host no servidor é válido em /etc/hostname e /etc/hosts.

robertobrandao,
Quanto ao bloquear o firefox pelo squid, fiz um teste aqui e funcionou fazendo da seguinte forma (/etc/squid/squid.conf):

acl ff_browser browser Firefox/
http_access deny ff_browser

Só isso... valeu!

[56] Comentário enviado por saldonegativo em 23/08/2007 - 01:07h

Como todos já disseram excelente tutorial.
Estou tentando utilizar o esquema de atribuir IP pelo MAC mas estou recebendo a seguinte mensagem de erro:

dhcpd.conf line 20: expecting semicolon.
fixed-address
^
Configuration file errors encountered -- exiting

Já deixei o arquivo igual ao seu mas da sempre a mesma mensagem, o que pode ser???

[57] Comentário enviado por cfranciscatto em 24/08/2007 - 16:50h

Olá Taylor. Muito util seu artigo. Me economizou algumas horas (ou dias) de pesquisa/trabalho...
Apenas para complementar, quem quiser montar um firewall mais robusto, limitando algumas coisas, vale a pena dar uma olhada em http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptable... e
http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm
Valeu, abraço.

[58] Comentário enviado por taylor em 24/08/2007 - 17:55h

saldonegativo,

Isto parece ser um erro de sintaxe no seu dhcpd.conf (em /etc/dhcp3/dhcp.conf). Embora o erro se refira a uma determinada linha, é comum que o problema esteja antes. Portanto, reveja seu código e tenha um olhar crítico.

Um aspecto a observar é que seus endereços MAC no Linux devem apresentar ":" e não "-", como no Windows.
Exemplo correto: 00:0B:CD:5D:3C:00
Exemplo errado: 00-0B-CD-5D-3C-00

Veja também se não esqueceu dos ";" (Ponto e Vírgula) no final de cada
diretiva;

Caso não encontre a falha, pegue um dhcp.conf de alguém (já pronto e funcionando) e subistitua pelo seu (faça backup) e altere conforme sua necessidade. Abaixo segue um exemplo:


# Inicio >
#
# /etc/dhcp3/dhcpd.conf
#
# Configuracoes gerais
#*********************
#
INTERFACES="eth1";
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
option domain-name "intranet";
option broadcast-address 10.0.0.255;
}
#
host pc1 {
hardware ethernet 00:01:03:34:0E:EC;
fixed-address 10.0.0.10;
}
#
host pc2 {
hardware ethernet 00:0B:CD:5D:3C:00;
fixed-address 10.0.0.11;
}
#
# Fim <


[59] Comentário enviado por bonsucesso em 14/09/2007 - 16:38h

muito bem explicado Taylor, aqui na minha empresa eu tenho um servidor de arquivo windows e estações windows xp com a internet enrando direto na rede, estou fazendo um servidor de internet em uma maquina separada da rede, já fiz toda a instalação do debian , agora gostaria de saber como configurar as placas de rede , pode me dar uma ajuda, sou bastante iniciante , fiz um curso agora quero aprender muito sobre linux , muito grato se puder me ajudar.....

[60] Comentário enviado por taylor em 15/09/2007 - 14:49h

bonsucesso

Você está montando um servidor de internet (p/ compartilhar) ou servidor web (p/ site intranet) ?

De qualquer forma, eu havia respondido uma pergunta q talvez possa te ajudar. Procure aqui um "Comentário enviado por taylor em 02/02/2007 - 16:07h".

T+

[61] Comentário enviado por bonsucesso em 17/09/2007 - 11:07h

fiz essas configurações debind9 e me deu esse seguinte erro , como sou muito iniciante gostaria de uma ajuda , obrigado !
dhcpd self-test failed. Please fix the config file.
The error was:
Internet Systems Consortium DHCP Server V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
/etc/dhcp3/dhcpd.conf line 128: unknown option dhcp.brodcast-address
option brodcast-address 10.
^
/etc/dhcp3/dhcpd.conf line 132: semicolon expected.
harware ethernet
^
/etc/dhcp3/dhcpd.conf line 137: semicolon expected.
harware ethernet
^
Configuration file errors encountered -- exiting

[62] Comentário enviado por bonsucesso em 17/09/2007 - 11:08h

há e so pra ficar claro , é um servidor de internet, ok !!!

[63] Comentário enviado por taylor em 17/09/2007 - 13:45h

bonsucesso,

Isso envolve uma série de fatores. Você precisa configurar corretamente, conforme artigo. Tem q saber usar o vi, vim ou mcedit para manipular os arquivos:

1. PLACAS DE REDES
vi /etc/network/interfaces

2. DHCP
vi /etc/dhcp3-server/dhcp.conf

Esse erro parece ser problema de sintaxe (escrita do código) no seu arquivo de configuração do DHCP. Procure aqui um "Comentário enviado por taylor em 24/08/2007 - 17:55h". Veja o exemplo de lá!

Outra coisa, caso você só use máquinas Windows na rede, basta instalar o bind no servidor LINUX e mais nada, q por default ele já vem configurado o básico pra funcionar. Não precisa fazer aquele processo q descrevi para intranet (BIND - INTRANET). No máximo, configure o arquivo /etc/resolv.conf, por exemplo assim:

search intranet # (nome do seu servidor DNS, onde instalou o Bind)
nameserver 10.0.0.1 # (IP do seu servidor DNS, onde instalou o Bind)
nameserver 200.193.195.133 # (IP de um servidor DNS na Internet)

Para remover o bind, faça:
# apt-get remove bind9

Para instalar o bind, faça:
# apt-get update
# apt-get install bind9

Pra fazer o servidor compartilhar a internet, vai ter q utilizar o iptables.

Para saber se o iptables está instalado, faça:
# iptables -V

O retorno vai ser algo como:
iptables v1.3.6

Caso o iptables não esteja instalado, faça:
apt-get install iptables

Crie um arquivo para guardar as regras iptables (no seu caso, só de compartilhamento de internet):
# touch /etc/init.d/iptables.conf
# chmod 755 /etc/init.d/iptables.conf

Abra o arquivo /etc/etc/init.d/iptables.conf e atualize para:

#!/bin/bash
#
# /etc/etc/init.d/iptables.conf
#
# Limpa e inicializa os modulos
#******************************
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
modprobe iptable_nat
#
# Compartilha Internet - eth0 -> Placa de rede da internet
#********************************************************
#
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
#

Coloque o iptables.conf para rodar na inicialização, assim:

# cd /etc/rc2.d
# ln -s /etc/init.d/iptables.conf /etc/rc2.d/S99iptables.conf

Inicie o serviço:

# /etc/init.d/iptables.conf

Caso tenha mexido em alguma outra configuração, reinicie seus respectivos serviços também:

Para reiniciar a placa de rede, faça:
/etc/init.d/networking restart

Para reiniciar o DHCP, faça:
/etc/init.d/dhcp3-server restart

Para reiniciar o BIND, faça:
/etc/init.d/bind9 restart

Na dúvida, reinicie o linux após as alterações ...

Leia o artigo, faça conforme consta e, principalmente, cuidado
para não cometer erros de digitação.

Boa sorte!

[64] Comentário enviado por jmarceloth em 15/10/2007 - 11:43h

Otimo sua configuração, mas me dê uma dica, no caso voce criou 2 tipos de usuarios, o que tem acesso a tudo (admin) e os que tem acesso somete a sites que não estejam em regra de bloqueio (internet), bem o que eu quero implementar alem disso tudo que voce citou é que ALGUNS dos USUARIOS com acesso restito TAMBEM ACESSEM O MSN, como eu deveria fazer neste caso ???

Mais uma vez, Otimo artigo, nota 10 e Obrigado pela colaboração e contribuição para o conhecimento.

[65] Comentário enviado por mr. jean... em 16/10/2007 - 09:53h

Desculpe minha ignorância, mas queria saber de quem são esses Ips no arquivo resolv.conf!


[66] Comentário enviado por mr. jean... em 16/10/2007 - 13:41h

quanto à configuração do squid, há uma configuração interessante: se bloquearmos a palavra sexo, o squid bloqueará além de www.sexo.com.br (site ofensivo),o site, www.sexoesaude.com.br, que não tem nada de mais, e teoricamente inofensivo. Então, no meu proxy, como surgiu essa situação, eu fiz a acl assim:

# *** Define a lista de palavras impróprias
acl palavra url_regex -i "/etc/squid/list/palavra.txt"
# *** Define as exceções
acl palavralib url regex -i "/etc/squid/list/palavralib.txt"

# a função:
http_access deny palavra !palavralib.


Caso vcs não tenham entendido, consultem a minha fonte:

http://www.linuxman.pro.br/squid/node/1/#toc24

Tópico: criando os arquivos necessários.

[67] Comentário enviado por renovamark em 18/10/2007 - 23:26h

Parabéns Taylor parabéns, estou iniciando agora em server e este artigo me ajudou muito... estou a procura de controle de banda vinculado ao MAC ou ao IP o que for melhor, agradeço quem puder me Ajudar....

Renovamark

[68] Comentário enviado por ATAOL em 21/10/2007 - 08:43h

Ola Taylor, estou a procura do mesmo q o colega acima. Eu tenho um provedor Wireless e preciso fazer o controle de banda e de acesso, login, etc...
No mesmo vai rodar o servidor de impressão, servidor de conteúdo(para evitar do pessoal ficar buscando coisas na net) e o mais vc achar necessário.
Quanto vc cobraria pra me mandar o linux pronto pra uso?
Ai pra facilitar eu mando o dinheiro da configuração e pra vc comprar um HD, te passo as configurações minhas e vc me manda por correio.
Eu precisava deixar configurado pro servidor suportar entrada de 2 a 3 link.
Me add ai no msn q conversamos melhor atainformatica@hotmail.com
Obrigado e o seu artigo é top.
Antonio Neto.

[69] Comentário enviado por taylor em 21/10/2007 - 21:06h


mr. jean,

Quanto aos IPs do /etc/resolv.conf, é o seguinte:

search intranet
nameserver 10.0.0.1
nameserver 200.193.195.133

Onde "intranet" é o nome do nosso domínio (zona) local.
10.0.0.1 é o IP onde roda nosso servidor de nomes (Intranet) e
200.193.195.133 é um IP DNS na Internet (externo) para caso
haja alguma falha em resolver o nome localmente.

T+


[70] Comentário enviado por taylor em 21/10/2007 - 21:15h

renovamark e atansgo,

Infelizmente não posso ajuda-los pois não cheguei a implementar controle de banda no meu servidor, portanto, não tenho conhecimento necessário.
Mas dizem por aí que "A necessidade faz a busca". Espero chegar lá...

T+

[71] Comentário enviado por edgleyson em 10/11/2007 - 15:44h

taylor, boa tarde!
Não sei nem se você ainda respondi perguntas aqui, mas não custa nada tentar.
Fiz as configurações de acordo com o que vc falou e estou tendo problemas no proxy.
Minhas estações pingam no servidor, pingam nos endreços (ex: ping www.uol.com.br) e o servidor pinga nas estações. O msn messenger funciona perfeitamente. Sendo que, as paginas do internet explorer não carregam de forma alguma através do proxy transparente. Se eu configurar o navegador para o endereço e a porta, aí ele funciona. Mas gostaria mesmo, era de usar de forma transparente.
Segue o erro que esta dando:
O seguinte erro foi encontrado:
********************************************************
Requisição inválida.
Alguns aspectos de requisição HTTP são invalidos. Possíveis causas:
Método desconhecido ou faltando (GET, POST)
Faltou a URL
Faltou o identificador HTTP (HTTP/1.0)
A requisição pode ser muito grande
Hostname com caracter inválido; não é permitido o uso de underscores


Generated Fri, 09 Nov 2007 16:54:00 GMT by Debian.piamartamontese (squid/2.6.STABLE5)
***********************************************************

Como vê, o squid é o 2.6 e você disse que a config que vc fez no artigo era para 2.5. Fiz as alterações para http_port 192.168.10.1:3128 transparent
Onde: 192.168.0.1 = é o ip da minha placa de rede intranet (eth1).

Vi em uma das respostas que vc deu a um usuario que estava com o mesmo problema que eu, para dar uma olhada nos nomes de hosts para saber se eles eram validos. Aqui segue os meus e gostaria, que vc me dissesse se estão corretos ou não.
Desde já, te agradeço pela atenção e espero resolver isso, pois já faz muito tempo que parei nesse problema e ainda não encontrei solução nem com usuarios e nem em sites.
Valeu!

# /etc/hostname

- Debian

# /etc/hosts

127.0.0.1 localhost
127.0.1.1 Debian.piamartamontese Debian

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00: :0 ip6-localnet
ff00: :0 ip6-mcastprefix
ff02: :1 ip6-allmodes
ff02: :2 ip6-allrouters
ff02: :3 ip6-allhosts



Aqui também vai meu squid.conf ccaso seja necessario dar uma conferida:

# Configuração Geral
#*******************
#
http_port 3128
cache_mem 32 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
error_directory /usr/share/squid/errors/Portuguese
emulate_httpd_log on
visible_hostname servidor.4pef
cache_mgr taylor@pop.com.br
#
# Proxy Transparente
#*******************
#
http_port 192.168.10.1:3128 transparent
#
# acl - Recomendadas
#*******************
#
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563 # https, snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
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 Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#
# acl - Personalizadas
#*********************
#
# *** Define portas liberadas
acl Safe_ports port 3050 # Interbase/Firebird
acl Safe_ports port 23000 # Serpro
acl Safe_ports port 13352 # SIRF
acl Safe_ports port 500 # FAP Digital
#
# *** Define a rede interna (Intranet)
acl intranet src 192.168.10.0/255.255.255.0
#
# *** Define PC(s) com privilegio total - CUIDADO!
acl admin arp "/etc/squid/list/admin.txt"
#
# *** Define a lista de PC(s) autorizados ao acesso a Internet
acl internet arp "/etc/squid/list/internet.txt"
#
# *** Define a lista de sites impróprios
acl site dstdomain -i "/etc/squid/list/site.txt"
#
# *** Define a lista de palavras impróprias
acl palavra url_regex -i "/etc/squid/list/palavra.txt"
#
# *** Define os formatos de vídeo, áudio e outros de risco
acl video urlpath_regex .wma$ .asf$ .mov$ mpg$ .mpeg$ .avi$
acl audio urlpath_regex .mp3$ .wav$ .mid$
acl risco urlpath_regex .exe$ .pps$ .com$ .bat$ .scr$
#
# *** Define o browser Internet Explorer
acl ie_browser browser ^Mozilla/4.0 .compatible; MSIE
#
# *** Define PC(s) autorizados a usar o Internet Explorer
acl ie_usuario arp "/etc/squid/list/browser.txt"
#
# *** Define PC(s) sem acesso a Internet (bloqueados) 24h/dia
acl bloqueado arp "/etc/squid/list/bloqueado.txt"
#
# *** Define o horário do expediente
acl exp1_seg-qui time MTWH 08:00-12:00
acl exp2_seg-qui time MTWH 13:30-17:00
acl exp1_sex time F 08:00-12:00
#
# http_access - Recomendadas
#***************************
#
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#
# http_access - Personalizadas
#*****************************
#
# *** Libera dowloads de ate 5 MB
reply_body_max_size 5242880 allow all !admin
#
# *** Nega sites improprios
http_access deny site !admin
#
# *** Nega palavras impróprias
http_access deny palavra !admin
#
# *** Nega os formatos de vídeo, áudio e outros de risco
http_access deny video !admin
http_access deny audio !admin
http_access deny risco !admin
#
# *** Nega o Internet Explorer
http_access deny ie_browser !ie_usuario !admin
#
# *** Nega Internet no expediente para quem não esta na lista
http_access deny !internet !admin exp1_seg-qui
http_access deny !internet !admin exp2_seg-qui
http_access deny !internet !admin exp1_sex
#
# *** Nega PC(s) sem acesso a internet (bloqueados)
http_access deny bloqueado
#
# Permite acesso da rede interna (Intranet)
http_access allow intranet
#
# *** Nega tudo que não foi liberado ou negado
http_access deny all
#


[72] Comentário enviado por bonsucesso em 26/11/2007 - 17:37h

ola taylor ,

bom com esse seu memento eu consigo usar desta maneira>

modem rot --->serv. de internet---> serv. de arq win--> estacoes win
192.168.0.254 192.168.0.1 10.0.01 ....100 à 200

pode me dar uma luz , pczz@ig.com.br

obrigado !!!

[73] Comentário enviado por kelloggs em 07/01/2008 - 20:24h

OPAS... ve se alguem ai pode me ajudar... olha soh tenho usuarios comuns que se logam em WTS windows 2003 server, preciso controlar a net desse pessoal por usuario e também controlar a net dos que nao usam wts que usam soh a estação mas tudo por usuario intendem.

será que alguem ai pode dar uma força decomo posso fazer isso por iptables ??

[74] Comentário enviado por iandecy em 12/02/2008 - 22:51h

Amigo estou começando agora entendi varias coisas do seu turorial mais teve umas coisas que eu n entendi será que vc pode me tirar a duvida ??

como é que eu faço para abrir

Abra o arquivo /etc/network/interfaces e atualize para:

# /etc/network/interfaces
#
# Interface de rede local - loopback
#***********************************
auto lo
iface lo inet loopback
#
# Primeira placa de rede - Internet
#**********************************
# auto eth0
# iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1 # IP do roteador
#
# Segunda placa de rede - Intranet
#*********************************
auto eth1
iface eth1 inet static
address 10.0.0.1
netmask 255.0.0.0
broadcast 10.255.255.255
network 10.0.0.0

e mudar para isso ?? como e faço para abrir esse arquivo ? qual o comando .,..


abraços.


Iandecy

[75] Comentário enviado por taylor em 13/02/2008 - 09:26h

Oi,

Pessoal, desculpe a ausência, mas tenho estado muito atarefado e inclusive cuidando de mudança

Seguinte, já que você está iniciando, recomendo que compre o livro
"Descobrindo o Linux", da Editora NOVATEC, Autor João Eriberto Mota Filho.

Isto vai te ajudar bastante pois sem alguns conhecimentos básicos, as
coisas podem se tornar mais difíceis do que realmente são, ok?

Quanto a sua dúvida, para abrir um arquivo linux via terminal, precisa
informar o editor que será utilizado, neste caso o VI, assim:

# vi /etc/network/interfaces

vi (se fala viai) é um editor padrão que já vem no linux. Existe um outro
editor interessante chamado mcedit , bem mais fácil de manipular, só que
no entanto, precisa ser instalado, assim:

# apt-get update
# apt-get install mc

Para abrir o arquivo com o mcedit, seria assim:

# mcedit /etc/network/interfaces

A única observação que faço é que sempre quando usar
o mcedit, insira um ENTER no final do texto. Isto serve
para caracterizar o final do arquivo quando em uso pelo sistema.
O VI já faz isso automaticamente.

É isso... T+

TAYLOR LOPES

[76] Comentário enviado por leonline em 01/03/2008 - 17:02h

Amigo edgleyson, eu estava com o mesmo problema que o seu.
Porém eu resolvi somente alterando a linha do squid.conf

http_port 3128

para

http_port 3128 transparent


Altere aí e dê um reload que vai funfar.


Abraço

[77] Comentário enviado por eirasgarcia em 04/03/2008 - 18:26h

oI tAYLOR, PARABENS PELO TUTORIAL

gostaria de saber se e possivel montar uma rede de 4 pcs+ servidor apenas com o modem adsl e um switch, sem o roteador???

eu preciso de 2 placas de rede?? ou apenas uma???

O eskema seria:

modem-->eth0(servidor)-->eth1(servidor)-->switch-->outros pcs????

keria o servidor para poder centralizar meus arquivos em um unico pc, alem de ter um servidor ftp para fazer upload e download de onde eu estiver.

eu tenho speedy, mas o ip, dns e gateway q eles me fornecem é fixo.....como faco com isso???

vlw!!!

[78] Comentário enviado por speedylinux em 06/03/2008 - 21:47h

ola amigo blz ? sou novato no forum mais estou dedicando todo meu esforço pra aprender a fazer servidores ,, recebi muitas propostas de emprego e tive que despensar por não saber fazer ... minha duvida é a seguinte to seguindo seu tutorial e ja acabei ele eu parei no squid eu tenho um wett 11 que pega o sinal da minha internet e cai no meu hub
tenho um ip valido que recebe a internet então configurei eth0 meu ip valido 189.20..... e na placa de rede eth1 coloquei a rede 192.168.0.1 fiz o dhcp e eles piongas consigo pinfar uol dentro do servidor mais não consigo navegar nada ,,, dentro do pc cliente pc1 consigo pingar o gatway 192.168.0.1 e vice versa ... tem q colocar alguma regra no squid pois ja liberei o mac no admin.txt ja fiz a regras de iptables como mostra no tutorial o que devo fazer mais!

[79] Comentário enviado por taylor em 07/03/2008 - 20:47h

eirasgarcia,


sim, é possível montar uma rede com 4 pcs + servidor,
utilizando o modem ADSL e o switch. Faça o seguinte esquema:


internet <-> modemADSL <-> servidor <-> switch <-> 4pcs


Na verdade o Roteador é uma equipamento usado para fazer a
comunicação entre diferentes redes de computadores. Neste
Artigo, usamos duas placas de redes pois o SERVIDOR faz
exatamente o papel do roteador, integrando a rede mundial
(internet) à sua rede local (intranet).


_____
| S |
| E [] <--- placa de rede (eth0) onde chega o cabo de rede
| R | com o sinal de internet. Aqui a placa pode receber
| V | um IP atribuído por algum serviço DHCP do modem/roteador ou
| I | você pode configurar IP fixo, desde que na mesma faixa.
| D |
| O [] <--- placa de rede (eth1) onde chega o cabo de rede
| R | vindo da sua rede local. Normalmente é conectado
=== a um hub/switch de onde o sinal é distribuído.
Configure um IP fixo, ex: 192.168.0.1


Para centralizar seus arquivos no servidor e compartilha-los com
outras maquinas windows, utilize o SAMBA.


FIM


speedylinux,


O sinal da Internet deve ir primeiro para o servidor, só depois
para o hub, conforme acima descrito.


Esse problema de conseguir pingar o UOL somente dentro do servidor
e não nas máquinas da rede provavelmente seja algo com o IPTABLES
ou o DNS.


No IPTABLES você não pode esquecer de fazer o compartilhamento da
internet conforme consta no Artigo.


No DNS, caso você só use máquinas Windows na rede, basta instalar
o bind no servidor LINUX e mais nada, que por default ele já vem
configurado o básico pra funcionar. No máximo, configure o arquivo
/etc/resolv.conf, por exemplo assim:


search intranet # (nome do seu servidor DNS, onde instalou o Bind)
nameserver 10.0.0.1 # (IP do seu servidor DNS, onde instalou o Bind)
nameserver 200.193.195.133 # (IP de um servidor DNS na Internet)


Para instalar o bind, faça:
# apt-get update
# apt-get install bind9


Para maiores detalhes, procure e leia aqui o "Comentário enviado por
taylor em 17/09/2007 - 13:45h"


Falouuu, T+ TAYLOR LOPES


[80] Comentário enviado por taylor em 07/03/2008 - 21:04h

GIOVANNI,

No Artigo as maquinas recebem IP via DHCP sim, porém, são IPs fixos!

Dê uma olhada na configuração de exemplo:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=5644&pagina=5

Você vai observar que amarro o MAC a um IP fixo definido por mim, veja:

host pc-1 {
hardware ethernet 00:C0:9F:E5:9B:18;
fixed-address 10.0.0.2;
}


Se você está tendo que configurar o navegador para apontar para a porta do squid, então, dê uma revisada no seu squid.conf pois ele não está funcionando de forma "transparente". Atente para o detalhe que versões do squid podem apresentar formas diferentes na hora de configura-lo como transparente...

Aí nesses cometários do Artigo tem várias dicas sobre isso...

Valeu, t+

TAYLOR LOPES



[81] Comentário enviado por eirasgarcia em 12/03/2008 - 12:46h

Obrigado taylor....vou tentar, ai posto aki se der certo

t+

eirasgarcia

[82] Comentário enviado por speedylinux em 14/03/2008 - 14:53h

amigo fiz tudo certinho mudei o squid o meu era 2.6 e ja mudei as linhas de comando tipo consegui abrir e mandar emails pelo incredimail e o msn abriu também normal ,agora a navegação pelo opera, internet explorer e mozilla não consegui nada o que pode ser , pingo o siteda uol normal pelo pc1 cliente , no computador cliente!outra coisa quando dou o comando iptables -L náo aparece regr nenhuma o q pode ser !

[83] Comentário enviado por speedylinux em 14/03/2008 - 16:40h

outra coisa quando dou o comando iptables -L náo aparece regr nenhuma o q pode ser !

[84] Comentário enviado por fabio_aragao em 28/03/2008 - 22:13h

?comentario=

Ola,

Primeiramente quero parabenizar pelo excelente tutorial que mostra um teor de qualidade impar!!!!!!!!

Tenho uma duvida que diz respeito ao DHCP onde estou fazendo um laboratorio de testes no Windows instalando o VMWare e dentro o debian como servidor e o windows como workstation.
Segui o tutorial sendo que nao consegui colocar IP no windows XP, peguei o nome da maquina direitinho e configurei o MAC so que nao rolou..............

Sera que alguem tem alguma dica para realizar esta configuração utilizando o VMWare ??

[85] Comentário enviado por rafaelbrenner em 31/03/2008 - 10:12h

Tudo bem Taylor to vendo que desde de 2006 que esse artigo seu vem bombando, quero agradecer pela grande ajuda que me deu para montar o meu servidor com esse artigo.
Bom mais agora estou com um problema, gostaria de saber como eu faço para criar um controle de banda para cada cliente da minha rede wireless delimitando o dow e up de cada um conforme o pacote fornecido para o cliente!!!

Se puder me ajudar eu agradeço!!!flw!!

[86] Comentário enviado por jcvalim em 23/04/2008 - 15:55h

Fala Taylor exelente artigo...

[87] Comentário enviado por jcvalim em 24/04/2008 - 08:49h

Eu inseri duas linhas de comandos antes da ACL que define PC's com privilegio total, para que assim eu tivesse máquinas que recebessem DHCP e ficassem liberadas, no caso de alguém chegar com um notebook e quizesse utilizar a internet sem restrição, coloquei assim:

# Define IPs com acesso Liberado
acl faixa_adm src 192.168.0.100-192.168.0.200
http_access allow faixa_adm

Espero ter contribuido com a comunidade.
Vlw

[88] Comentário enviado por alisson.urzeda em 26/04/2008 - 20:37h

ótimo artigo... parabéns

[89] Comentário enviado por cavanso em 26/05/2008 - 12:27h

Caro Taylor,

ao rodar o sarg apresenta a seguinte mensagem

root@curuja:/etc/squid# sarg -x
SARG: Init
SARG: Loading configuration from: /etc/squid/sarg.conf
SARG: (language) Cannot open language file: /etc/squid/languages/Portuguese
root@curuja:/etc/squid#

ja entrei na pasta e o arquivo consta no local e com dados..... mas apresenta isto, tentei com english mesma coisa... spanish também, estou usando ubuntu 8, alguma coisa referente a isto ?

[90] Comentário enviado por brunosalmito em 04/07/2008 - 08:48h

Cara parabéns !!!!

A tempos não via um artigo tão bem elaborado, conserteza esse vai para o meus favoritos.

Parebéns mesmo.

[91] Comentário enviado por ngiongo em 07/07/2008 - 00:10h

Ola,

Primeiro parabens pelo artigo.
Apartir dele consegui instalar um servidor de internet funcionando legal,mas quando bloqueio um determinado usuario ele só bloqueia a navegação e o msn não bloqueia.pelo o que entendi deveria bloquear ou estou errado?

[92] Comentário enviado por el_aguiar em 23/07/2008 - 09:16h

Parabéns pelo artigo
Estou seguindo ele mas teve um erro no squid se alguém puder me ajudar fico muito agradecido
"parseConfigFile: line 39 unrecognizad: 'httpd_accel_host virtual'
line 40 unrecognizad: 'httpd_accel_port 80'
line 41 unrecognizad: 'httpd_accel_with_proxy on'
line 42 unrecognizad: 'httpd_accel_users_host_header on'
uso o Debian com Squid 2.6.stable5

[93] Comentário enviado por aprendiz_ce em 23/07/2008 - 10:02h

Olá el_aguiar,

Isso é simples de ser resolvido. Descarte essas linha e inclua o parametros "transparent" na frente de linha "http_port 3128" e ficará tudo certinho. Isso ocorre porque nas versões mais recentes do squid a forma de configurar o proxy transparente é um pouco diferente.

Faça assim: http_port 3128 transparent

Boa sorte!

[94] Comentário enviado por l-x em 22/08/2008 - 15:13h

caramba.... o melhor artigo q li até agora aki no VOL. é isso ai galerá compartilhar conhecimento é a base de relacionamento entre seres humanos... e bichos tb!!!!!!

[95] Comentário enviado por el_aguiar em 08/09/2008 - 09:05h

Valeu obrigado mardonio e desculpe pela demora estou muito ocupado ultimamente....

[96] Comentário enviado por engmaciel em 02/10/2008 - 19:53h

Pessoal, só uma dica para as pessoas que tiveram problemas para subir a parte gráfica como eu:
http://bloglud.wordpress.com/2008/06/29/configuracoes-de-video-no-debian-etch/

Memento: Parabéns pelo artigo..show de bola.

[97] Comentário enviado por carlosmgn1 em 01/11/2008 - 14:36h

Seu tuto me ajudou bastante não estava conseguindo liberar o acesso SIAFI nem a pau. Vou dizer que é um dos melhores tutos q já pois a maioria parte do princípio que somos usuários avançados. OK.Valew. Só falta um de samba e servidor de e-mail

[98] Comentário enviado por keke em 14/03/2009 - 12:56h

Olá Taylor,
Cara PARABÉNS mesmo pelo tutorial, é muito bom, eu como iniciante, me sinto mais encoragado em usar o linux, e fico mais tranquilo em saber que temos pessoas como você que nos ajudam muito...

Eu tô com um mesmo problema já relacionado aqui...
O seguinte erro foi encontrado:

* Requisição inválida.

Alguns aspectos de requisição HTTP são invalidos. Possíveis causas:

* Método desconhecido ou faltando (GET, POST)

* Faltou a URL

* Faltou o identificador HTTP (HTTP/1.0)

* A requisição pode ser muito grande

* Hostname com caracter inválido; não é permitido o uso de underscores
----------------------------------------------------
Eu também vi que vc pede para olharmos o nome do servidor nos arquivos hostname e hosts, e eles estão corretos, deixei no meu servidor como "debian", tem mais algum lugar que devo olhar, que faz referencia ao nome o servidor?? Pois continuo com o mesmo problema. E o engraçado é que eu tenho internet na máquina cliente, pelo MSN, pingo em www.uol.com.br pelo prompt de comando, mas não navego.
A versão do meu squid é a 2.6.STABLE5.
Desde já agradeço muito pela atenção.
Abraço

[99] Comentário enviado por leo1973 em 17/04/2009 - 08:36h

bom dia caro colega, antes de tudo parabéns por ser claro nestes assuntos tao usados no dia a dia. é o seguinte queria saber como ficaria no firewall no caso de querer acessar meu servidor q fica no escritorio pelo micro de minha casa usando o ssh. tenho um modem roteado dlink 500 b ja com a porta 31200 liberada. como ficaria no firewall sendo que esta porta ja esta liberada nomodem. seu artigo esta completo e so falta isso para mim deixar minha rede filé. dai poderei ver o q acontece remotamente. obrigado a todos do viva o linux que sempre tem o maior interesse em desvendar as duvidas dos iniciantes......

[100] Comentário enviado por fabio em 17/04/2009 - 10:38h

Bom dia, LEO...

Seguinte, se o modem já está liberado, e o seu servidor linux está direto
no modem, então basta que o SSH esteja instalado.

Para instalar o SSH, no terminal linux faça:
apt-get install ssh

Daí, na sua maquina em casa, instale o putty:
http://superdownloads.uol.com.br/download/46/putty/

Abra o putty e coloque o IP ou nome (caso tenha DNS) do seu servidor
linux... ele vai pedir usuario o senha do seu servidor... e pronto!

Caso precise fazer um NAT (redirecionamento), vc pode colocar algo como o
script abaixo no seu iptables (no arquivo iptables.conf, conforme consta
no Artigo)... no caso abaixo, redireciono a VPN para um micro especifico:


# Redireciona VPN, porta 5900, do sauva para o PC 11.0.0.13
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5900 -j DNAT --to
11.0.0.13


Lembro que esse tutorial DEBIAN faz tempo q fiz (2006) e algumas coisas já
mudaram...

Blz, valeu!

TAYLOR LOPES

[101] Comentário enviado por blaiser em 03/05/2009 - 16:57h

Caro Taylor.
Infelizmente só pude contribuir com um 10 em seu artigo, pois é o que tinha, na verdade merecia 10000000.
Com simples questões, matou a pau todo servidor.
Parabéns, não perca o entusiasmo de apresentar seu trabalho pois tem gente de longe que vê aprecia e aprende muito com o que passa.
Parabéns e sucesso.


Alessandro
alessandro@evolutec.net
Pará-Brasil

[102] Comentário enviado por charles.reitz em 20/05/2009 - 17:42h

Caro Taylo,

O que tenho a dizer a respeito do artigo, esta fantastico. Voce foi muito feliz nos detalhes o que ajudou muito todos. Meu caro gostaria de tirar uma duvida. Nessa nova correcao vc solicita para no bind criar os arquivos com mk e dpois incrementar com os codigo que vc descreve abaixo, porem nao entendi como irei incrementar se este arquivo e uma pasta. Caso estou comando bola me desculpe pois sou novato no linux. Obrigado ate o momento...Obs, meu teclado nao esta configurado por isso metade das palavras nao possuem acento.. rsss

# Agora, inclua o conteúdo abaixo no arquivo /etc/bind/db.intranet


$TTL 604800 ;
@ IN SOA sol.intranet. root.sol.intranet. (
09122006 ; Serial
604800 ; Refresh (1 semana)
86400 ; Retry ( 1 dia )
2419200 ; Expira ( 4 semanas )
604800) ; Minimo ( 1 semana )
;
@ IN NS sol.
@ IN A 10.0.0.1
sol IN A 10.0.0.1
pc-1 IN A 10.0.0.77
pc-2 IN A 10.0.0.20
pc-3 IN A 10.0.0.13



[103] Comentário enviado por cirinho em 17/09/2009 - 20:25h

Instalei meu servidor ano passado baseado e seguindo esse tutorial. Depois com os meus estudos e problemas fiz algumas melhorias adptando para minhas necessidades.

Seria bom aproveitar e refazer esse tutorial/artigo novamente já com o debian 5 lenny explicando todo o processo e principalmente abrangendo o apache samba e o bind q foi o meu maior problema.

Resumindo uma atualizada e melhorada é sempre bem vinda. Show o artigo e comentários.

[104] Comentário enviado por taylor em 20/10/2009 - 21:14h

****************************************************************************


Visite meu Blog: http://taylorlopes.com/


****************************************************************************

[105] Comentário enviado por budega em 12/01/2010 - 22:20h

servidor:~# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2010/01/12 23:19:36| parseConfigFile: squid.conf:39 unrecognized: 'httpd_accel_host'
2010/01/12 23:19:36| parseConfigFile: squid.conf:40 unrecognized: 'httpd_accel_port'
2010/01/12 23:19:36| parseConfigFile: squid.conf:41 unrecognized: 'httpd_accel_with_proxy'
2010/01/12 23:19:36| parseConfigFile: squid.conf:42 unrecognized: 'httpd_accel_uses_host_header'
2010/01/12 23:19:36| aclParseAclLine: WARNING: empty ACL: acl ie_usuario arp "/etc/squid/list/browser.txt"
.
o que pode ser isto?

[106] Comentário enviado por taylor em 12/01/2010 - 23:24h

amigo, esse artigo foi feito em 2006... algumas coisas já mudaram.
na época funcionava 100%, testado e em uso por mim e outras pessoas...
mas tem que seguir à risca...

mas dê uma olhada no artigo, em "Comentário enviado por taylor em 24/03/2007 - 20:56h"...

Falou, t+

[107] Comentário enviado por wos- em 22/03/2010 - 14:41h

Meus parabéns, ficou muito bom msm
me será bastante útil

[108] Comentário enviado por MaxsuelderN em 02/05/2010 - 16:25h

Muito Bom Mesmo!!

[109] Comentário enviado por blaiser em 02/05/2010 - 17:11h

Caro amigo.
Estou necessitando de um help.

Na galho fraco, estou fazendo com controle no iptables.conf
Estou querendo criar uma acl que permita que eu declare uma lista o qual vou pemitir ou negar acesso uma devida porta... como por exemplo, a famosa 1863(msn) ou até mesmo uma porta 22 (ssh)
Algo que ficasse tipo assim

etc/squid/list/portasbloqueadas.txt

o qual nesse arquivo eu gerencio o ip ou mac que está bloqueado ou liberado.

um grande abraço

[110] Comentário enviado por Mr. Hendrickson em 15/07/2010 - 22:06h

Buenas!!!!

Só para constar, estamos em 2010 e eu usei este artigo para configurar o ubuntu server 10.04.

Alguns detalhes a acertar devido a versão e meu server está redondo e pronto para uso.

Parabéns, o conhecimento não envelheçe.

Abçs a todos.

[111] Comentário enviado por gek09 em 31/08/2010 - 13:11h

Caro amigo fiz todas as configurações de deram certo, mas estou com um problema, não consigo utilizar o outlook, como devo proceder para liberar no iptables?
Parabéns pelo tutorial.

Abraço.

[112] Comentário enviado por eurides-eas em 17/12/2010 - 10:52h

Boa tarde, sou novato e estou tentando configurar um servidor debian. Gostaria que vc's verificassem o que estou fazendo de errado, ate o momento estou com o servidor debian rodando, as 2 placas de rede estao configuradas(eth0 - rede local e eth2 - internet), meu dhcp esta rodando certinho e atribuindo ips para as makinas(widows xp) na rede. A partir dai nao estou conseguindo navegar nas estacoes(winxp), desconfio q pode ser configuracao no iptables, pois ja tentei squid somente com liberacao total, sem acl's de negacao e ja tentei o meu arquivo squid.conf que estava rodando perfeitamente no meu antigo servidor win2008(somente com as adaptacoes para o linux).

segue meu arquivo iptables.conf:

# Limpa as tabelas do firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
# Carrega modulos do iptables
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe ip_conntrack_pptp
modprobe ip_nat_pptp
modprobe iptable_nat
modprobe ip_tables
# Libera a rede com nat, fazendo kernel compartilhar a conexão
echo 1 > /proc/sys/net/ipv4/ip_forward
# politicas padroes
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# libera trafego de localhost
iptables -A INPUT -i lo -j ACCEPT
# libera trafego reverso cuja saida tenha sido autorizada
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# libera o firewall para receber alguns tipos de conexao
iptables -A INPUT -p tcp --dport 80 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 3128 -s 192.168.1.0/24 -j ACCEPT
# libera a saida da rede interna para a internet
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
# Masquerading para a ligacao entre a rede interna e externa
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
# proxy transparente
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

segue meu arquivo squid.conf (antigo servidor -win2008- adaptado para linux):

http_port 192.168.1.100:3128 transparent
visible_hostname meunomexD

## INICIO - bloqueio de ip

acl ip_liberado src "/etc/squid/ip_liberado.txt"
http_access allow ip_liberado
acl ip_bloqueado src "/etc/squid/ip_bloqueado.txt"
http_access deny ip_bloqueado

## FIM - bloqueio de ip


## INICIO - bloqueio de sites

acl bloqueados url_regex -i "/etc/squid/bloqueados.txt"
http_access deny bloqueados

## FIM - bloqueio de sites


## INICIO - liberar rede interna

acl rede_interna src 192.168.1.0/24
http_access allow rede_interna

## FIM - liberar rede


## INICIO - bloqueio de downloads

acl download_geral url_regex \.ppt($|\?) \.pps($|\?) \.txt($|\?)
acl download_musica url_regex \.wav($|\?) \.asx($|\?) \.asf($|\?) \.wma($|\?) \.mp4($|\?) \.mp3($|\?) \.mp2($|\?) \.mp1($|\?) \.mpga($|\?) \.mpa($|\?) \.midi($|\?) \.mid($|\?) \.cda($|\?) \.ogg($|\?) \.acp($|\?) \.sdp($|\?) \.au($|\?)
acl download_video url_regex \.wtv($|\?) \.dvr-ms($|\?) \.3gp($|\?) \.vob($|\?) \.qt($|\?) \.mov($|\?) \.wmx($|\?) \.wvx($|\?) \.wax($|\?) \.wm($|\?) \.wmv($|\?) \.mpeg($|\?) \.mpg($|\?) \.rv($|\?) \.rm($|\?) \.rmvb($|\?) \.avi($|\?) \.mov($|\?) \.divx($|\?) \.flv($|\?)
acl download_executavel url_regex \.exe($|\?) \.bat($|\?) \.msi($|\?) \.pif($|\?) \.scr($|\?) \.dat($|\?) \.reg($|\?) \.com($|\?)
acl download_compactado url_regex \.zip($|\?) \.rar($|\?) \.7z($|\?) \.arj($|\?) \.cab($|\?) \.lha($|\?) \.lzh($|\?) \.tar($|\?) \.targa($|\?) \.tgz($|\?) \.iso($|\?) \.xar($|\?) \.z($|\?)

http_access deny download_geral
http_access deny download_musica
http_access deny download_video
http_access deny download_executavel
http_access deny download_compactado

## FIM - bloqueio de downloads


## INICIO - radio online e streaming

acl streaming rep_mime_type ^video/x-ms-asf
acl websom urlpath_regex -i \.asf$ \.asx$ \.avi$ \.au$ \.mid$ \.midi$ \.mov$ \.mpeg$ \.mpg$ \.mp3$ \.mp2$ \.mp2v$ \.ogg$ \.pls$ \.ra$ \.ram$ \.rmi$ \.snd$ \.wav$ \.wma$ \.wmv$ \.wvx$

http_reply_access deny streaming
http_access deny websom

## FIM - radio online e streaming


## INICIO - radios online

acl proibir_musica urlpath_regex -i \.aif$ \.aifc$ \.aiff$ \.asf$ \.asx$ \.avi$ \.au$ \.m3u$ \.med$ \.mp3$ \.m1v$ \.mp2$ \.mp2v$ \.mpa$ \.mov$ \.mpe$ \.mpg$ \.mpeg$ \.ogg$ \.pls$ \.ram$ \.ra$ \.snd$ \.wma$ \.wmv$ \.wvx$ \.mid$ \.midi$ \.rmi$

http_access deny proibir_musica

## FIM - radios online


## INICIO - Liberar webmail

acl urlpath_emails urlpath_regex -i webmail.exe
http_access allow urlpath_emails

## FIM - liberar webmail


## INICIO - Media Streams

## MediaPlayer MMS Protocol

acl media rep_mime_type mms
acl mediapr url_regex dvrplayer mediastream ^mms://

## (Squid does not yet handle the URI as a known proto type.)
## Active Stream Format (Windows Media Player)

acl media rep_mime_type x-ms-asf
acl mediapr1 urlpath_regex \.(afx|asf)(\?.*)?$

## Flash Video Format

acl media rep_mime_type video/flv video/x-flv
acl mediapr2 urlpath_regex \.flv(\?.*)?$

## Others currently unknown

acl media rep_mime_type ms-hdr
acl media rep_mime_type x-fcs

http_access deny mediapr
http_access deny mediapr1
http_access deny mediapr2
http_reply_access deny media

## FIM - Media Streams


## INICIO - Skype

acl numeric_IPs url_regex ^(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|(\[([0-9af]+)?:([0-9af:]+)?:([0-9af]+)?\])):443
acl Skype_UA browser ^skype^

http_access deny numeric_IPS
http_access deny Skype_UA

## FIM - Skype


## INICIO - bloqueio outros

acl all src 0.0.0.0/0.0.0.0
#http_access allow all
http_access deny all

## FIM - bloqueio outros


cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 5000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
emulate_httpd_log on
cache_mem 32 mb #tamanho do cache
# cache_effective_user administrador #usuário para gravação do cache em disco
# cache_effective_group administradores #grupo do usuário para gravação do cache
cache_replacement_policy heap GDSF
maximum_object_size 4096 KB
logfile_rotate 10 # squid -k rotate < comando pra gerar outro log

hierarchy_stoplist cgi-bin ?

memory_replacement_policy lru

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320


acl apache rep_header Server ^Apache
broken_vary_encoding allow apache


o outro squid.conf q tentei utilizar sem nenhuma restricao ou bloqueio eh:

http_port 192.168.1.100:3128 transparent
visible_hostname meunomexD

## INICIO - liberar rede interna
acl rede_interna src 192.168.1.0/24
http_access allow rede_interna
## FIM - liberar rede

acl all src 0.0.0.0/0.0.0.0
http_access allow all

cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 5000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
emulate_httpd_log on
cache_mem 32 mb #tamanho do cache
# cache_effective_user administrador #usuário para gravação do cache em disco
# cache_effective_group administradores #grupo do usuário para gravação do cache
cache_replacement_policy heap GDSF
maximum_object_size 4096 KB
logfile_rotate 10 # squid -k rotate < comando pra gerar outro log
hierarchy_stoplist cgi-bin ?

memory_replacement_policy lru

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache


Bom, somente isto está configurado no servidor: 2 placas de redes, dhcp rodando e atribuindo ip's para estacoes, iptables e squid. Nao fiz nenhuma outra configuracao em nenhum outro arquivo ou programa.

Espero que me ajudem, muito obrigado.

Eurides

[113] Comentário enviado por ramonoctavio em 21/01/2011 - 13:28h

cara incrivel esse tutorial mais dar para tirar uma duvida por favor.
quando mando reiniciar o serviço dhcpd.conf (/etc/init.d/dhcp3-server restart), ele dar esses erros o que eu faço:
dhcpd self-test failed. Please fix the config file.
The error was:
Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
/etc/dhcp3/dhcpd.conf line 123: expecting a parameter or declaration
subnet 10.0.0.0 netmask 255.0.0.0 {
^
/etc/dhcp3/dhcpd.conf line 124: expecting a parameter or declaration
  range 10.0.0.5 10.0.0.50;
^
/etc/dhcp3/dhcpd.conf line 125: expecting a parameter or declaration
  option routers 10.0.0.1;
^
/etc/dhcp3/dhcpd.conf line 126: expecting a parameter or declaration
  option domain-name-servers 200.165.132.155;
^
Configuration file errors encountered -- exiting

agradeço muito pela ajuda

[114] Comentário enviado por Andre B em 25/01/2011 - 16:57h

Taylor e´ o CARA!
Me apresentou o Linux pelo MSN e através do seu artigo e mais orientacões via msn instalamos um servidor DEBIAN show de bola. Valeu Taylor você é o CARA!

[115] Comentário enviado por schpirer em 11/08/2011 - 09:50h

Olá a todos
Sou novo no Linux e estou tentando implementar a implantação de um serivdor Linux aqui na empresa.
A topologia atual é: modem da internet - roteador - switch - máquinas windows.
Gostaria de saber como eu posso configurar o servidor para servir de firewall e onde que ele entra na topologia e eu tenho provedeor de internet com ip fixo
As configurações que estão no roteador são as seguintes:
IP Address: 10.8.68.2 - fornecido pelo provedor
Subnet Mask: 255.255.255.0
Default Gateway: 10.8.68.1
Primary DNS Server: 201.55.161.200
Secondary DNS Server: 201.55.161.201
E o IP do roteador é 192.168.0.1
Gostaria de saber como eu configuro as placas e o servidor DCHP.
Agradelço a ajuda.

[116] Comentário enviado por claudiojb em 31/08/2011 - 21:17h

Caro Taylor gostaria de saber se tinha como vc me da umas dicas pos estou migrando pra serve cache com linux pra melhorar meu pequeno provedor se vc poder ajudar desde ja agradeço espero sua resposta... meu contato é claudio_adl@hotmail.com ...

[117] Comentário enviado por felipethamay em 07/09/2011 - 13:00h

Muito bom seu artigo Taylor.

[118] Comentário enviado por sergio_reis em 17/10/2011 - 17:47h

Caro amigo, sou iniciante nesse sistema. Gostaria de saber qual a tecla de atalho para ecrever as configurações e qual a tecla que pressiono para salvar. Uso o debian-6.0.2.1.

[119] Comentário enviado por fpmartins em 07/08/2012 - 11:31h

Muito bom o tutorial.
Só fica a dúvida por qual motivo é necessária a instalação de uma interface gráfica na parte 2 do artigo.

[120] Comentário enviado por manhanijava em 24/10/2012 - 07:50h

caraca mano, este artigo tem quase 8 anos, e é muito util..parabéns

[121] Comentário enviado por bytegomes em 05/07/2013 - 12:08h

bom dia taylor estou configurando servidor de internet peguei esta configuração de deu so esta com este ai não estou achando.

parseConfigFile: squid.conf:39 unrecognized: 'httpd_accel_host'
2013/07/05 12:06:48| parseConfigFile: squid.conf:40 unrecognized: 'httpd_accel_port'
2013/07/05 12:06:48| parseConfigFile: squid.conf:41 unrecognized: 'httpd_accel_with_proxy'
2013/07/05 12:06:48| parseConfigFile: squid.conf:42 unrecognized: 'httpd_accel_uses_host_header'
2013/07/05 12:06:48| aclParseAclLine: WARNING: empty ACL: acl admin arp "/etc/squid/list/admin.txt"
2013/07/05 12:06:48| aclParseAclLine: WARNING: empty ACL: acl internet arp "/etc/squid/list/internet.txt"
2013/07/05 12:06:48| aclParseAclLine: WARNING: empty ACL: acl ie_usuario arp "/etc/squid/list/browser.txt"

[122] Comentário enviado por ramonoctavio em 12/05/2014 - 21:57h

seguir a risca esse tutorial so tem um problema o internet explorer esta ok com relação aos bloqueios mais no firefox passa o facebook o que faço! agradeço desde ja amigos

[123] Comentário enviado por Jardelbb em 21/07/2016 - 21:28h

Faço o curso de TADS e o professor passou um trabalho onde precisa-se criar um servidor linux em uma maquina virtual instalado o debian 8 até ai tudo bm, tenho os scripts estudados em sala, porém qdo tento abrir

root@debianTCD:~# /etc/network/interfaces
retorna bash: /etc/network/interfaces: Permissao negada

root@debianTCD:/home/jardel# /etc/network/interfaces
retorna bash: /etc/network/interfaces: Permissao negada

o que tenho q fazer, podem me ajudar?


[124] Comentário enviado por robertobrandao em 23/07/2016 - 09:41h


[123] Comentário enviado por Jardelbb em 21/07/2016 - 21:28h

Faço o curso de TADS e o professor passou um trabalho onde precisa-se criar um servidor linux em uma maquina virtual instalado o debian 8 até ai tudo bm, tenho os scripts estudados em sala, porém qdo tento abrir

root@debianTCD:~# /etc/network/interfaces
retorna bash: /etc/network/interfaces: Permissao negada

root@debianTCD:/home/jardel# /etc/network/interfaces
retorna bash: /etc/network/interfaces: Permissao negada

o que tenho q fazer, podem me ajudar?




Bom dia, cara o arquivo interface é para editar então você deve usar o nano ou Joe ou vi para editar esse arquivo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts