May 13, 2025 — Linode Interfaces and firewall templates (BETA)
This release introduces Linode Interfaces and firewall templates.
Linode Interfaces offer an alternative to the existing Configuration Profile Interfaces for Linode networking. Both interface types support the creation of Public, VPC and VLAN network interfaces, but they differ in the following ways:
- Interface management endpoints. Configuration Profile interfaces are managed using the Interfaces endpoints, while Linode interfaces are managed using the new Linode Interfaces endpoints.
- Power settings Linode Interface addresses can only be created, deleted, or updated when the Linode is powered off. This ensures a clear and reliable association between the Linode and its network interface settings. In contrast, Configuration Profile Interfaces do not require the Linode to be powered off to make changes; however, any changes will only take effect after the Linode is rebooted.
- Cloud Firewall integration. Linode Interfaces allow you to assign a Cloud Firewall directly to the interface. Firewall templates are available for both VPC and public interfaces, and include pre-configured protection rules. For Configuration Profile Interfaces, Cloud Firewalls are assigned at the Linode level, and the same firewall rules apply to all non-VLAN interfaces in the profile.
Linode Instances
Added
Linode Interfaces. Added new endpoints for configuring and getting information for Linode interfaces. New operations and responses:
- List Linode interfaces. GET /linode/instances/{linodeId}/interfaces
- Add a Linode interface. POST /linode/instances/{linodeId}/interfaces
- List Linode interface settings. GET /linode/instances/{linodeId}/interfaces/settings
- Update Linode interface settings. PUT /linode/instances/{linodeId}/interfaces/settings
- Get a Linode interface. GET /linode/instances/{linodeId}/interfaces/{InterfacesId}
- Update a Linode interface. PUT /linode/instances/{linodeId}/interfaces/{interfacesId}
- Delete a Linode interface. DELETE /linode/instances/{linodeId}/interfaces/{interfacesId}
- List Linode interface firewalls. GET /linode/instances/{linodeId}/interfaces/{id}/firewalls
- Upgrade to Linode interfaces. POST /linode/instances/{linodeId}/upgrade-interfaces
This upgrade is an irreversible operation
Once a Linode has been upgraded to use Linode interfaces, legacy configuration profile interfaces can't be used. This means that the Linode can no longer be used with Linode products that require private IPs (e.g., NodeBalancer). You can use
dry_run
to preview the upgrade.
Changed
Linode Instances. Endpoint updates and additional information related to Linode interfaces have been added to the following APIs:
- Create a Linode. POST /linode/instances
- Added the
interface_generation
field. This field lets you select one interface type for new Linodes when both legacy configuration profile interfaces and Linode interfaces options are available on your account.If the
interface_generation
option is set tolinode
, and an interface is created, or the legacy configuration profile interfaces are upgraded, the Linode can't uselegacy_config
interfaces again. - Linode interface objects for VPC, VLAN and public have been added to the
interfaces
field.
- Added the
- List Linodes. GET linode/instances and Get a Linode. GET linode/instances/{linodeId}
- Added the
interface_generation
field to the response. This value indicates if the Linode is configured to uselinode
interfaces orlegacy_config
interfaces.
- Added the
- Boot a Linode. POST linode/instances/{linodeId}/boot
- If the Linode is using Linode interfaces, where
interface_generation
is set aslinode
, an error is returned if the Linode has to boot without any interface defined.
- If the Linode is using Linode interfaces, where
- Reboot a Linode. POST linode/instances/{linodeId}/reboot
- If the Linode is using Linode interfaces, where
interface_generation
is set aslinode
, an error is returned if the Linode has to reboot without any interface defined.
- If the Linode is using Linode interfaces, where
- Boot a Linode into rescue mode. POST linode/instances/{linodeId}/rescue
- Linodes with legacy configuration interfaces receive a public IP and boot into the recovery Linux distribution. Linodes with Linode interfaces still boot into recovery mode with the recovery Linux distribution, but they retain their original network interfaces and settings from before entering rescue mode.
- Clone a Linode. POST linode/instances/{linodeId}/clone
- For Linodes using Linode interfaces, the clone needs to be located in a region that supports Linode interfaces (see GET a region).
- The account settings needs to allow creation of Linodes with Linode interfaces.
- Initiate a DC migration/pending host migration. POST linode/instances/{linodeId}/migrate
- If the Linode is using Linode interfaces, the destination region needs to also support Linode interfaces.
- After migrating to a different data center, Linode public interfaces retain the same number of IP addresses, but the IP addresses themselves are changed.
- Rebuild a Linode. POST linode/instances/{linodeId}/rebuild
- Linode interfaces are not changed during a rebuild.
Configurations. Endpoint updates and additional information related to Linode interfaces have been added to the following APIs:
- List configuration profiles. GET linode/instances/{linodeId}/configs
- In the response,
null
is returned forinterfaces
andnetwork
for Linode interfaces.
- In the response,
- Get a configuration profile. GET linode/instances/{linodeId}/configs/{id}
- In the response,
null
is returned forinterfaces
andnetwork
for Linode interfaces.
- In the response,
- Create a configuration profile. POST linode/instances/{id}/config/{linodeId}/interfaces
- This API is for legacy configuration profile interfaces only, and not Linode interfaces.
- Update a configuration profile. PUT linode/instances/{linodeId}/configs/{configId}
- In the request,
interfaces
andnetwork
can't be updated for Linode interfaces. - In the response,
null
is returned forinterfaces
andnetwork
for Linode interfaces.
- In the request,
IP addresses. Endpoint updates and additional information related to Linode interfaces have been added to the following APIs:
- Get a Linode's IP address. GET linode/instances/{linodeId}/ips
- If the IP is assigned to a Linode interface, the
interface_id
is included in the response. For legacy config profile interfaces, the value isnull
.
- If the IP is assigned to a Linode interface, the
- Delete an IPv4 address. DELETE linode/instances/{linodeId}/ips/{address}
- This operation can't be used to delete an IP assigned to a Linode interface, use the update the Linode interface operation instead.
Networking - Firewalls
Added
Firewall templates. New endpoints to list available firewall templates or to get a specific firewall template type. Firewall templates can be used with Linode VPC and public interfaces. Firewall templates come with some protection rules already configured. New operations and responses:
- List firewall templates. GET /networking/firewalls/templates
- Get a firewall template. GET /networking/firewalls/templates/{slug}
Firewall settings. Added new endpoints to get or update the default firewalls for Linodes, Linode interfaces, and NodeBalancers.
- Get default firewalls. GET networking/firewalls/settings
- Update default firewalls. PUT networking/firewalls/settings
Changed
- Create a firewall. POST /networking/firewalls
- Added Linode
interfaces
to thedevices
object. For Linodes using Linode interfaces, firewalls need to be assigned tointerfaces
and notlinodes
.
- Added Linode
- Update a firewall. PUT networking/firewalls/{firewallId}
- An assigned default firewall can't be disabled.
- Delete a firewall device. DELETE networking/firewalls/{firewallId}
- An assigned default firewall can't be deleted.
- List firewall devices. GET networking/firewalls/{firewallId}/devices
- Added
interface
to theentity
objecttype
.
- Added
- Create a firewall device. POST networking/firewalls/{firewallId}/devices
- Added
interface
to the list of supported devices.
-linode
. Is not allowed for Linodes using Linode interfaces.
-interface
. Is not allowed for legacy config interfaces.
- Added
- Get a firewall device. GET networking/firewalls/{firewallId}/devices/{deviceId}
- Added
interface
to theentity
objecttype
.
- Added
Networking - IPs
Changed
- Allocate an IP address. POST networking/ips
- This API can't be used for Linodes with Linode interfaces. To allocate an IP for a Linode with Linode interfaces, use the Add a Linode interface operation and set the public IPv4 address to
auto
. - Added
interface_id
response field. Aninterface_id
is returned if the IP address belongs to a Linode interface. This value isnull
if a Linode interface is not assigned or if the IP is assigned to a legacy configuration profile interface.
- This API can't be used for Linodes with Linode interfaces. To allocate an IP for a Linode with Linode interfaces, use the Add a Linode interface operation and set the public IPv4 address to
- List IP addresses GET networking/ips
- This API now returns public IP addresses for both Linode interfaces and Linodes.
- Added the Linode
interface_id
field. Aninterface_id
is returned if the IP address belongs to a Linode interface. This value isnull
if a Linode interface is not assigned or if the IP is assigned to a legacy configuration profile interface.
- Get an IP address. GET networking/ips/{address}
- Added the Linode
interface_id
field. Aninterface_id
is returned if the IP address belongs to a Linode interface. This value isnull
if a Linode interface is not assigned or if the IP is assigned to a legacy configuration profile interface.
- Added the Linode
- Assign IP addresses. POST networking/ips/assign
- For Linode interfaces, the Linode needs to have a public interface and the address it receives can't be a private IPv4 address.
- Assign IPv4s to Linodes. POST networking/ipv4/assign
- For Linode interfaces, the Linode needs to have a public interface and the address it receives can't be a private IPv4 address.
- Share IP addresses. POST networking/ips/share
- A public IPv4 address can't be shared if it's configured for a 1:1 NAT on a
vpc
-purpose configuration profile interface or on a VPC Linode interface.
- A public IPv4 address can't be shared if it's configured for a 1:1 NAT on a
- Configure IPv4 sharing. POST networking/ipv4/share
- A public IPv4 address can't be shared if it's configured for a 1:1 NAT on a
vpc
-purpose configuration profile interface or on a VPC Linode interface.
- A public IPv4 address can't be shared if it's configured for a 1:1 NAT on a
Networking - VLANs
Changed
- List VLANs. GET /networking/vlans
- This endpoint now lists VLANs interfaces from both legacy configuration profiles and Linode interfaces.
VPCs
Changed
- List VPCs. GET /vpcs and Get a VPC. GET /vpcs/{vpcId}
- Added
config_id
, the globally general entity ID for the Linode configuration profile where the VPC is included. If this is a VPC Linode interface, the value isnull
.
- Added
- List VPC subnets. GET /vpcs/{vpcId}/subnets and Get a VPC subnet. GET /vpcs/{vpcId}/subnets/{vpcSubnetId}
- Added
config_id
, the globally general entity ID for the Linode configuration profile where the VPC is included. If this is a VPC Linode interface, the value isnull
.
- Added
- List VPC IP addresses.GET /vpcs/ips and List a VPC's IP addresses. GET /vpcs/{vpcId}/ips
- If
config_id
isnull
, it indicates that this is a VPC Linode interface.
- If
Accounts
Changed
Accounts settings. You can now view and update the interfaces to use on new Linodes. New operations and responses:
- Get account settings. GET /account/settings
- Added the
interfaces_for_new_linodes
field to the response. This value indicates if new Linodes created on the account can use legacy configuration interfaces.
- Added the
- Update account settings. PUT /account/settings
- Added the
interfaces_for_new_linodes
field to the request and response. This value indicates if new Linodes created on the account can use legacy configuration interfaces.
- Added the
Service transfers. Added "VPC interface" and "/32" IPv6 range to the list of conditions that prevent service transfers.
- Request a service transfer. POST /account/service-transfers
Regions
Changed
- List regions. GET /regions
- Added
Linode Interfaces
to the list of capabilities that may be available in a region.
- Added