ip roteamento de múltiplos IPs virtuais em uma placa ethernet

1

Estou trabalhando em uma rede ativa de várias caixas e rotas com um longo histórico de alterações. Eu estou tentando consolidá-los com o mínimo de interrupção. Eu gostaria de me livrar de alguns roteadores antigos e ter as conexões tratadas por caixas novas (ao vivo).

Isso deve funcionar?

    iptables -t mangle -A PREROUTING -p tcp -d 192.168.0.1 -j MARK --set-mark 1
    iptables -t mangle -A PREROUTING -p tcp -d 192.168.0.2 -j MARK --set-mark 2
    iptables -t nat -A PREROUTING -p tcp -d 192.168.0.1 -j DNAT --to-destination $DST:7021
    iptables -t nat -A PREROUTING -p tcp -d 192.168.0.2 -j DNAT --to-destination $DST:7022
    iptables -t nat -A POSTROUTING -p tcp -d $DST -m mark --mark 1 -j SNAT --to-source 192.168.0.1
    iptables -t nat -A POSTROUTING -p tcp -d $DST -m mark --mark 2 -j SNAT --to-source 192.168.0.2

    iptables -A FORWARD --destination $DST -j ACCEPT

se eth0 é um IP estático com o roteamento em 2 IPs virtuais - eth0: 1 é 192.168.0.1 e eth0: 2 é 192.168.0.2, e ambos acabam no destino $ DST.

Usar o MARK parece ser o meu melhor caminho, mas não está funcionando - o $ DST parece responder ao endereço IP estático, não ao virtual que estou tentando usar com o SNAT. É porque MARK não funciona desta maneira, ou porque outras entradas no iptables estão sobrescrevendo ou porque eu preciso olhar as regras do iproute2 fwmark?

O extrato acima é mínimo e eu preciso de uma solução que seja dimensionada para vários endereços IP do UCARP, junto com todas as regras do iproute2 e a filtragem do iptables que já está configurada. Infelizmente, por mais que eu queira começar de novo com uma ferramenta de roteamento de alto nível, estou atualmente preso a integrar mudanças na configuração existente do iproute2 / iptables.

Obrigado

    
por AndyS 11.07.2013 / 00:16

0 respostas