> For the complete documentation index, see [llms.txt](https://help.proxidize.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.proxidize.com/legacy-products/proxy-builder/advanced-configuration/port-forwarding-and-triggering.md).

# Port Forwarding and Triggering

Learn how to configure port forwarding on your router so external devices can access your Proxidize server, local dashboard, and generated proxies.

## What Is Port Forwarding?

Port forwarding is a router setting that allows traffic from the internet to reach a specific device inside your local network.

Most routers block incoming internet traffic by default. This protects your local devices, but it also means external users cannot reach services running on your Proxidize server unless the correct ports are forwarded.

For Proxidize, port forwarding may be needed when:

* You want to access the local Proxidize dashboard from outside the network.
* You want to use generated proxies from outside the local network.
* You want SSH access to the Proxidize server from outside the local network.
* Your Proxy Builder setup is configured to run locally instead of through the Cloud Dashboard.

![Port forwarding](/files/5f2667651a68b8f74fc4a96d27a6e7a88a380d7d)

{% hint style="warning" %}
Port forwarding exposes selected services to the internet.

Only forward the ports you actually need. Forwarding unnecessary ports can increase security risk and may expose internal services to unauthorized access attempts.

If you are not sure which ports are required for your setup, contact Proxidize Support before opening them.
{% endhint %}

## Port Forwarding vs Port Triggering

| Feature         | What It Does                                                            | Recommended for Proxidize? |
| --------------- | ----------------------------------------------------------------------- | -------------------------- |
| Port forwarding | Permanently forwards a public port to a specific local device and port. | Yes                        |
| Port triggering | Temporarily opens a port after outbound traffic triggers it.            | No                         |

For Proxidize, use **port forwarding** because the router must consistently send traffic to the Proxidize server.

## Before You Start

Before creating port forwarding rules, make sure you have:

* Access to the router settings page.
* The Proxidize server's reserved local IP address.
* The public IP address or DDNS hostname users will connect to.
* The dashboard, SSH, or proxy ports you want to expose.
* Confirmation that your ISP allows inbound traffic on those ports.

We strongly recommend reserving the Proxidize server's local IP before setting up port forwarding. See [Local IP Reservation (DHCP)](/legacy-products/proxy-builder/advanced-configuration/local-ip-reservation-dhcp.md).

### Understand the Connection Path

Without port forwarding, external traffic reaches your router and stops there.

With port forwarding, the router sends traffic from a public port to the Proxidize server's private IP and internal port.

Example:

| Connection Part           | Example      |
| ------------------------- | ------------ |
| Public IP / host          | 87.73.14.5   |
| Public proxy port         | 2001         |
| Proxidize server local IP | 192.168.1.25 |
| Internal proxy port       | 2001         |

In this example, a remote proxy user connects to:

`87.73.14.5:2001`

The router forwards that traffic to:

`192.168.1.25:2001`

## Common Proxidize Ports

| Service                                   | Default Port | When to Forward It                                                                  |
| ----------------------------------------- | ------------ | ----------------------------------------------------------------------------------- |
| Local Proxidize dashboard / web interface | 80           | Forward if you need dashboard access from outside the local network.                |
| SSH / terminal access                     | 22           | Forward only if you need remote terminal access.                                    |
| HTTP Proxies                              | 2001 to 200x | Forward if locally generated proxies must be usable from outside the local network. |
| SOCKS5 Proxies                            | 3001 to 300x |                                                                                     |

The generated proxy port range depends on the number of proxies.

For example:

* If you have 1 generated proxy, you may need port `2001` for HTTP Proxy and port `3001` for SOCKS5 Proxy.
* If you have 5 generated proxies, you may need ports `2001-2005` for HTTP Proxies and `3001-3005` for SOCKS5 Proxies.
* If you have 20 generated proxies, you may need ports `2001-2020` for HTTP Proxies and `3001-3020` for SOCKS5 Proxies.

Confirm the actual proxy ports shown in your Proxidize dashboard before creating rules.

## Create Port Forwarding Rules

The exact router menu depends on the router model, but the general process is similar.

{% stepper %}
{% step %}

### Log in to your router settings page.

{% endstep %}

{% step %}

### Find the port forwarding section.

Depending on the router, this may be called:

* **Port Forwarding**
* **Virtual Servers**
* **NAT Forwarding**
* **Advanced NAT**
* **Applications & Gaming**
  {% endstep %}

{% step %}

### Add a new rule.

{% endstep %}

{% step %}

### Enter the rule details.

| Field         | What to Enter                                          |
| ------------- | ------------------------------------------------------ |
| Service name  | A clear name, such as Proxidize Dashboard              |
| External port | The public port users will connect to                  |
| Internal IP   | The reserved local IP of the Proxidize server          |
| Internal port | The Proxidize service port on the server               |
| Protocol      | TCP, or Both if your router requires a combined option |
| Status        | Enabled                                                |
| {% endstep %} |                                                        |

{% step %}

### Save or apply the rule.

{% endstep %}

{% step %}

### Repeat the process for each required port or port range.

{% endstep %}
{% endstepper %}

> 💡**Note:** Some routers allow you to specify a port range to be forwarded. For example, you could forward ports `2001-2005` in one rule.

### TP-Link Example

On many TP-Link routers, port forwarding is located under:

`Advanced > NAT Forwarding > Virtual Servers`

From there:

1. Click **Add**.
2. Enter a service name.
3. Enter the external port.
4. Enter the Proxidize server's reserved local IP.
5. Enter the internal port.
6. Select the protocol.
7. Enable the rule.
8. Save the configuration.

![Router Settings TP-Link](/files/0d255b0d146da6125ab71264b5219edcab98998f)

## Example Rules

Use these examples as a starting point. Replace the internal IP with your Proxidize server's reserved local IP.

| Purpose          | External Port | Internal IP  | Internal Port | Protocol |
| ---------------- | ------------- | ------------ | ------------- | -------- |
| Dashboard access | 80            | 192.168.1.25 | 80            | TCP      |
| SSH access       | 22            | 192.168.1.25 | 22            | TCP      |
| Proxy 1          | 2001          | 192.168.1.25 | 2001          | TCP      |
| Proxy 2          | 2002          | 192.168.1.25 | 2002          | TCP      |
| Proxy 3          | 2003          | 192.168.1.25 | 2003          | TCP      |

> **💡Note:** If your router supports port ranges, you may be able to forward the proxy range in one rule.

Example:

| Purpose     | External Port Range | Internal IP  | Internal Port Range | Protocol |
| ----------- | ------------------- | ------------ | ------------------- | -------- |
| Proxy range | 2001-2020           | 192.168.1.25 | 2001-2020           | TCP      |

### Use the Correct Host for Remote Access

After forwarding ports, external users should connect using your public IP address or DDNS hostname.

For dashboard access:

`http://87.73.14.5`

or:

`http://mydomain.ddns.net`

For generated proxies:

| Proxy Field | Example                         |
| ----------- | ------------------------------- |
| Host        | 87.73.14.5 or mydomain.ddns.net |
| Port        | 2001                            |

> 💡**Note:** Do not use the Proxidize server's private IP, such as `192.168.1.25`, when connecting from outside the local network.

### Test Port Forwarding

After saving the rules:

1. Disconnect your test device from the local network, or use a device on a different internet connection.
2. Test the dashboard, proxy, or SSH connection using the public IP or DDNS hostname.
3. Confirm the service responds.

> **⚠️Warning:** Testing from inside the same network using the public IP may not always work because some routers do not support NAT loopback.

## ISP and Network Limitations

Port forwarding may not work if:

* Your ISP blocks inbound traffic on the selected ports.
* Your ISP uses CGNAT.
* Your router is behind another router.
* Your public IP changed and you are connecting to the old address.
* The forwarding rule points to the wrong internal IP.

If your router WAN IP does not match your public IP lookup, check for CGNAT or double NAT before troubleshooting the rules further.

For more details, see [Dynamic Public/WAN Addresses](/legacy-products/proxy-builder/advanced-configuration/dynamic-public-wan-addresses.md).

## Troubleshooting

| Issue                                        | What to Check                                                                     |
| -------------------------------------------- | --------------------------------------------------------------------------------- |
| Dashboard does not open remotely             | Confirm port 80 is forwarded to the Proxidize server's reserved local IP.         |
| Generated proxy does not connect remotely    | Confirm the specific proxy port is forwarded to the Proxidize server.             |
| SSH does not connect remotely                | Confirm port 22 is forwarded and SSH is installed and enabled on the server.      |
| Forwarding worked before but stopped         | Check whether the server local IP or public IP changed.                           |
| Router rule looks correct but port is closed | Check for ISP blocking, CGNAT, double NAT, or firewall rules.                     |
| Public IP works locally but not externally   | Test from a different network and check whether the router supports NAT loopback. |

### Related Articles

* [Understanding Public IPs, Private IPs, and Your Router IP Address](/legacy-products/proxy-builder/advanced-configuration/understanding-public-ips-private-ips-and-your-router-ip-address.md)
* [Local IP Reservation (DHCP)](/legacy-products/proxy-builder/advanced-configuration/local-ip-reservation-dhcp.md)
* [Dynamic Public/WAN Addresses](/legacy-products/proxy-builder/advanced-configuration/dynamic-public-wan-addresses.md)

## Need Help?

If you have any questions, concerns, or need further clarification, feel free to reach out to us via live chat or email us directly at <support@proxidize.com>.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.proxidize.com/legacy-products/proxy-builder/advanced-configuration/port-forwarding-and-triggering.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
