Tools for creating and managing STUN servers
Puppet Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


These are script for maintaining VMs running stun servers.

Mozilla uses this to provide public STUN (RFC 5389) servers
for use with WebRTC ICE (RFC 5245) NAT traversal.

== Build ==

Use the rpm spec file and patches to build the stun server,
and deploy it with the puppet manifest.

The RPM we build is based off the EPEL version, with the NAT
patch from here:

== AWS setup ==

To provision an instance with a single public IP (no vpc required):

1. yum install puppet
2. git clone <this repo>
3. puppet apply --modulepath=<repobase>/puppet/modules <repobase>/puppet/bootstrap.pp

Make sure the security group for that the instance has:
  - inbound rules for UDP and TCP port 3478 from any source
  - optionally rules for ICMP echo requests
  - optionally a rule for ssh if you need to log in

This should leave you with a fully functioning stun server. Verify with:

4. stun-client <public-ip>

You probably want to bind an elastic IP to the instance.

Logs are at /service/stun-server/log/main/current.