[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Servidor de DNS/email com 2 placas de rede.



Então:

fwmark + iproute2 vai resolver seu problema.
Só pesquisar.

só marcar os pacotes que entram por uma interface para que saiam pela
mesma interface e que possam atingir o default gateway qdo necessário.

*don't worry, be happy*


Vai como dica: http://lartc.org/



2007/1/11, Miguel Da Silva - Centro de Matemática
<mdasilva@mordred.cmat.edu.uy>:
Edmundo Valle Neto escreveu:
> Miguel Da Silva - Centro de Matemática escreveu:
>> Edmundo Valle Neto escreveu:
>>> Edmundo Valle Neto escreveu:
>>>> Miguel Da Silva - Centro de Matemática escreveu:
>>>>> Felipe Augusto van de Wiel (faw) escreveu:
>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>> Hash: SHA1
>>>>>>
>>>>>> On 01/03/2007 10:49 PM, Miguel Da Silva - Centro de Matemática wrote:
>>>>>>> Estimados, estou tendo problemas com um servidor no trabalho.
>>>>>>> Atualmente
>>>>>>> ele é o nosso servidor de e-mail e possui 1 placa de rede com 1 IP
>>>>>>> configurado nela (sem alias, nem nada do tipo).
>>>>>>>
>>>>>>> Quero fazer com que esse servidor seja também servidor de DNS.
>>>>>>> Para isso
>>>>>>> quero usar uma outra placa de rede que terá associada a ela o IP do
>>>>>>> atual servidor de DNS (que será desativado).
>>>>>>>
>>>>>>> Já pude configurar o bind e o postfix sem problemas e posso também
>>>>>>> configurar as placas normalmente, cada uma com o IP que tem que
>>>>>>> ter. Sei
>>>>>>> que o DNS e o e-mail funcionam sem problemas nesse novo servidor
>>>>>>>
>>>>>>> O que quero é que o DNS use uma placa de rede e o e-mail use outra,
>>>>>>> entretanto quando levanto as duas placas de rede, os serviços nao
>>>>>>> funcionam corretamente. Nem sequer os pings funcionam. Acho que é
>>>>>>> algum
>>>>>>> problema de roteamento.
>>>>>>>
>>>>>>> Sugestoes?
>>>>>>
>>>>>>     Configure apenas um gateway em uma das placas de rede, se você
>>>>>> configurar um gateway em cada placa de rede vai ter problemas.
>>>>>>
>>>>>>     Além disso, você pode configurar o bind e postfix pra escutar
>>>>>> numa interface específica, depende do programa, as diretivas costumam
>>>>>> ser 'listen'.
>>>>>>
>>>>>>
>>>>>>> Até mais.
>>>>>>
>>>>>>     Abraço,
>>>>>>
>>>>>> - --
>>>>>> Felipe Augusto van de Wiel (faw)
>>>>>> "Debian. Freedom to code. Code to freedom!"
>>>>>
>>>>> Felipe, cheguei a avançar um pouco nesse assunto. Estive usando o
>>>>> comando ip para criar regras (ip rule add ...) e para ajustar a
>>>>> tabelas de roteamento (ip route add ...), entretanto acabei
>>>>> configurando uma interface de rede virtual.
>>>>>
>>>>> Usando o comando ip foi possível fazer com que os pacotes que
>>>>> chegasse no servidor através da interface eth0, saissem do servidor
>>>>> por essa mesma interface. O mesmo vale para eth1.
>>>>>
>>>>> O que ficou faltando para resolver o problema como eu queria (usar
>>>>> 2 placas de redes, cada uma com um IP diferente) era configurar "a
>>>>> rede" para que os pacotes que entrassem desde fora da rede nao
>>>>> tivessem problemas para sair.
>>>>>
>>>>> Quando eu tentava me conectar ao servidor de e-mail (usando telnet
>>>>> mesmo só para testar) desde fora da minha rede, os pacotes nao
>>>>> saiam. Ou seja, o computador "extrangeiro" iniciava a conexao com o
>>>>> Postfix, mas quando o servidor respondia, os pacotes nao saiam da
>>>>> rede.
>>>>>
>>>>> Pensava provar depois o tcpdump para ver o que estava acontecendo
>>>>> na verdade. Como o servidor já estava em produçao, optei pela
>>>>> soluçao mais rápida, mas vou retomar esse assunto mais pra frente.
>>>>>
>>>>> Até mais.
>>>>
>>>> Conforme o Felipe já falou não tem muito o que errar, desde que você
>>>> não coloque dois default gateways.
>>>> Não sei se entendi muito bem o que você quer fazer, se essa máquina
>>>> está servindo de gateway entre duas redes, tipo internet e rede
>>>> local. Inclusive quando você define um "default gateway" é
>>>> adicionada uma rota padrão para esta máquina sem a necessidade de
>>>> ficar alterando as rotas (tudo o que não for para uma rede ou outra
>>>> acaba indo para essa máquina, você pode verificar isso com o comando
>>>> route).
>>>>
>>>> Após as configurações básicas das interfaces de rede e rotas estarem
>>>> corretamente configuradas as únicas coisas que faltam são:
>>>> - habilitar a repassagem de pacotes no kernel para que as duas redes
>>>> se comuniquem, "echo 1 > /proc/sys/net/ipv4/ip_forward", (eu
>>>> pessoalmente coloco isso dentro do script do firewall).
>>>> - configurar o iptables para negar ou liberar o tráfego nas
>>>> interfaces, se a rede interna deve ser acessível de fora
>>>> configura-se DNAT, se a rede externa é a Internet e se pretende
>>>> liberar para a rede interna sem proxy (ou para aplicações
>>>> específicas) configura-se SNAT, e assim por diante.
>>>>
>>>> (normalmente se usa flags de estado para liberar entrada, repassagem
>>>> e saída de pacotes para coneções já estabelecidas, mas isso depende
>>>> de como você define a política padrão do seu firewall, já que eu nem
>>>> sei se você realmente está usando um firewall ou usando ele com uma
>>>> política padrão DROP. Sem firewall, simplesmente habilitando a
>>>> repassagem de pacotes deveria funcionar).
>>>>
>>>>
>>>> Atenciosamente.
>>>>
>>>> Edmundo Valle Neto
>>>
>>> "Sem firewall, simplesmente habilitando a repassagem de pacotes
>>> deveria funcionar."
>>>
>>> Só corrigindo isso, realmente depende do que você quer fazer, não dá
>>> pra dizer que só isso funciona. :)
>>>
>>>
>>> Edmundo
>>>
>>>
>>
>> Essa máquina nao é um gateway. Ela tem 2 placas de rede que terá, cada
>> uma, um IP da minha rede. Algo do tipo etho -> 10.0.1.52 e eth1 ->
>> 10.0.1.148. Uma placa de rede sería para o e-mail e a outra para o DNS.
>
> Não sei qual o motivo de você ter dividido o endereçamento assim, ou se
> em algum lado da rede existe algum outro roteador que faça a rede ter
> acesso a IPs válidos (aparentemente existe, já que você faz referência a
> acessos "de fora da rede"). Eu prefiro sempre usar endereços classfull
> ou que pelo menos não dividam os octetos do endereçamento, que são bem
> mais fáceis de configurar, tipo 10.0.1.0 e 10.0.2.0 sendo duas subredes.
> (já tive que fazer isso por exemplo para contornar um problema de
> cabeamento mal feito e conseguir fazer pelo menos parte da rede
> comunicar de forma adequada a 100 Mbps).

Nao há divisao alguma, os IPs que coloquei no e-mail anterior foram
apenas para ilustrar, nossa rede é uma classe C e todos os IPs que temos
sao válidos. O único gateway que há é o que conecta a minha rede com o
resto da Internet, nada mais. Simplesmente há um servidor com duas
placas de rede que possuem IPs da mesma subrede.

>>
>> Percebi que ao configurar 2 placas de rede na mesma rede sao
>> adicionados 2 "default gateway" para a mesma rede e somente tenho
>> acesso à rede local se retiro um dos gateways. Entretando isso fazia
>> com que os pacotes entrassem por uma interface e saissem por outra,
>> coisa que eu nao quero.
>
> Quanto aos default gateways já foi explicado que se configura somente um
> (já que as ferramentas que sobem as interfaces de rede também alteram a
> tabela de roteamento), quanto ao fato de entrar em uma interface e sair
> pela outra, você deve configurar o endereçamento e mascaras de rede de
> forma correta.
> Provavelmente você vai ter que utilizar um endereçamento 10.0.1.0/25 e
> 10.0.1.128/25  (com uma máscara 255.255.255.128, isso dá 126 endereços
> utilizáveis de cada lado), o comando ifup também já adiciona as rotas de
> acordo com o endereçamento quando as interfaces de rede sobem (assim os
> pacotes entram e saem nas interfaces corretas para as metades de
> endereçamento configuradas). Quanto ao default gateway ainda, você vai
> ter que decidir para qual máquina (contida em uma das redes) é correto
> mandar o tráfego que não pertence à nenhuma das duas redes.
>
> Obs.: Endereçar máquinas na mesma subrede com máscaras diferentes também
> pode causar problemas indesejáveis.

Volto a repetir, nao há subredes nem nada do tipo. É apenas 1 rede
(10.0.1.X, só para ilustrar) e uma máquina nessa rede deverá ter 2
placas de rede. Como se trata de um servidor de correo e de DNS, haverá
nas duas interfaces pacotes vindo de fora e de dentro da minha rede.

>>
>> Usando o comando ip pude fazer com que os pacotes entrasse e saissem
>> nas interfaces corretas, e monitorando o servidor através do iptraf
>> deu para ver que os pacotes ian e vinham das interfaces corretas. Na
>> prática haviam vários pacotes UDP/53 numa interface e outros TCP/25,
>> TCP/143, TCP993, etc na outra interface.
>
> Para ver o que está sendo recebido nas interfaces (endereçamento e
> portas de origem e destino) você pode utilizar o tcpdump também.

Obrigado pela informaçao, mas já sei que o tcpdump faz isso. Inclusive
algumas linhas mais abaixo citei ele como um ferramenta que me ajudaria.

>>
>> Dentro da rede tudo funcionava bem, o problema era quando alguém,
>> estando fora da rede, tentava enviar um e-mail através do nosso
>> servidor (tanto se era um e-mail para conta local ou algum usuário
>> válido mandando e-mail para fora). Tenho que usar o tcpdump para ver o
>> que está acontecendo, mas devido à urgência para resolver o problem,
>> acabei escolhendo outra alternativa (que nao é a que eu queria), mas
>> tudo bem.
>>
>> Até mais.
>
> Atenciosamente.
>
> Edmundo Valle Neto
>

Resumindo: 1 servidor, 1 só rede, 2 placas de rede, 2 IPs válidos
diferentes (um em cada placa), 2 serviços rodando ao mesmo tempo (DNS e
e-mail). Todo o tráfego correspondente a eth0 entrando e saindo por eth0
e todo o tráfego correspondente a eth1 entrando e saindo por eth1.

Até mais.
--
Miguel Da Silva
Administrador de Red
Centro de Matemática - http://www.cmat.edu.uy
Facultad de Ciencias - http://www.fcien.edu.uy
Universidad de la República - http://www.rau.edu.uy


--
To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org





Reply to: