Mudanças de regras do iptables para o pfsense



  • Olá Pessoal,
    Eu estou com algumas dúvidas na hora implementar esse tipo de regras no pfsense
    $IPTABLES -A PREROUTING -t nat -d 150.107.109.151 -j DNAT –to 10.1.1.9 -i eth1 externa
    $IPTABLES -A POSTROUTING -t nat -s 10.1.1.9 -j SNAT --to 150.107.109.151 -o eth1 externa
    route add -host 150.107.109.151  dev eth0  Essa eu adicionei e está funcionando normal.

    Essas regras liberam acesso ao meu servidor web que está na rede local com um ip alias valido 150.107.109.151, eu queria saber com faço esse tipo de regras no pfsense?



  • Olá

    Pelo que entendi o teu pfsense é que tem o ip 150.107.109.151 na interface WAN.
    Se realmente for isto, basta criar uma regra de port forward em "Firewall -> NAT -> WAN".
    O masquerade (SNAT) é feito automaticamente.

    Abraço.



  • Uma tradução simples para ajudar:

    DNAT = port forward

    SNAT = outbound nat

    No pfsense você não precisa criar as regras de retorno, ele controla isso sozinho.



  • Então senhores deixa eu tentar explicar melhor o meu ambiente hoje:
    Eu tenho um servidor web na minha rede local com o ip 10.1.1.51 e um alias para rede externa com 150.107.109.151 
    auto eth0
    iface eth0 inet static
    address 10.1.1.51
    auto eth0:1
    iface eth0:1 inet static
    address 150.107.109.151
    netmask 255.255.0.0

    Isso Tudo passando pelo meu firewall com acesso a internet 150.107.109.150 e sendo liberado por aquelas regras de iptables que citei acima.
    Estou tendo dificuldade em implementar essas regras no pfsense.



  • @jroberto1987:

    $IPTABLES -A PREROUTING -t nat -d 150.107.109.151 -j DNAT –to 10.1.1.9 -i eth1 externa

    Esta regra redireciona TODO o tráfego que chega na interface com ip 150.107.109.151 para o host com o ip 10.1.1.9.
    É isso mesmo que tu quer?
    Redirecionar as portas 80 e 443 já não é sufciente?
    Para redirecionar tráfego, os pacotes devem entrar por uma interface ethernet e sair por outra, geralmente de WAN (externa) para LAN (interna).



  • Isso mesmo, por enquanto eu vou liberar tudo para que eu possa fazer funcionar depois penso em liberar por portas, vc poderia me passar um passo-a-passo de como eu consigo implementar essas regras:

    $IPTABLES -A PREROUTING -t nat -d 150.107.109.151 -j DNAT –to 10.1.1.9 -i eth1
    $IPTABLES -A POSTROUTING -t nat -s 10.1.1.9 -j SNAT --to 150.107.109.151 -o eth1



  • Acho que isso resolve o teu problema, mas não é a solução correta.

    https://doc.pfsense.org/index.php/1:1_NAT

    1:1 NAT, aka one-to-one NAT or binat, binds a specific internal address (or subnet) to a specific external address (or subnet). Incoming traffic from the Internet to the specified IP will be directed toward the associated internal IP. Outgoing traffic to the Internet from the specified internal IP will originate from the associated external IP.
    To allow traffic in from the Internet, a firewall rule must be added on the associated WAN interface allowing the desired traffic, using the destination IP of the internal private IP.
    All of the 1:1 NAT mappings are listed under Firewall > NAT, on the 1:1 tab and they are managed from the list on that page.
    When adding or editing a 1:1 NAT entry, pick an Interface where the NAT should happen, specify an External subnet IP which is typically a WAN VIP, an Internal IP (or use /32 for a single IP or enter the starting address of the block), and enter a Description. The Destination field should be left set to "any" for most all use cases.
    Click Save when finished.



  • Opa então fiz as regras dessa forma que vc mencionou e funcionou normal !
    Só fiquei preocupado que vc comentou que não é a forma adequada, Qual seria as melhores práticas?



  • Publicar somente as portas dos serviços e num cenário ideal, fazendo isso via camada7(proxy/firewall/load balance) no lugar de um nat.


Log in to reply