fwbuilder: O encaminhamento de portas funciona de fora, mas não dentro

4

Espero que haja algo óbvio que perdi aqui. Eu tenho regras NAT configuradas para encaminhar algumas portas diferentes para uma máquina interna. Quando um pedido chega da internet, tudo funciona como planejado.

No entanto, se eu atingir meu IP externo de dentro da rede com a mesma porta, a solicitação será finalizada na máquina do firewall em vez de ser encaminhada para o local correto.

Existe algo óbvio que estou fazendo errado? As regras geradas do iptables estão abaixo.

# Generated by iptables-save v1.4.4 on Wed Sep  7 20:36:37 2011
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:Cid4488E49C.0 - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -s 10.0.0.11/32 -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A INPUT -i lo -m state --state NEW -j ACCEPT 
-A INPUT -s XXX.XXX.XXX.XXX/32 -m state --state NEW -j ACCEPT 
-A INPUT -s 10.0.0.1/32 -m state --state NEW -j ACCEPT 
-A INPUT -p tcp -m tcp -m multiport --dports 5050,22,5900 -m state --state NEW -j ACCEPT 
-A INPUT -p udp -m udp --dport 67 -m state --state NEW -j ACCEPT 
-A INPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT 
-A INPUT -j DROP 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.11/32 -p tcp -m tcp --dport 5900 -m state --state NEW -j ACCEPT 
-A FORWARD -d 10.0.0.10/32 -p tcp -m tcp --dport 5050 -m state --state NEW -j ACCEPT 
-A FORWARD -s 10.0.0.0/24 -m state --state NEW -j ACCEPT 
-A FORWARD -j DROP 
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -d 10.0.0.11/32 -p tcp -m tcp --sport 22 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -o lo -m state --state NEW -j ACCEPT 
-A OUTPUT -m state --state NEW -j ACCEPT 
-A OUTPUT -p tcp -m tcp -m multiport --dports 5050,22,5900 -m state --state NEW -j Cid4488E49C.0 
-A OUTPUT -p udp -m udp --dport 67 -m state --state NEW -j Cid4488E49C.0 
-A OUTPUT -d 10.0.0.11/32 -p tcp -m tcp --dport 5900 -m state --state NEW -j ACCEPT 
-A OUTPUT -d 10.0.0.10/32 -p tcp -m tcp --dport 5050 -m state --state NEW -j ACCEPT 
-A OUTPUT -s 10.0.0.0/24 -m state --state NEW -j ACCEPT 
-A OUTPUT -j DROP 
-A Cid4488E49C.0 -d XXX.XXX.XXX.XXX/32 -j ACCEPT 
-A Cid4488E49C.0 -d 10.0.0.1/32 -j ACCEPT 
COMMIT
# Completed on Wed Sep  7 20:36:37 2011
# Generated by iptables-save v1.4.4 on Wed Sep  7 20:36:37 2011
*nat
:PREROUTING ACCEPT [114:15633]
:POSTROUTING ACCEPT [1:48]
:OUTPUT ACCEPT [1:48]
-A PREROUTING -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5050 -j DNAT --to-destination 10.0.0.10:5050 
-A PREROUTING -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5900 -j DNAT --to-destination 10.0.0.11:5900 
-A POSTROUTING -s 10.0.0.0/24 -o eth1 -j MASQUERADE 
-A OUTPUT -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5050 -j DNAT --to-destination 10.0.0.10:5050 
-A OUTPUT -d XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5900 -j DNAT --to-destination 10.0.0.11:5900 
COMMIT
# Completed on Wed Sep  7 20:36:37 2011
    
por demonbane 08.09.2011 / 05:18

2 respostas

4

Se você estiver se conectando ao servidor 10.0.0.10 de outra máquina na rede 10.0.0.0/24, poderá haver um problema com a maneira como os pacotes são roteados. Por exemplo, se sua fonte for 10.0.0.99 e você se conectar a 10.0.0.10 através do endereço IP público, os pacotes de resposta do servidor 10.0.0.10 serão enviados diretamente para 10.0.0.99, que os descartará, pois não tem uma conexão semiaberta com 10.0.0.10 (a conexão semiaberta é com o IP público).

Uma solução possível é o dobro de NAT. Aqui está um exemplo:

link

Btw, um lugar melhor para obter suporte ao fwbuilder é a partir da lista de discussão do fwbuilder ou do fórum de discussão do SF.

link

link

    
por 08.09.2011 / 17:18
-2

Se ele estiver aberto ao mundo e você puder acessar o servidor por meio de seu IP interno, não vejo problema. Se você realmente quiser acessá-lo internamente a partir do IP externo, peço para ver uma cópia do log de erros ou do log de acesso no NAT. Você também está, talvez, por trás de um proxy ou segundo IP, onde sua cotação externa endquote iP é diferente daquela do NAT? Espero que possamos resolver isso.

    
por 08.09.2011 / 05:25