Ponte unidirecional entre interfaces

0

Atualmente, estou tentando configurar meu servidor para ser baseado em contêineres para limitar o uso da RAM e da CPU em todos os programas. Meu problema é que gostaria de ter todos os aplicativos em diferentes contêineres ouvindo o mesmo IP em portas diferentes, mas mantenha a flexibilidade e tenha outros contêineres com IPs especiais e tenha acesso total a eles. Os outros IPs estão em aliases de eth0 (eth0: 0, eth0: 1 e assim por diante).

+----+ +----+ +----+
|IP 1| |IP 1| |IP 2| IP
|WEB | | TS | |GAME| Application
| 80 | |9987| |ALL | Port(s)
+----+ +----+ +----+
  |     |      |
  +-----+------+
        |
     +------+
     |SERVER|
     +--+---+ 
        |
    +---+----+
    |Internet|
    +--------+

Pesquisei muito, mas não consegui encontrar nada que me ajudasse. Me desculpe quando esta é uma duplicata, eu simplesmente não consigo encontrar nada ... Talvez seja porque eu procurei por palavras-chave erradas, ou porque é impossível ... De qualquer forma, obrigado pela leitura!

    
por user557870 13.02.2016 / 23:12

1 resposta

1

A tecnologia que você está procurando é chamada NAT de destino. Em um sistema linux, isso pode ser feito com a ajuda do iptables.

Como sua pergunta não fornece detalhes sobre a tecnologia de contêiner que você está planejando usar, ela depende de como essa tecnologia se conectará à rede local e ao próprio sistema host - geralmente usando uma interface de ponte e interfaces de rede virtual para os recipientes.

Nesse caso, você pode dar uma olhada aqui: link

Change destination addresses to 5.6.7.8

iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8

     

Altere os endereços de destino para 5.6.7.8, 5.6.7.9 ou 5.6.7.10

     

iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8-5.6.7.10

     

Altere os endereços de destino do tráfego da Web para 5.6.7.8, porta 8080

     

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 5.6.7.8:8080

Você poderia então ter algumas regras DNAT do iptables em seu servidor host, que reescreveriam os pacotes de entrada em certas portas ou para determinados endereços IP para destinos em sua rede virtual com ponte.

No entanto, você também precisa configurar algumas regras NAT de origem, para que o tráfego desses contêineres também seja alterado para corresponder aos endereços IP que esses contêineres devem ter para o mundo externo.

    
por 14.02.2016 / 00:28