Problema: NAT e FTP / POSTROUTING E MASQUERADE



  • Olá pessoal, estou descobrindo o pfSense 2.2.5 como firewall, estava usando Debian8 + iptables até o momento.
    Consegui traduzir todas as minhas regras de firewall usando dicas do fórum, porém, estou numa situação em que meu conhecimento está limitado. implantei o pfSense em dois pontos da minha rede, primeiro implantei como proxy basicamente(como mostra o esquema abaixo), funcionou tudo corretamente, todos os sistemas da empresa ok. Agora estou implantando como firewall de borda e foi aí que começou a dor de cabeça.
    Possuo 5 interfaces: L1, L2 e L3 (links de internet em loadbalance, sendo L1 o gateway default), L4 (Link direto com a matriz via fibra), LAN (DMZ)

    L1* L2  L3  L4–------roteador (gw)–-----------roteador (gw)–------ftp_matriz
                                                        \      |      |    /            x.x.x.1                        x.x.x.2                    a.a.a.20
                                                          \    |      |  /
                                                            fw_borda  x.x.x.5
                                                            (pfsense)
                                                                  |
                                                                LAN
                                                              (DMZ) y.y.y.1
                                                                  |
                                                                  |
                                                                  |
                                                              (DMZ)
                                                                WAN  y.y.y.10
                                                                  |
                                                                proxy
                                                            (pfsense)
                                                                  |
                                                                LAN
                                                            (clientes)z.z.z.1
                                                                  |
                                                                  |
                                                              cleinte z.z.z.0/24

    Possuímos um sistema no cliente que deve acessar automaticamente um servidor FTP que fica na matriz partindo do cliente (em vermelho) e transmitir arquivos, portanto saindo pelo  L4 (OPT3)

    Quando meu firewall de borda era um Debian + iptables tudo funcionava bem, existia a seguinte regra:

    iptables -t nat -A POSTROUTING -p tcp -s y.y.y.0/24 -d a.a.a.20 -o $DMZ -j MASQUERADE

    Onde $DMZ é a interface LAN do fw_borda

    Após instalar o pfSense na borda configurei a rota para a rede da matriz, liberei tudo em todas as direções (Firewall > Rules) para fins de teste entre o L4 e a LAN do fw_borda, pinga normalmente, o traceroute chega ok, o sistema se conecta no FTP da matriz, porém não ocorre a transmissão do arquivo.

    Tentei traduzir a regra de NAT acima, mas acho que estou fazendo errado, pois não funcionou.
    Descartei problemas no proxy (que também é pfsense) pois funcionava bem antes de colocar pfsense também na borda.

    Gostaria que me ajudassem a resolver esse problema, tentei disponibilizar a maior quantidade de detalhes possível pois não sei se farão diferença. Caso falte algum é só pedir.

    Para fins de aprofundamento, anexei as imagens com os dados coletados via wireshark com o firewall antigo (Debian + Iptables) onde o sistema conecta e transmite os arquios, também anexei a coleta com o pfSense na borda, onde conecta mas não envia (trava a transmissão).

    Nas imagens o pacote vem do proxy(y.y.y.10), em direção ao FTP_matriz (a.a.a.20) e vice-versa.

    Desde já grato a todos.
    ![debian - iptables.jpg](/public/imported_attachments/1/debian - iptables.jpg)
    ![debian - iptables.jpg_thumb](/public/imported_attachments/1/debian - iptables.jpg_thumb)
    ![pfsense - fw_borda.jpg](/public/imported_attachments/1/pfsense - fw_borda.jpg)
    ![pfsense - fw_borda.jpg_thumb](/public/imported_attachments/1/pfsense - fw_borda.jpg_thumb)


Log in to reply