Service exposure

From Gentoo Wiki
Jump to:navigation Jump to:search

This article introduces several ways to expose local services to devices on other networks.

Rationale

Each device on the internet has a unique IPv4 address. Because IPv4 addresses can only address a maximum of about 4.4 billion devices, some internet service providers (ISPs) place NAT gateways between their customers' devices and the internet, in order to hide multiple devices behind one IPv4 address. In some cases, these NAT gateways run firewalls that prevent outside devices from establishing connections with devices on the ISPs' networks.[1]

Before NAT, enabling port forwarding was all that was needed to expose a service to the internet. With NAT, this is no longer a solution.

Available software and articles

Name Package Homepage Description
Tailscale net-vpn/tailscale https://tailscale.com/ A VPN. Offers a free plan with no bandwidth restrictions; no private server needed. Offers fast speeds across all but the most complex network boundaries. Can expose one service per device to the entire internet.
ZeroTier net-vpn/wireguard-tools https://wireguard.com/ Similar to Tailscale. No option to expose services to the internet.
Wireguard net-misc/zerotier https://wireguard.com/ Self-hosted; a private server is needed. Offers fast speeds, with no traffic flowing through the private server in some cases.

External resources

References