IPTables, múltiplas interfaces de rede, NAT e roteamento em 2 redes

0

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

    
por David 29.09.2017 / 13:58

0 respostas