This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
forward-basic [2023/10/26 08:57] – rs232 | forward-basic [2024/11/27 01:45] (current) – [Advanced Scenarios] hogwild | ||
---|---|---|---|
Line 2: | Line 2: | ||
When traffic is initiated from the Internet towards FreshTomato' | When traffic is initiated from the Internet towards FreshTomato' | ||
+ | |||
+ | \\ | ||
==== NAT ==== | ==== NAT ==== | ||
- | NAT (Network Address Translation) is a feature | + | NAT (Network Address Translation) is a feature |
+ | |||
+ | NAT re-addresses outgoing packets to the Internet from private LAN clients with FreshTomato' | ||
+ | |||
+ | NAT takes traffic from network 1 and makes it appear on network 2 as if it's coming from the router IP address on network 2. The store of address mappings and open/closed connections is called the NAT Table. | ||
+ | |||
+ | Connections initiated via the Internet won't reach a LAN IP address, as the PAT (Port Address Translation) table doesn' | ||
+ | |||
+ | \\ | ||
- | Connections initiated on the Internet will not reach a LAN IP address, as the PAT (Port Address Translation) table doesn' | ||
==== PAT ==== | ==== PAT ==== | ||
- | There are several types of NAT. The most common and relevant for FreshTomato is PAT (Port Address Translation). | + | There are several types of NAT. The most common and relevant for FreshTomato is PAT (Port Address Translation). PAT is FreshTomato' |
- | NOTE: There is an obsolete setting in the Miscellaneous section of some older versions in of the // | + | Note that there' |
\\ | \\ | ||
Line 21: | Line 30: | ||
\\ | \\ | ||
- | **On: | + | **On: |
- | **Protocol: | + | \\ |
+ | |||
+ | **Protocol: | ||
* UDP - only UDP connections are forwarded | * UDP - only UDP connections are forwarded | ||
Line 35: | Line 46: | ||
\\ | \\ | ||
- | **Src Address**: | + | **Src Address**: |
- | **Ext Port:** This defines a mapping to the (external) port the Internet connection expects to use. It can be a single | + | DNS hostnames, FQDN names and IP addresses are valid here. Leaving this empty configures |
- | **Int Port:** (Optional). Here, you can specify a different (internal) port to the target LAN IP address. Leaving this empty uses the same port as the Ext Port \\ (Default: empty). | + | \\ |
- | **Int Address:** This specifies the internal Address | + | **Ext Port:** defines a mapping |
- | **Description:** Here, enter any text to help you remember the reason for the mapping. Most users enter the application name, or protocol used, such as " | + | This can be a single port/range, with syntax: "FromPort-ToPort". |
\\ | \\ | ||
+ | |||
+ | **Int Port:** this option lets you specify a different (internal) port for the target LAN IP address. | ||
+ | |||
+ | Leaving this empty uses the same port as the Ext Port setting (Default: empty). | ||
\\ | \\ | ||
- | ==== Advanced scenarios ==== | + | **Int Address:** specifies the internal address to which the port on the LAN the traffic should be redirected. |
- | As we know only one given port: | + | \\ |
- | === reverse proxy === | + | **Description: |
- | A proxy by definition needs to talk the language (protocol) used by the application to be able to perform its job. A HTTP proxy will not be able to server SMTP just to give a trivial | + | Most users enter the application name or protocol used. For example: " |
- | === source bound redirection === | + | \\ |
- | If the source IP and/or FQDN is well known you can create multiple port mapping references on the same port: | + | \\ |
+ | |||
+ | |||
+ | ==== Advanced Scenarios ==== | ||
+ | |||
+ | Only one given socket (port/ | ||
+ | |||
+ | === Reverse Proxy === | ||
+ | |||
+ | To do its job, a proxy must speak the protocol used by the application. For example, an HTTP proxy cannot serve SMTP. If you need to redirect, say, HTTP to multiple internal hosts from the same external port, a reverse proxy is a good solution. According to HTTP v1.1, the target hostname must be included in the HTTP client request. This allows a proxy to fetch such information, | ||
+ | |||
+ | === Source Bound Redirection === | ||
+ | |||
+ | If the source IP and/or FQDN is well-known, you can create multiple port mapping references on the same port: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | The above settings would cause traffic from the IP address(es) of " | ||
+ | |||
+ | \\ | ||
- | and result into traffic from source.example.com (whichever IP address/es this resolves to) to port 80 and 443 being redirected to a specific LAN IP where any other source on such ports will be redirected to a different LAN IP address. | + | \\ \\ |