This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NAT and Packet Filtering

I'm new to Astaro and I'm just not understanding the way NAT works in conjunction with packet filters. In particular, I don't understand the "traffic service" and "destination service" fields when defining a DNAT.

In the world I come from you NAT public IPs to private IPs, and this is completely separate from filtering... there is no concept of "services" associated with the NAT translations themselves. So, you define a NAT and then create the appropriate filter exceptions to let the desired traffic through the NAT (calling out the *private* IP of the destination NAT in the packet filter).

So, I go to create my first DNAT in ASG and I see these strange "service" fields.. the help file didn't enlighten me much. What are these for? Do they eliminate the need to create specific packet filters? If not, why are they there? The fields also seem to only allow "Any" or a single service... so what if you need to allow both ports 80 and 443 to a destination web server?

Clearly I need some help understanding how NAT works in Astaro-land, especially the "service" fields of a NAT entry. Any information would be greatly appreciated!


This thread was automatically locked due to age.
Parents
  • The manual offers a good explanation;  the way they handle NAT is much like the way a lot of security product handle it.  The most confusion people have is having to define a packet filter to actually allow the traffic that a NAT rule enables (some products implicitly define the packet filters needed for a NAT rule, the Astaro does not).
  • Hi Bruce-

    Thanks for the info. I do understand the need for packet filters to allow the traffic (that's the way other systems I've used have worked), but can you tell me what the "service" fields within the NAT definition itself are for? What does the NAT care about what ports it is NATing?? Is this just what cheap routers call "port forwarding", where you specify the desintation port you want NATed to a specific destination host?
  • Hi jkmichael

    I think you are reading to much into this and also getting things the wrong way.

    DNAT and what you are refering to which I believe as a MASQ NAT are 2 different things

    A MASQ NAT allows you to hide a private network, or even a single node behind a single Public IP, which normally is the firewall's IP.  This does not involve Ports or services.  However you do reuire a PF rule to deal with the traffic one NAT has taken place.  Remember NAT will alway occur before the PF rules are evaluated

    Now DNAT is a method of forwarding traffic from a public IP, such as a firewalls external IP to a private IP within your network, eg a Webserver in your DMZ.  However it also allows you to play with ports, which are the same as services.  So in theory lets say you have 2 webservers in your DMZ, but only 1 publIc IP address, you can say.  If a user goes to my public IP address on port 81 I want you to forward the traffic to port 80 on the first webserver, however if it comes on port 80, i want it to go to the other webserver.

    Hope this helps
Reply
  • Hi jkmichael

    I think you are reading to much into this and also getting things the wrong way.

    DNAT and what you are refering to which I believe as a MASQ NAT are 2 different things

    A MASQ NAT allows you to hide a private network, or even a single node behind a single Public IP, which normally is the firewall's IP.  This does not involve Ports or services.  However you do reuire a PF rule to deal with the traffic one NAT has taken place.  Remember NAT will alway occur before the PF rules are evaluated

    Now DNAT is a method of forwarding traffic from a public IP, such as a firewalls external IP to a private IP within your network, eg a Webserver in your DMZ.  However it also allows you to play with ports, which are the same as services.  So in theory lets say you have 2 webservers in your DMZ, but only 1 publIc IP address, you can say.  If a user goes to my public IP address on port 81 I want you to forward the traffic to port 80 on the first webserver, however if it comes on port 80, i want it to go to the other webserver.

    Hope this helps
Children