Ok: Primeiro, você tem duas interfaces com endereços IP sequenciais na mesma sub-rede - se estiver tentando distribuir a carga entre elas para obter uma taxa de transferência maior (digamos, você deseja transformar duas NICs gigabit em uma NIC de 2 gigabits) Há maneiras muito melhores de fazer isso! O termo geral seria "ligação". Pesquise por "ligação de rede" ou "NIC bonding" para encontrar algumas informações.
Supondo que não é isso que você está fazendo, a próxima coisa a tomar cuidado é que o padrão no Linux é considerar os endereços IP como ligados a um host, não para uma interface. Há uma entrada /proc
para alterar isso: /proc/sys/net/ipv4/conf/«INTERFACE»/arp_filter
; defina como 1 para desabilitar esse comportamento. Você provavelmente precisará.
Por fim, é possível que você tenha criado alguns endereços IP privados sequenciais e os tenha usado em sua pergunta para redigir seus IPs reais, e as duas interfaces não estão na mesma sub-rede. Nesse caso, ignore o acima, mas, no futuro, use no futuro sub-redes privadas diferentes para evitar confusão.
De qualquer forma, há algumas coisas que parecem diferentes em sua situação, em comparação com a pergunta à qual você se vinculou - as outras coisas dessas respostas devem ser aplicadas.
-
Se essas duas portas estiverem na mesma rede Ethernet (por exemplo, conecte-se ao mesmo switch), o (s) switch (es) realmente decidirá para qual porta enviar o tráfego. A menos que você tenha switches caros, eles fazem isso somente com base no endereço MAC de destino. Tenho certeza que alguém faz um switch que pode olhar para o número da porta TCP, mas eu aposto que não é barato.
-
Por padrão, o roteador enviando dados para seu servidor só vai se importar com o endereço IP de destino. Para obter tráfego "all incoming para 10.22.52.199 ou 10.22.52.200 na porta 7047 vai para 10.22.52.199" você terá que convencer seu roteador a fazer isso ... E isso pode não seja fácil.
-
O tráfego de saída para 74.120.50.7 deve ser bastante fácil:
ip route add 74.120.50.7/32 via «ROUTER» dev p1p2 src 10.22.52.200
. Isso especifica o dispositivo para enviá-lo e o IP de origem; Tenho certeza que isso vai sair dessa interface. (/ 32 é uma máscara de rede 255.255.255.255, ou seja, apenas um endereço). Você precisa preencher o roteador do próximo salto para "ROUTER". (Provavelmente chamado de "gateway padrão" em algum lugar). -
Da mesma forma, para o número da porta: na tabela de roteamento extra (da resposta da pergunta vinculada), inclua em
dev p1p1 src 10.22.52.199
. Se o acima funcionar, isso também deve acontecer.
Você pode confirmar que o tráfego está fluindo pelas interfaces corretas, por exemplo, tcpdump -p -i INTERFACE