Eu já dei uma olhada e não consigo ver um problema semelhante o suficiente, por favor, deixe-me saber se perdi um.
A configuração Eu tenho um servidor com duas placas de rede, eth0 e eth1 para duas redes diferentes. O cartão na eth0 usa o intervalo de endereços 200.x.x.x e o cartão na eth1 usa o intervalo 100.x.x.x. O servidor executa um aplicativo tomcat que atualmente configurei com uma conexão https e http nas portas 5001 e 5000, respectivamente. O IPTables está configurado para redirecionar o tráfego da porta 443 para a 5001.
A situação atual Se eu estiver em um computador cliente no intervalo de endereços 200.x.x.x, posso conectar-me ao aplicativo pela porta 443; no entanto, se eu tentar de um computador cliente no intervalo 100.x.x.x, não posso. No entanto, se eu tentar com a porta 5000, posso acessar o aplicativo através de http em um computador na faixa 100.xxx usando encapsulamento SSH, mas não diretamente em um no intervalo 200.xxx (mas isso pode estar relacionado a um firewall externo, então não é importante).
A situação desejada O que eu quero fazer é se conectar ao aplicativo usando a porta 443 de qualquer rede para que eu possa interromper a conexão http no aplicativo tomcat.
Restrições Parte da rede a que não tenho acesso são os firewalls externos, por isso não posso abrir a porta 5001 para qualquer um dos intervalos de rede, mas isso não deve fazer diferença em relação ao que eu entendo.
Eu não sou muito bom com o iptables e só o usei com servidores de interface de rede no passado, então agora estou fora do meu conhecimento e em áreas de aprendizado. Eu estou supondo que é algo sobre como eu configurei o redirecionamento 443 > 5001, mas eu não sei onde ou o que eu fiz / não fiz.
Minha configuração do iptables está listada abaixo: -
[root@server01 ~]# service iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 redir ports 5001
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:5001
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:443
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Eu acredito que o tráfego de rede é roteado corretamente (eu posso ssh do cliente de rede 100.xxx para o servidor e o tráfego da web https funciona na rede 200.xxx), então eu não acho que é isso, mas Eu posso estar errado (como posso verificar?)
Alguém capaz de me dar alguma inspiração ou orientação?
Muito obrigado,
David