Testing Pomerium UDP Tunnels with Ethr
Since v0.29.0 Pomerium supports tunneling UDP traffic. This example demonstrates how to do this using Ethr, a network performance measurement tool.
You will need two machines: one running the Ethr client and the Pomerium CLI, and another running the Ethr server and Pomerium. Replace ethr.corp.example.com
with your domain name.
Server
-
Install Pomerium
-
Enable QUIC by setting
codec_type
tohttp3
codec_type: http3
QUICPomerium also supports UDP tunneling with
http1
orauto
(the default), but usinghttp3
significantly improves performance. -
Add a UDP route on port 8888
- routes:
from: udp+https://ethr.corp.example.com:8888
to: udp://127.0.0.1:8888
allow_any_authenticated_user: true -
Run Pomerium
-
Run the Ethr server
ethr -s
Client
-
Install the Pomerium CLI
-
Start a UDP tunnel
pomerium-cli udp ethr.corp.example.com:8888 --listen :8888
TLS issuesIf you don't have a valid certificate use
--disable-tls-verification
. -
Run the Ethr client
ethr -c localhost -p udp -b 1M -l 1k -d 5s
You should see packets arrive at the Ethr server demonstrating that UDP tunneling is working.