Skip to main content

Internet Gateway (IGW)

CAUTION

This is a beta feature

Introduction

Internet Gateway (IGW) is an element that routes traffic between your Telnyx network and the internet. It is intended to be used with certain other elements.

Creating an IGW

Step 1: Create a Network

Follow this guide.

Step 2: Check for Coverage

Follow this guide.

Use filter[available_services][contains]=public_internet_gateway to look for a desired site at which to deploy the IGW. frankfurt-de is chosen for the subsequent steps.

Step 3: Create an IGW

Using the network created from Step 1 and the chosen region from Step 2, create the IGW.

CAUTION

Once an IGW is created on a specific network, it cannot be "migrated" to another one; it needs to be recreated on the other network. Double check the correct network_id is used in the following API request.

POST /v2/public_internet_gateways HTTP/1.1
Host: api.telnyx.com
Content-Type: application/json
Authorization: Bearer XXX
Content-Length: 125

{
"network_id": "5647b6cf-b204-42d6-9c63-f2fd12253113",
"name": "my_first_igw",
"region_code": "frankfurt-de"
}

It's not yet ready to be used immediately after the creation since its status is provisioning.

{
"data": {
"created_at": "2024-08-01T14:36:39.938006Z",
"region_code": "frankfurt-de",
"name": "my_first_igw",
"network_id": "5647b6cf-b204-42d6-9c63-f2fd12253113",
"id": "06d65677-f1aa-43b6-8a6c-4f1abfe93754",
"status": "provisioning",
"updated_at": "2024-08-01T14:36:41.497785Z",
"record_type": "public_internet_gateway",
"public_ip": "64.16.243.172"
}
}

Step 4: Wait for Status Transition

The expected time for status to transition to provisioned is approximately 10 minutes. You can poll the IGW to check for status.

GET /v2/public_internet_gateways/{{igw_uuid}} HTTP/1.1
Host: api.telnyx.com
Authorization: Bearer XXX

Use Cases

Use Case 1: Pure play VPN

Internet Gateway (IGW) can be used with Wireguard Gateway (WGW) to create a simple VPN service.

  1. Set up an IGW
  2. Set up a WGW and a peer.
  3. On the peer, amend its config with:
    • DNS — choose your resolver. In the following example, 8.8.8.8 is chosen.
    • AllowedIPs — append with 0.0.0.0/0 so that reachability is beyond the private subnet.

Here is an example config of the peer.

[Interface]
PrivateKey = XXX
Address = 172.27.0.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = YYY
AllowedIPs = 172.27.0.0/24, 0.0.0.0/0
Endpoint = 64.16.243.7:5022
PersistentKeepalive = 1

Deactivate and reactivate your Wireguard tunnel. You should see the IGW’s public IP showing up when you query what your public IP is.

user@localhost ~ % dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
"64.16.243.172"

Use Case 2: IGW + Private Wireless Gateway (PWG)

Coming Soon.

Costs

  • The monthly recurring cost (MRC) for each instance of IGW is $50.
  • Traffic is not currently metered in beta phase. We will meter traffic in GA phase.

API References