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
>
>